// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2025 Cherry Embedded Solutions GmbH * * DEVKIT ADDON CAM-TS-A01 * https://embedded.cherry.de/product/development-kit/ * * DT-overlay for the camera / DSI demo appliance for Haikou boards. * In the flavour for use with a Ringneck system-on-module. */ /dts-v1/; /plugin/; #include #include #include #include #include &{/} { backlight: backlight { compatible = "pwm-backlight"; power-supply = <&dc_12v>; pwms = <&pwm0 0 25000 0>; }; cam_afvdd_2v8: regulator-cam-afvdd-2v8 { compatible = "regulator-fixed"; gpio = <&pca9670 2 GPIO_ACTIVE_LOW>; regulator-max-microvolt = <2800000>; regulator-min-microvolt = <2800000>; regulator-name = "cam-afvdd-2v8"; vin-supply = <&vcc2v8_video>; }; cam_avdd_2v8: regulator-cam-avdd-2v8 { compatible = "regulator-fixed"; gpio = <&pca9670 4 GPIO_ACTIVE_LOW>; regulator-max-microvolt = <2800000>; regulator-min-microvolt = <2800000>; regulator-name = "cam-avdd-2v8"; vin-supply = <&vcc2v8_video>; }; cam_dovdd_1v8: regulator-cam-dovdd-1v8 { compatible = "regulator-fixed"; gpio = <&pca9670 3 GPIO_ACTIVE_LOW>; regulator-max-microvolt = <1800000>; regulator-min-microvolt = <1800000>; regulator-name = "cam-dovdd-1v8"; vin-supply = <&vcc1v8_video>; }; cam_dvdd_1v2: regulator-cam-dvdd-1v2 { compatible = "regulator-fixed"; enable-active-high; gpio = <&pca9670 5 GPIO_ACTIVE_HIGH>; regulator-max-microvolt = <1200000>; regulator-min-microvolt = <1200000>; regulator-name = "cam-dvdd-1v2"; vin-supply = <&vcc3v3_baseboard>; }; vcc1v8_video: regulator-vcc1v8-video { compatible = "regulator-fixed"; regulator-always-on; regulator-boot-on; regulator-max-microvolt = <1800000>; regulator-min-microvolt = <1800000>; regulator-name = "vcc1v8-video"; vin-supply = <&vcc3v3_baseboard>; }; vcc2v8_video: regulator-vcc2v8-video { compatible = "regulator-fixed"; regulator-always-on; regulator-boot-on; regulator-max-microvolt = <2800000>; regulator-min-microvolt = <2800000>; regulator-name = "vcc2v8-video"; vin-supply = <&vcc3v3_baseboard>; }; video-adapter-leds { compatible = "gpio-leds"; video-adapter-led { color = ; gpios = <&pca9670 7 GPIO_ACTIVE_HIGH>; label = "video-adapter-led"; linux,default-trigger = "none"; }; }; }; &display_subsystem { status = "okay"; }; &dsi { #address-cells = <1>; #size-cells = <0>; status = "okay"; panel@0 { compatible = "leadtek,ltk050h3148w"; reg = <0>; backlight = <&backlight>; iovcc-supply = <&vcc1v8_video>; reset-gpios = <&pca9670 0 GPIO_ACTIVE_LOW>; vci-supply = <&vcc2v8_video>; port { mipi_in_panel: endpoint { remote-endpoint = <&mipi_out_panel>; }; }; }; }; &dsi_dphy { status = "okay"; }; &dsi_out { mipi_out_panel: endpoint { remote-endpoint = <&mipi_in_panel>; }; }; &i2c1 { #address-cells = <1>; #size-cells = <0>; /* OV5675, GT911, DW9714 are limited to 400KHz */ clock-frequency = <400000>; touchscreen@14 { compatible = "goodix,gt911"; reg = <0x14>; interrupt-parent = <&gpio0>; interrupts = ; irq-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&touch_int>; pinctrl-names = "default"; reset-gpios = <&pca9670 1 GPIO_ACTIVE_HIGH>; AVDD28-supply = <&vcc2v8_video>; VDDIO-supply = <&vcc3v3_baseboard>; }; pca9670: gpio@27 { compatible = "nxp,pca9670"; reg = <0x27>; gpio-controller; #gpio-cells = <2>; pinctrl-0 = <&pca9670_resetn>; pinctrl-names = "default"; reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; }; }; &pinctrl { pca9670 { pca9670_resetn: pca9670-resetn { rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; }; }; touch { touch_int: touch-int { rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; }; }; }; &vopb { status = "okay"; }; &vopb_mmu { status = "okay"; }; &vopl { status = "okay"; }; &vopl_mmu { status = "okay"; };