Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e24d208d authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Kukjin Kim
Browse files

ARM: S5P: Extend MIPI-CSIS platform_data with the PHY control callback



Extend MIPI-CSIS driver's platform data structure with a callback
for D-PHY enable and reset control. Also add a flag indicating
whether the external MIPI-CSI (VDD18_MIPI) power supply should
be managed in the driver through the "vdd" power supply. On some
boards this regulator may be a fixed voltage regulator without
an inhibit function.

Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 03c4cd39
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -11,18 +11,33 @@
#ifndef PLAT_S5P_MIPI_CSIS_H_
#define PLAT_S5P_MIPI_CSIS_H_ __FILE__

struct platform_device;

/**
 * struct s5p_platform_mipi_csis - platform data for S5P MIPI-CSIS driver
 * @clk_rate: bus clock frequency
 * @lanes: number of data lanes used
 * @alignment: data alignment in bits
 * @hs_settle: HS-RX settle time
 * @fixed_phy_vdd: false to enable external D-PHY regulator management in the
 *		   driver or true in case this regulator has no enable function
 * @phy_enable: pointer to a callback controlling D-PHY enable/reset
 */
struct s5p_platform_mipi_csis {
	unsigned long clk_rate;
	u8 lanes;
	u8 alignment;
	u8 hs_settle;
	bool fixed_phy_vdd;
	int (*phy_enable)(struct platform_device *pdev, bool on);
};

/**
 * s5p_csis_phy_enable - global MIPI-CSI receiver D-PHY control
 * @pdev: MIPI-CSIS platform device
 * @on: true to enable D-PHY and deassert its reset
 *	false to disable D-PHY
 */
int s5p_csis_phy_enable(struct platform_device *pdev, bool on);

#endif /* PLAT_S5P_MIPI_CSIS_H_ */