xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3399-puma-haikou-video-demo.dtso (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
18ccc0d23SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28ccc0d23SEmmanuel Vadot/*
38ccc0d23SEmmanuel Vadot * Copyright (c) 2025 Cherry Embedded Solutions GmbH
48ccc0d23SEmmanuel Vadot *
58ccc0d23SEmmanuel Vadot * DEVKIT ADDON CAM-TS-A01
68ccc0d23SEmmanuel Vadot * https://embedded.cherry.de/product/development-kit/
78ccc0d23SEmmanuel Vadot *
88ccc0d23SEmmanuel Vadot * DT-overlay for the camera / DSI demo appliance for Haikou boards.
98ccc0d23SEmmanuel Vadot * In the flavour for use with a Puma system-on-module.
108ccc0d23SEmmanuel Vadot */
118ccc0d23SEmmanuel Vadot
128ccc0d23SEmmanuel Vadot/dts-v1/;
138ccc0d23SEmmanuel Vadot/plugin/;
148ccc0d23SEmmanuel Vadot
158ccc0d23SEmmanuel Vadot#include <dt-bindings/clock/rk3399-cru.h>
168ccc0d23SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
178ccc0d23SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
188ccc0d23SEmmanuel Vadot#include <dt-bindings/leds/common.h>
198ccc0d23SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
208ccc0d23SEmmanuel Vadot
218ccc0d23SEmmanuel Vadot&{/} {
228ccc0d23SEmmanuel Vadot	backlight: backlight {
238ccc0d23SEmmanuel Vadot		compatible = "pwm-backlight";
248ccc0d23SEmmanuel Vadot		power-supply = <&dc_12v>;
258ccc0d23SEmmanuel Vadot		pwms = <&pwm0 0 25000 0>;
268ccc0d23SEmmanuel Vadot	};
278ccc0d23SEmmanuel Vadot
288ccc0d23SEmmanuel Vadot	cam_afvdd_2v8: regulator-cam-afvdd-2v8 {
298ccc0d23SEmmanuel Vadot		compatible = "regulator-fixed";
308ccc0d23SEmmanuel Vadot		gpio = <&pca9670 2 GPIO_ACTIVE_LOW>;
318ccc0d23SEmmanuel Vadot		regulator-max-microvolt = <2800000>;
328ccc0d23SEmmanuel Vadot		regulator-min-microvolt = <2800000>;
338ccc0d23SEmmanuel Vadot		regulator-name = "cam-afvdd-2v8";
348ccc0d23SEmmanuel Vadot		vin-supply = <&vcc2v8_video>;
358ccc0d23SEmmanuel Vadot	};
368ccc0d23SEmmanuel Vadot
378ccc0d23SEmmanuel Vadot	cam_avdd_2v8: regulator-cam-avdd-2v8 {
388ccc0d23SEmmanuel Vadot		compatible = "regulator-fixed";
398ccc0d23SEmmanuel Vadot		gpio = <&pca9670 4 GPIO_ACTIVE_LOW>;
408ccc0d23SEmmanuel Vadot		regulator-max-microvolt = <2800000>;
418ccc0d23SEmmanuel Vadot		regulator-min-microvolt = <2800000>;
428ccc0d23SEmmanuel Vadot		regulator-name = "cam-avdd-2v8";
438ccc0d23SEmmanuel Vadot		vin-supply = <&vcc2v8_video>;
448ccc0d23SEmmanuel Vadot	};
458ccc0d23SEmmanuel Vadot
468ccc0d23SEmmanuel Vadot	cam_dovdd_1v8: regulator-cam-dovdd-1v8 {
478ccc0d23SEmmanuel Vadot		compatible = "regulator-fixed";
488ccc0d23SEmmanuel Vadot	        gpio = <&pca9670 3 GPIO_ACTIVE_LOW>;
498ccc0d23SEmmanuel Vadot	        regulator-max-microvolt = <1800000>;
508ccc0d23SEmmanuel Vadot	        regulator-min-microvolt = <1800000>;
518ccc0d23SEmmanuel Vadot	        regulator-name = "cam-dovdd-1v8";
528ccc0d23SEmmanuel Vadot	        vin-supply = <&vcc1v8_video>;
538ccc0d23SEmmanuel Vadot	};
548ccc0d23SEmmanuel Vadot
558ccc0d23SEmmanuel Vadot	cam_dvdd_1v2: regulator-cam-dvdd-1v2 {
568ccc0d23SEmmanuel Vadot		compatible = "regulator-fixed";
578ccc0d23SEmmanuel Vadot		enable-active-high;
588ccc0d23SEmmanuel Vadot		gpio = <&pca9670 5 GPIO_ACTIVE_HIGH>;
598ccc0d23SEmmanuel Vadot		regulator-max-microvolt = <1200000>;
608ccc0d23SEmmanuel Vadot		regulator-min-microvolt = <1200000>;
618ccc0d23SEmmanuel Vadot		regulator-name = "cam-dvdd-1v2";
628ccc0d23SEmmanuel Vadot		vin-supply = <&vcc3v3_baseboard>;
638ccc0d23SEmmanuel Vadot	};
648ccc0d23SEmmanuel Vadot
658ccc0d23SEmmanuel Vadot	vcc1v8_video: regulator-vcc1v8-video {
668ccc0d23SEmmanuel Vadot		compatible = "regulator-fixed";
678ccc0d23SEmmanuel Vadot		regulator-always-on;
688ccc0d23SEmmanuel Vadot		regulator-boot-on;
698ccc0d23SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
708ccc0d23SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
718ccc0d23SEmmanuel Vadot		regulator-name = "vcc1v8-video";
728ccc0d23SEmmanuel Vadot		vin-supply = <&vcc3v3_baseboard>;
738ccc0d23SEmmanuel Vadot	};
748ccc0d23SEmmanuel Vadot
758ccc0d23SEmmanuel Vadot	vcc2v8_video: regulator-vcc2v8-video {
768ccc0d23SEmmanuel Vadot		compatible = "regulator-fixed";
778ccc0d23SEmmanuel Vadot		regulator-always-on;
788ccc0d23SEmmanuel Vadot		regulator-boot-on;
798ccc0d23SEmmanuel Vadot		regulator-max-microvolt = <2800000>;
808ccc0d23SEmmanuel Vadot		regulator-min-microvolt = <2800000>;
818ccc0d23SEmmanuel Vadot		regulator-name = "vcc2v8-video";
828ccc0d23SEmmanuel Vadot		vin-supply = <&vcc3v3_baseboard>;
838ccc0d23SEmmanuel Vadot	};
848ccc0d23SEmmanuel Vadot
858ccc0d23SEmmanuel Vadot	video-adapter-leds {
868ccc0d23SEmmanuel Vadot		compatible = "gpio-leds";
878ccc0d23SEmmanuel Vadot
888ccc0d23SEmmanuel Vadot		video-adapter-led {
898ccc0d23SEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
908ccc0d23SEmmanuel Vadot			gpios = <&pca9670 7 GPIO_ACTIVE_HIGH>;
918ccc0d23SEmmanuel Vadot			label = "video-adapter-led";
928ccc0d23SEmmanuel Vadot			linux,default-trigger = "none";
938ccc0d23SEmmanuel Vadot		};
948ccc0d23SEmmanuel Vadot	};
958ccc0d23SEmmanuel Vadot};
968ccc0d23SEmmanuel Vadot
978ccc0d23SEmmanuel Vadot&i2c1 {
988ccc0d23SEmmanuel Vadot	#address-cells = <1>;
998ccc0d23SEmmanuel Vadot	#size-cells = <0>;
1008ccc0d23SEmmanuel Vadot	/* OV5675, GT911, DW9714 are limited to 400KHz */
1018ccc0d23SEmmanuel Vadot	clock-frequency = <400000>;
1028ccc0d23SEmmanuel Vadot
1038ccc0d23SEmmanuel Vadot	touchscreen@14 {
1048ccc0d23SEmmanuel Vadot		compatible = "goodix,gt911";
1058ccc0d23SEmmanuel Vadot		reg = <0x14>;
1068ccc0d23SEmmanuel Vadot		interrupt-parent = <&gpio1>;
1078ccc0d23SEmmanuel Vadot		interrupts = <RK_PC7 IRQ_TYPE_LEVEL_LOW>;
1088ccc0d23SEmmanuel Vadot		irq-gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
1098ccc0d23SEmmanuel Vadot		pinctrl-0 = <&touch_int>;
1108ccc0d23SEmmanuel Vadot		pinctrl-names = "default";
1118ccc0d23SEmmanuel Vadot		reset-gpios = <&pca9670 1 GPIO_ACTIVE_HIGH>;
1128ccc0d23SEmmanuel Vadot		AVDD28-supply = <&vcc2v8_video>;
1138ccc0d23SEmmanuel Vadot		VDDIO-supply = <&vcc3v3_baseboard>;
1148ccc0d23SEmmanuel Vadot	};
1158ccc0d23SEmmanuel Vadot
1168ccc0d23SEmmanuel Vadot	pca9670: gpio@27 {
1178ccc0d23SEmmanuel Vadot		compatible = "nxp,pca9670";
1188ccc0d23SEmmanuel Vadot		reg = <0x27>;
1198ccc0d23SEmmanuel Vadot		gpio-controller;
1208ccc0d23SEmmanuel Vadot		#gpio-cells = <2>;
1218ccc0d23SEmmanuel Vadot		pinctrl-0 = <&pca9670_resetn>;
1228ccc0d23SEmmanuel Vadot		pinctrl-names = "default";
1238ccc0d23SEmmanuel Vadot		reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
1248ccc0d23SEmmanuel Vadot	};
1258ccc0d23SEmmanuel Vadot};
1268ccc0d23SEmmanuel Vadot
1278ccc0d23SEmmanuel Vadot&mipi_dsi {
1288ccc0d23SEmmanuel Vadot	#address-cells = <1>;
1298ccc0d23SEmmanuel Vadot	#size-cells = <0>;
1308ccc0d23SEmmanuel Vadot	status = "okay";
1318ccc0d23SEmmanuel Vadot
1328ccc0d23SEmmanuel Vadot	panel@0 {
1338ccc0d23SEmmanuel Vadot		compatible = "leadtek,ltk050h3148w";
1348ccc0d23SEmmanuel Vadot		reg = <0>;
1358ccc0d23SEmmanuel Vadot		backlight = <&backlight>;
1368ccc0d23SEmmanuel Vadot		iovcc-supply = <&vcc1v8_video>;
1378ccc0d23SEmmanuel Vadot		reset-gpios = <&pca9670 0 GPIO_ACTIVE_LOW>;
1388ccc0d23SEmmanuel Vadot		vci-supply = <&vcc2v8_video>;
1398ccc0d23SEmmanuel Vadot
1408ccc0d23SEmmanuel Vadot		port {
1418ccc0d23SEmmanuel Vadot			mipi_in_panel: endpoint {
1428ccc0d23SEmmanuel Vadot				remote-endpoint = <&mipi_out_panel>;
1438ccc0d23SEmmanuel Vadot			};
1448ccc0d23SEmmanuel Vadot		};
1458ccc0d23SEmmanuel Vadot	};
1468ccc0d23SEmmanuel Vadot};
1478ccc0d23SEmmanuel Vadot
148*833e5d42SEmmanuel Vadot&mipi_out {
149*833e5d42SEmmanuel Vadot	mipi_out_panel: endpoint {
150*833e5d42SEmmanuel Vadot		remote-endpoint = <&mipi_in_panel>;
151*833e5d42SEmmanuel Vadot	};
152*833e5d42SEmmanuel Vadot};
153*833e5d42SEmmanuel Vadot
1548ccc0d23SEmmanuel Vadot&pinctrl {
1558ccc0d23SEmmanuel Vadot	pca9670 {
1568ccc0d23SEmmanuel Vadot		pca9670_resetn: pca9670-resetn {
1578ccc0d23SEmmanuel Vadot			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
1588ccc0d23SEmmanuel Vadot		};
1598ccc0d23SEmmanuel Vadot	};
1608ccc0d23SEmmanuel Vadot
1618ccc0d23SEmmanuel Vadot	touch {
1628ccc0d23SEmmanuel Vadot		touch_int: touch-int {
1638ccc0d23SEmmanuel Vadot			rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
1648ccc0d23SEmmanuel Vadot		};
1658ccc0d23SEmmanuel Vadot	};
1668ccc0d23SEmmanuel Vadot};
167