mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
arm64: dts: rockchip: describe the OV8858 user camera on PinePhone Pro
Add the description of the front/user camera (OV8858) on the PinePhone Pro to the device dts file. It receives commands over SCCB, an I2C-compatible protocol, at I2C address 0x36 and transmits data over CSI-MIPI. I confirmed this address experimentally. The pin control mapping was again extracted from the PinePhone Pro schematic v1.0 as well as the RK3399 datasheet revision 1.8. Table 2-3 in section 2.8 of the RK3399 datasheet contains the mapping of IO functions for the SoC pins. Page 52 shows GPIO1_A4, page 54 shows GPIO2_B4. For the reset (RESET) signal: page 11 quadrant D2 | p.18 q.B3-4 | p.18 q.C2 RK3399_E.R28 -> GPIO1_A4 -> Camera2_RST -> MIPI_RST1 -> OV8858.12 For the powerdown (PWDN) signal: page 9 quadrants D4-5 | p.18 q.B2 RK3399_L.F31 -> GPIO2_B4 -> DVP_PDN0_H -> OV8858.14 Helped-by: Dragan Simic <dsimic@manjaro.org> Co-developed-by: Ondrej Jirman <megi@xff.cz> Signed-off-by: Ondrej Jirman <megi@xff.cz> Signed-off-by: Olivier Benjamin <olivier.benjamin@bootlin.com> Link: https://lore.kernel.org/r/20250620-camera-v4-4-0201a8ed5fae@bootlin.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
parent
9336eb829a
commit
b45f9f910a
|
|
@ -480,6 +480,27 @@ wcam_lens: camera-lens@c {
|
|||
/* Same I2c bus as both cameras, depends on vcca1v8_codec for power. */
|
||||
vcc-supply = <&vcc1v8_dvp>;
|
||||
};
|
||||
|
||||
ucam: camera@36 {
|
||||
compatible = "ovti,ov8858";
|
||||
reg = <0x36>;
|
||||
clocks = <&cru SCLK_CIF_OUT>; /* MIPI_MCLK1, derived from CIF_CLK0 */
|
||||
clock-names = "xvclk";
|
||||
dovdd-supply = <&vcc1v8_dvp>;
|
||||
orientation = <0>; /* V4L2_CAMERA_ORIENTATION_FRONT */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&camera2_rst_l &dvp_pdn0_h>;
|
||||
powerdown-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
reset-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
rotation = <90>;
|
||||
|
||||
port {
|
||||
ucam_out: endpoint {
|
||||
data-lanes = <1 2 3 4>;
|
||||
remote-endpoint = <&mipi_in_ucam>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
|
|
@ -524,6 +545,24 @@ &io_domains {
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&isp0 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
mipi_in_ucam: endpoint@0 {
|
||||
reg = <0>;
|
||||
data-lanes = <1 2 3 4>;
|
||||
remote-endpoint = <&ucam_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&isp0_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&isp1 {
|
||||
status = "okay";
|
||||
|
||||
|
|
@ -596,10 +635,16 @@ lcd1_rst_pin: lcd1-rst-pin {
|
|||
};
|
||||
};
|
||||
|
||||
camera {
|
||||
cameras {
|
||||
camera_rst_l: camera-rst-l {
|
||||
rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
camera2_rst_l: camera2-rst-l {
|
||||
rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
dvp_pdn0_h: dvp-pdn0-h {
|
||||
rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user