File Index
Files and directories
Sign in
FILE

px30-ringneck-haikou-video-demo.dtso

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-video-demo.dtso PLAIN TEXT
  1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2/*
  3 * Copyright (c) 2025 Cherry Embedded Solutions GmbH
  4 *
  5 * DEVKIT ADDON CAM-TS-A01
  6 * https://embedded.cherry.de/product/development-kit/
  7 *
  8 * DT-overlay for the camera / DSI demo appliance for Haikou boards.
  9 * In the flavour for use with a Ringneck system-on-module.
 10 */
 11
 12/dts-v1/;
 13/plugin/;
 14
 15#include <dt-bindings/clock/px30-cru.h>
 16#include <dt-bindings/gpio/gpio.h>
 17#include <dt-bindings/interrupt-controller/irq.h>
 18#include <dt-bindings/leds/common.h>
 19#include <dt-bindings/pinctrl/rockchip.h>
 20
 21&{/} {
 22	backlight: backlight {
 23		compatible = "pwm-backlight";
 24		power-supply = <&dc_12v>;
 25		pwms = <&pwm0 0 25000 0>;
 26	};
 27
 28	cam_afvdd_2v8: regulator-cam-afvdd-2v8 {
 29		compatible = "regulator-fixed";
 30		gpio = <&pca9670 2 GPIO_ACTIVE_LOW>;
 31		regulator-max-microvolt = <2800000>;
 32		regulator-min-microvolt = <2800000>;
 33		regulator-name = "cam-afvdd-2v8";
 34		vin-supply = <&vcc2v8_video>;
 35	};
 36
 37	cam_avdd_2v8: regulator-cam-avdd-2v8 {
 38		compatible = "regulator-fixed";
 39		gpio = <&pca9670 4 GPIO_ACTIVE_LOW>;
 40		regulator-max-microvolt = <2800000>;
 41		regulator-min-microvolt = <2800000>;
 42		regulator-name = "cam-avdd-2v8";
 43		vin-supply = <&vcc2v8_video>;
 44	};
 45
 46	cam_dovdd_1v8: regulator-cam-dovdd-1v8 {
 47		compatible = "regulator-fixed";
 48	        gpio = <&pca9670 3 GPIO_ACTIVE_LOW>;
 49	        regulator-max-microvolt = <1800000>;
 50	        regulator-min-microvolt = <1800000>;
 51	        regulator-name = "cam-dovdd-1v8";
 52	        vin-supply = <&vcc1v8_video>;
 53	};
 54
 55	cam_dvdd_1v2: regulator-cam-dvdd-1v2 {
 56		compatible = "regulator-fixed";
 57		enable-active-high;
 58		gpio = <&pca9670 5 GPIO_ACTIVE_HIGH>;
 59		regulator-max-microvolt = <1200000>;
 60		regulator-min-microvolt = <1200000>;
 61		regulator-name = "cam-dvdd-1v2";
 62		vin-supply = <&vcc3v3_baseboard>;
 63	};
 64
 65	vcc1v8_video: regulator-vcc1v8-video {
 66		compatible = "regulator-fixed";
 67		regulator-always-on;
 68		regulator-boot-on;
 69		regulator-max-microvolt = <1800000>;
 70		regulator-min-microvolt = <1800000>;
 71		regulator-name = "vcc1v8-video";
 72		vin-supply = <&vcc3v3_baseboard>;
 73	};
 74
 75	vcc2v8_video: regulator-vcc2v8-video {
 76		compatible = "regulator-fixed";
 77		regulator-always-on;
 78		regulator-boot-on;
 79		regulator-max-microvolt = <2800000>;
 80		regulator-min-microvolt = <2800000>;
 81		regulator-name = "vcc2v8-video";
 82		vin-supply = <&vcc3v3_baseboard>;
 83	};
 84
 85	video-adapter-leds {
 86		compatible = "gpio-leds";
 87
 88		video-adapter-led {
 89			color = <LED_COLOR_ID_BLUE>;
 90			gpios = <&pca9670 7 GPIO_ACTIVE_HIGH>;
 91			label = "video-adapter-led";
 92			linux,default-trigger = "none";
 93		};
 94	};
 95};
 96
 97&cif_clkout_m0 {
 98	rockchip,pins =
 99		<2 RK_PB3 1 &pcfg_pull_none_12ma>;
100};
101
102&csi_dphy {
103	status = "okay";
104};
105
106&display_subsystem {
107	status = "okay";
108};
109
110&dsi {
111	#address-cells = <1>;
112	#size-cells = <0>;
113	status = "okay";
114
115	panel@0 {
116		compatible = "leadtek,ltk050h3148w";
117		reg = <0>;
118		backlight = <&backlight>;
119		iovcc-supply = <&vcc1v8_video>;
120		reset-gpios = <&pca9670 0 GPIO_ACTIVE_LOW>;
121		vci-supply = <&vcc2v8_video>;
122
123		port {
124			mipi_in_panel: endpoint {
125				remote-endpoint = <&mipi_out_panel>;
126			};
127		};
128	};
129};
130
131&dsi_dphy {
132	status = "okay";
133};
134
135&dsi_out {
136	mipi_out_panel: endpoint {
137		remote-endpoint = <&mipi_in_panel>;
138	};
139};
140
141&i2c1 {
142	#address-cells = <1>;
143	#size-cells = <0>;
144	/* OV5675, GT911, DW9714 are limited to 400KHz */
145	clock-frequency = <400000>;
146
147	focus: focus@c {
148		compatible = "dongwoon,dw9714";
149		reg = <0xc>;
150		vcc-supply = <&cam_afvdd_2v8>;
151	};
152
153	touchscreen@14 {
154		compatible = "goodix,gt911";
155		reg = <0x14>;
156		interrupt-parent = <&gpio0>;
157		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
158		irq-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
159		pinctrl-0 = <&touch_int>;
160		pinctrl-names = "default";
161		reset-gpios = <&pca9670 1 GPIO_ACTIVE_HIGH>;
162		AVDD28-supply = <&vcc2v8_video>;
163		VDDIO-supply = <&vcc3v3_baseboard>;
164	};
165
166	pca9670: gpio@27 {
167		compatible = "nxp,pca9670";
168		reg = <0x27>;
169		gpio-controller;
170		#gpio-cells = <2>;
171		pinctrl-0 = <&pca9670_resetn>;
172		pinctrl-names = "default";
173		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
174	};
175
176	camera@36 {
177		compatible = "ovti,ov5675";
178		reg = <0x36>;
179		clocks = <&cru SCLK_CIF_OUT>;
180		assigned-clocks = <&cru SCLK_CIF_OUT>;
181		/* Only parent to get exactly 19.2MHz */
182		assigned-clock-parents = <&cru USB480M>;
183		assigned-clock-rates = <19200000>;
184		avdd-supply = <&cam_avdd_2v8>;
185		dvdd-supply = <&cam_dvdd_1v2>;
186		dovdd-supply = <&cam_dovdd_1v8>;
187		lens-focus = <&focus>;
188		orientation = <0>;
189		pinctrl-names = "default";
190		pinctrl-0 = <&cif_clkout_m0>;
191		reset-gpios = <&pca9670 6 GPIO_ACTIVE_LOW>;
192		rotation = <180>;
193
194		port {
195			cam_out: endpoint {
196				data-lanes = <1 2>;
197				link-frequencies = /bits/ 64 <450000000>;
198				remote-endpoint = <&mipi_in_cam>;
199			};
200		};
201	};
202};
203
204&isp {
205	status = "okay";
206};
207
208&isp_in {
209	mipi_in_cam: endpoint {
210		data-lanes = <1 2>;
211		remote-endpoint = <&cam_out>;
212	};
213};
214
215&pinctrl {
216	pca9670 {
217		pca9670_resetn: pca9670-resetn {
218			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
219		};
220	};
221
222	touch {
223		touch_int: touch-int {
224			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
225		};
226	};
227};
228
229&vopb {
230	status = "okay";
231};
232
233&vopb_mmu {
234	status = "okay";
235};
236
237&vopl {
238	status = "okay";
239};
240
241&vopl_mmu {
242	status = "okay";
243};
~/ Read-only file preview.