1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2*0e8011faSEmmanuel Vadot/* 3*0e8011faSEmmanuel Vadot * Copyright (c) 2024, Linaro Limited 4*0e8011faSEmmanuel Vadot */ 5*0e8011faSEmmanuel Vadot 6*0e8011faSEmmanuel Vadot/* 7*0e8011faSEmmanuel Vadot * Display Card kit overlay 8*0e8011faSEmmanuel Vadot * This requires S5702 Switch 7 to be turned to OFF to route DSI0 to the display panel 9*0e8011faSEmmanuel Vadot */ 10*0e8011faSEmmanuel Vadot 11*0e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 12*0e8011faSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 13*0e8011faSEmmanuel Vadot 14*0e8011faSEmmanuel Vadot/dts-v1/; 15*0e8011faSEmmanuel Vadot/plugin/; 16*0e8011faSEmmanuel Vadot 17*0e8011faSEmmanuel Vadot/* Disable HDMI bridge related nodes (mutually exclusive with the display card) */ 18*0e8011faSEmmanuel Vadot 19*0e8011faSEmmanuel Vadot&i2c6 { 20*0e8011faSEmmanuel Vadot status = "disabled"; 21*0e8011faSEmmanuel Vadot}; 22*0e8011faSEmmanuel Vadot 23*0e8011faSEmmanuel Vadot<9611_1v2 { 24*0e8011faSEmmanuel Vadot status = "disabled"; 25*0e8011faSEmmanuel Vadot}; 26*0e8011faSEmmanuel Vadot 27*0e8011faSEmmanuel Vadot<9611_3v3 { 28*0e8011faSEmmanuel Vadot status = "disabled"; 29*0e8011faSEmmanuel Vadot}; 30*0e8011faSEmmanuel Vadot 31*0e8011faSEmmanuel Vadot&vreg_bob_3v3 { 32*0e8011faSEmmanuel Vadot status = "disabled"; 33*0e8011faSEmmanuel Vadot}; 34*0e8011faSEmmanuel Vadot 35*0e8011faSEmmanuel Vadot<9611_codec { 36*0e8011faSEmmanuel Vadot status = "disabled"; 37*0e8011faSEmmanuel Vadot}; 38*0e8011faSEmmanuel Vadot 39*0e8011faSEmmanuel Vadot&mdss_dsi0 { 40*0e8011faSEmmanuel Vadot #address-cells = <1>; 41*0e8011faSEmmanuel Vadot #size-cells = <0>; 42*0e8011faSEmmanuel Vadot 43*0e8011faSEmmanuel Vadot panel@0 { 44*0e8011faSEmmanuel Vadot compatible = "visionox,vtdr6130"; 45*0e8011faSEmmanuel Vadot reg = <0>; 46*0e8011faSEmmanuel Vadot 47*0e8011faSEmmanuel Vadot reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 48*0e8011faSEmmanuel Vadot 49*0e8011faSEmmanuel Vadot vddio-supply = <&vreg_l12b_1p8>; 50*0e8011faSEmmanuel Vadot vci-supply = <&vreg_l13b_3p0>; 51*0e8011faSEmmanuel Vadot vdd-supply = <&vreg_l11b_1p2>; 52*0e8011faSEmmanuel Vadot 53*0e8011faSEmmanuel Vadot pinctrl-0 = <&disp0_reset_n_active>, <&mdp_vsync>; 54*0e8011faSEmmanuel Vadot pinctrl-1 = <&disp0_reset_n_suspend>, <&mdp_vsync>; 55*0e8011faSEmmanuel Vadot pinctrl-names = "default", "sleep"; 56*0e8011faSEmmanuel Vadot 57*0e8011faSEmmanuel Vadot port { 58*0e8011faSEmmanuel Vadot panel0_in: endpoint { 59*0e8011faSEmmanuel Vadot remote-endpoint = <&mdss_dsi0_out>; 60*0e8011faSEmmanuel Vadot }; 61*0e8011faSEmmanuel Vadot }; 62*0e8011faSEmmanuel Vadot }; 63*0e8011faSEmmanuel Vadot 64*0e8011faSEmmanuel Vadot ports { 65*0e8011faSEmmanuel Vadot #address-cells = <1>; 66*0e8011faSEmmanuel Vadot #size-cells = <0>; 67*0e8011faSEmmanuel Vadot 68*0e8011faSEmmanuel Vadot port@1 { 69*0e8011faSEmmanuel Vadot reg = <1>; 70*0e8011faSEmmanuel Vadot 71*0e8011faSEmmanuel Vadot mdss_dsi0_out: endpoint { 72*0e8011faSEmmanuel Vadot remote-endpoint = <&panel0_in>; 73*0e8011faSEmmanuel Vadot }; 74*0e8011faSEmmanuel Vadot }; 75*0e8011faSEmmanuel Vadot }; 76*0e8011faSEmmanuel Vadot}; 77*0e8011faSEmmanuel Vadot 78*0e8011faSEmmanuel Vadot&spi4 { 79*0e8011faSEmmanuel Vadot #address-cells = <1>; 80*0e8011faSEmmanuel Vadot #size-cells = <0>; 81*0e8011faSEmmanuel Vadot 82*0e8011faSEmmanuel Vadot status = "okay"; 83*0e8011faSEmmanuel Vadot 84*0e8011faSEmmanuel Vadot touchscreen@0 { 85*0e8011faSEmmanuel Vadot compatible = "goodix,gt9916"; 86*0e8011faSEmmanuel Vadot reg = <0>; 87*0e8011faSEmmanuel Vadot 88*0e8011faSEmmanuel Vadot interrupt-parent = <&tlmm>; 89*0e8011faSEmmanuel Vadot interrupts = <162 IRQ_TYPE_LEVEL_LOW>; 90*0e8011faSEmmanuel Vadot 91*0e8011faSEmmanuel Vadot reset-gpios = <&tlmm 161 GPIO_ACTIVE_LOW>; 92*0e8011faSEmmanuel Vadot 93*0e8011faSEmmanuel Vadot avdd-supply = <&vreg_l14b_3p2>; 94*0e8011faSEmmanuel Vadot 95*0e8011faSEmmanuel Vadot spi-max-frequency = <1000000>; 96*0e8011faSEmmanuel Vadot 97*0e8011faSEmmanuel Vadot touchscreen-size-x = <1080>; 98*0e8011faSEmmanuel Vadot touchscreen-size-y = <2400>; 99*0e8011faSEmmanuel Vadot 100*0e8011faSEmmanuel Vadot pinctrl-0 = <&ts_irq>, <&ts_reset>; 101*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 102*0e8011faSEmmanuel Vadot }; 103*0e8011faSEmmanuel Vadot}; 104*0e8011faSEmmanuel Vadot 105*0e8011faSEmmanuel Vadot&tlmm { 106*0e8011faSEmmanuel Vadot disp0_reset_n_active: disp0-reset-n-active-state { 107*0e8011faSEmmanuel Vadot pins = "gpio133"; 108*0e8011faSEmmanuel Vadot function = "gpio"; 109*0e8011faSEmmanuel Vadot drive-strength = <8>; 110*0e8011faSEmmanuel Vadot bias-disable; 111*0e8011faSEmmanuel Vadot }; 112*0e8011faSEmmanuel Vadot 113*0e8011faSEmmanuel Vadot disp0_reset_n_suspend: disp0-reset-n-suspend-state { 114*0e8011faSEmmanuel Vadot pins = "gpio133"; 115*0e8011faSEmmanuel Vadot function = "gpio"; 116*0e8011faSEmmanuel Vadot drive-strength = <2>; 117*0e8011faSEmmanuel Vadot bias-pull-down; 118*0e8011faSEmmanuel Vadot }; 119*0e8011faSEmmanuel Vadot 120*0e8011faSEmmanuel Vadot mdp_vsync: mdp-vsync-state { 121*0e8011faSEmmanuel Vadot pins = "gpio86"; 122*0e8011faSEmmanuel Vadot function = "mdp_vsync"; 123*0e8011faSEmmanuel Vadot drive-strength = <2>; 124*0e8011faSEmmanuel Vadot bias-pull-down; 125*0e8011faSEmmanuel Vadot }; 126*0e8011faSEmmanuel Vadot 127*0e8011faSEmmanuel Vadot ts_irq: ts-irq-state { 128*0e8011faSEmmanuel Vadot pins = "gpio161"; 129*0e8011faSEmmanuel Vadot function = "gpio"; 130*0e8011faSEmmanuel Vadot drive-strength = <8>; 131*0e8011faSEmmanuel Vadot bias-pull-up; 132*0e8011faSEmmanuel Vadot output-disable; 133*0e8011faSEmmanuel Vadot }; 134*0e8011faSEmmanuel Vadot 135*0e8011faSEmmanuel Vadot ts_reset: ts-reset-state { 136*0e8011faSEmmanuel Vadot pins = "gpio162"; 137*0e8011faSEmmanuel Vadot function = "gpio"; 138*0e8011faSEmmanuel Vadot drive-strength = <8>; 139*0e8011faSEmmanuel Vadot bias-pull-up; 140*0e8011faSEmmanuel Vadot }; 141*0e8011faSEmmanuel Vadot}; 142