18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * S5K6AAFX camera sensor driver header
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2011 Samsung Electronics Co., Ltd.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef S5K6AA_H
98c2ecf20Sopenharmony_ci#define S5K6AA_H
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include <media/v4l2-mediabus.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/**
148c2ecf20Sopenharmony_ci * struct s5k6aa_gpio - data structure describing a GPIO
158c2ecf20Sopenharmony_ci * @gpio:  GPIO number
168c2ecf20Sopenharmony_ci * @level: indicates active state of the @gpio
178c2ecf20Sopenharmony_ci */
188c2ecf20Sopenharmony_cistruct s5k6aa_gpio {
198c2ecf20Sopenharmony_ci	int gpio;
208c2ecf20Sopenharmony_ci	int level;
218c2ecf20Sopenharmony_ci};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci/**
248c2ecf20Sopenharmony_ci * struct s5k6aa_platform_data - s5k6aa driver platform data
258c2ecf20Sopenharmony_ci * @set_power:   an additional callback to the board code, called
268c2ecf20Sopenharmony_ci *               after enabling the regulators and before switching
278c2ecf20Sopenharmony_ci *               the sensor off
288c2ecf20Sopenharmony_ci * @mclk_frequency: sensor's master clock frequency in Hz
298c2ecf20Sopenharmony_ci * @gpio_reset:  GPIO driving RESET pin
308c2ecf20Sopenharmony_ci * @gpio_stby:   GPIO driving STBY pin
318c2ecf20Sopenharmony_ci * @nlanes:      maximum number of MIPI-CSI lanes used
328c2ecf20Sopenharmony_ci * @horiz_flip:  default horizontal image flip value, non zero to enable
338c2ecf20Sopenharmony_ci * @vert_flip:   default vertical image flip value, non zero to enable
348c2ecf20Sopenharmony_ci */
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_cistruct s5k6aa_platform_data {
378c2ecf20Sopenharmony_ci	int (*set_power)(int enable);
388c2ecf20Sopenharmony_ci	unsigned long mclk_frequency;
398c2ecf20Sopenharmony_ci	struct s5k6aa_gpio gpio_reset;
408c2ecf20Sopenharmony_ci	struct s5k6aa_gpio gpio_stby;
418c2ecf20Sopenharmony_ci	enum v4l2_mbus_type bus_type;
428c2ecf20Sopenharmony_ci	u8 nlanes;
438c2ecf20Sopenharmony_ci	u8 horiz_flip;
448c2ecf20Sopenharmony_ci	u8 vert_flip;
458c2ecf20Sopenharmony_ci};
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci#endif /* S5K6AA_H */
48