1*09828b16SChen-Yu Tsai// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*09828b16SChen-Yu Tsai/* 3*09828b16SChen-Yu Tsai * Copyright 2022 Google LLC 4*09828b16SChen-Yu Tsai */ 5*09828b16SChen-Yu Tsai 6*09828b16SChen-Yu Tsai/dts-v1/; 7*09828b16SChen-Yu Tsai#include "mt8186-corsola.dtsi" 8*09828b16SChen-Yu Tsai#include <dt-bindings/gpio/gpio.h> 9*09828b16SChen-Yu Tsai#include <dt-bindings/input/input.h> 10*09828b16SChen-Yu Tsai 11*09828b16SChen-Yu Tsai/{ 12*09828b16SChen-Yu Tsai pp1000_edpbrdg: regulator-pp1000-edpbrdg { 13*09828b16SChen-Yu Tsai compatible = "regulator-fixed"; 14*09828b16SChen-Yu Tsai regulator-name = "pp1000_edpbrdg"; 15*09828b16SChen-Yu Tsai pinctrl-names = "default"; 16*09828b16SChen-Yu Tsai pinctrl-0 = <&en_pp1000_edpbrdg>; 17*09828b16SChen-Yu Tsai enable-active-high; 18*09828b16SChen-Yu Tsai regulator-boot-on; 19*09828b16SChen-Yu Tsai gpio = <&pio 29 GPIO_ACTIVE_HIGH>; 20*09828b16SChen-Yu Tsai vin-supply = <&pp3300_z2>; 21*09828b16SChen-Yu Tsai }; 22*09828b16SChen-Yu Tsai 23*09828b16SChen-Yu Tsai pp1800_edpbrdg_dx: regulator-pp1800-edpbrdg-dx { 24*09828b16SChen-Yu Tsai compatible = "regulator-fixed"; 25*09828b16SChen-Yu Tsai regulator-name = "pp1800_edpbrdg_dx"; 26*09828b16SChen-Yu Tsai pinctrl-names = "default"; 27*09828b16SChen-Yu Tsai pinctrl-0 = <&en_pp1800_edpbrdg>; 28*09828b16SChen-Yu Tsai enable-active-high; 29*09828b16SChen-Yu Tsai regulator-boot-on; 30*09828b16SChen-Yu Tsai gpio = <&pio 30 GPIO_ACTIVE_HIGH>; 31*09828b16SChen-Yu Tsai vin-supply = <&mt6366_vio18_reg>; 32*09828b16SChen-Yu Tsai }; 33*09828b16SChen-Yu Tsai 34*09828b16SChen-Yu Tsai pp3300_edp_dx: regulator-pp3300-edp-dx { 35*09828b16SChen-Yu Tsai compatible = "regulator-fixed"; 36*09828b16SChen-Yu Tsai regulator-name = "pp3300_edp_dx"; 37*09828b16SChen-Yu Tsai pinctrl-names = "default"; 38*09828b16SChen-Yu Tsai pinctrl-0 = <&en_pp3300_edpbrdg>; 39*09828b16SChen-Yu Tsai enable-active-high; 40*09828b16SChen-Yu Tsai regulator-boot-on; 41*09828b16SChen-Yu Tsai gpio = <&pio 31 GPIO_ACTIVE_HIGH>; 42*09828b16SChen-Yu Tsai vin-supply = <&pp3300_z2>; 43*09828b16SChen-Yu Tsai }; 44*09828b16SChen-Yu Tsai}; 45*09828b16SChen-Yu Tsai 46*09828b16SChen-Yu Tsai&dsi_out { 47*09828b16SChen-Yu Tsai remote-endpoint = <&anx7625_in>; 48*09828b16SChen-Yu Tsai}; 49*09828b16SChen-Yu Tsai 50*09828b16SChen-Yu Tsai&i2c0 { 51*09828b16SChen-Yu Tsai clock-frequency = <400000>; 52*09828b16SChen-Yu Tsai 53*09828b16SChen-Yu Tsai anx_bridge: anx7625@58 { 54*09828b16SChen-Yu Tsai compatible = "analogix,anx7625"; 55*09828b16SChen-Yu Tsai reg = <0x58>; 56*09828b16SChen-Yu Tsai pinctrl-names = "default"; 57*09828b16SChen-Yu Tsai pinctrl-0 = <&anx7625_pins>; 58*09828b16SChen-Yu Tsai enable-gpios = <&pio 96 GPIO_ACTIVE_HIGH>; 59*09828b16SChen-Yu Tsai reset-gpios = <&pio 98 GPIO_ACTIVE_HIGH>; 60*09828b16SChen-Yu Tsai vdd10-supply = <&pp1000_edpbrdg>; 61*09828b16SChen-Yu Tsai vdd18-supply = <&pp1800_edpbrdg_dx>; 62*09828b16SChen-Yu Tsai vdd33-supply = <&pp3300_edp_dx>; 63*09828b16SChen-Yu Tsai analogix,lane0-swing = /bits/ 8 <0x70 0x30>; 64*09828b16SChen-Yu Tsai analogix,lane1-swing = /bits/ 8 <0x70 0x30>; 65*09828b16SChen-Yu Tsai 66*09828b16SChen-Yu Tsai ports { 67*09828b16SChen-Yu Tsai #address-cells = <1>; 68*09828b16SChen-Yu Tsai #size-cells = <0>; 69*09828b16SChen-Yu Tsai 70*09828b16SChen-Yu Tsai port@0 { 71*09828b16SChen-Yu Tsai reg = <0>; 72*09828b16SChen-Yu Tsai 73*09828b16SChen-Yu Tsai anx7625_in: endpoint { 74*09828b16SChen-Yu Tsai remote-endpoint = <&dsi_out>; 75*09828b16SChen-Yu Tsai data-lanes = <0 1 2 3>; 76*09828b16SChen-Yu Tsai }; 77*09828b16SChen-Yu Tsai }; 78*09828b16SChen-Yu Tsai 79*09828b16SChen-Yu Tsai port@1 { 80*09828b16SChen-Yu Tsai reg = <1>; 81*09828b16SChen-Yu Tsai 82*09828b16SChen-Yu Tsai anx7625_out: endpoint { 83*09828b16SChen-Yu Tsai remote-endpoint = <&panel_in>; 84*09828b16SChen-Yu Tsai }; 85*09828b16SChen-Yu Tsai }; 86*09828b16SChen-Yu Tsai }; 87*09828b16SChen-Yu Tsai 88*09828b16SChen-Yu Tsai aux-bus { 89*09828b16SChen-Yu Tsai panel: panel { 90*09828b16SChen-Yu Tsai compatible = "edp-panel"; 91*09828b16SChen-Yu Tsai power-supply = <&pp3300_disp_x>; 92*09828b16SChen-Yu Tsai backlight = <&backlight_lcd0>; 93*09828b16SChen-Yu Tsai 94*09828b16SChen-Yu Tsai port { 95*09828b16SChen-Yu Tsai panel_in: endpoint { 96*09828b16SChen-Yu Tsai remote-endpoint = <&anx7625_out>; 97*09828b16SChen-Yu Tsai }; 98*09828b16SChen-Yu Tsai }; 99*09828b16SChen-Yu Tsai }; 100*09828b16SChen-Yu Tsai }; 101*09828b16SChen-Yu Tsai }; 102*09828b16SChen-Yu Tsai}; 103*09828b16SChen-Yu Tsai 104*09828b16SChen-Yu Tsai&i2c1 { 105*09828b16SChen-Yu Tsai touchscreen: touchscreen@5d { 106*09828b16SChen-Yu Tsai compatible = "goodix,gt7375p"; 107*09828b16SChen-Yu Tsai reg = <0x5d>; 108*09828b16SChen-Yu Tsai interrupts-extended = <&pio 12 IRQ_TYPE_EDGE_FALLING>; 109*09828b16SChen-Yu Tsai pinctrl-names = "default"; 110*09828b16SChen-Yu Tsai pinctrl-0 = <&touchscreen_pins>; 111*09828b16SChen-Yu Tsai reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>; 112*09828b16SChen-Yu Tsai vdd-supply = <&pp3300_s3>; 113*09828b16SChen-Yu Tsai goodix,no-reset-during-suspend; 114*09828b16SChen-Yu Tsai }; 115*09828b16SChen-Yu Tsai}; 116*09828b16SChen-Yu Tsai 117*09828b16SChen-Yu Tsai&i2c2 { 118*09828b16SChen-Yu Tsai i2c-scl-internal-delay-ns = <22000>; 119*09828b16SChen-Yu Tsai 120*09828b16SChen-Yu Tsai /* second source component */ 121*09828b16SChen-Yu Tsai trackpad@2c { 122*09828b16SChen-Yu Tsai compatible = "hid-over-i2c"; 123*09828b16SChen-Yu Tsai reg = <0x2c>; 124*09828b16SChen-Yu Tsai hid-descr-addr = <0x20>; 125*09828b16SChen-Yu Tsai interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>; 126*09828b16SChen-Yu Tsai vdd-supply = <&pp3300_s3>; 127*09828b16SChen-Yu Tsai wakeup-source; 128*09828b16SChen-Yu Tsai }; 129*09828b16SChen-Yu Tsai}; 130*09828b16SChen-Yu Tsai 131*09828b16SChen-Yu Tsai&keyboard_controller { 132*09828b16SChen-Yu Tsai function-row-physmap = < 133*09828b16SChen-Yu Tsai MATRIX_KEY(0x00, 0x02, 0) /* T1 */ 134*09828b16SChen-Yu Tsai MATRIX_KEY(0x03, 0x02, 0) /* T2 */ 135*09828b16SChen-Yu Tsai MATRIX_KEY(0x02, 0x02, 0) /* T3 */ 136*09828b16SChen-Yu Tsai MATRIX_KEY(0x01, 0x02, 0) /* T4 */ 137*09828b16SChen-Yu Tsai MATRIX_KEY(0x03, 0x04, 0) /* T5 */ 138*09828b16SChen-Yu Tsai MATRIX_KEY(0x02, 0x04, 0) /* T6 */ 139*09828b16SChen-Yu Tsai MATRIX_KEY(0x01, 0x04, 0) /* T7 */ 140*09828b16SChen-Yu Tsai MATRIX_KEY(0x02, 0x09, 0) /* T8 */ 141*09828b16SChen-Yu Tsai MATRIX_KEY(0x01, 0x09, 0) /* T9 */ 142*09828b16SChen-Yu Tsai MATRIX_KEY(0x00, 0x04, 0) /* T10 */ 143*09828b16SChen-Yu Tsai >; 144*09828b16SChen-Yu Tsai 145*09828b16SChen-Yu Tsai linux,keymap = < 146*09828b16SChen-Yu Tsai MATRIX_KEY(0x00, 0x02, KEY_BACK) 147*09828b16SChen-Yu Tsai MATRIX_KEY(0x03, 0x02, KEY_REFRESH) 148*09828b16SChen-Yu Tsai MATRIX_KEY(0x02, 0x02, KEY_ZOOM) 149*09828b16SChen-Yu Tsai MATRIX_KEY(0x01, 0x02, KEY_SCALE) 150*09828b16SChen-Yu Tsai MATRIX_KEY(0x03, 0x04, KEY_BRIGHTNESSDOWN) 151*09828b16SChen-Yu Tsai MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSUP) 152*09828b16SChen-Yu Tsai MATRIX_KEY(0x01, 0x04, KEY_MICMUTE) 153*09828b16SChen-Yu Tsai MATRIX_KEY(0x02, 0x09, KEY_MUTE) 154*09828b16SChen-Yu Tsai MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN) 155*09828b16SChen-Yu Tsai MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP) 156*09828b16SChen-Yu Tsai CROS_STD_MAIN_KEYMAP 157*09828b16SChen-Yu Tsai >; 158*09828b16SChen-Yu Tsai}; 159*09828b16SChen-Yu Tsai 160*09828b16SChen-Yu Tsai&pio { 161*09828b16SChen-Yu Tsai anx7625_pins: anx7625-pins { 162*09828b16SChen-Yu Tsai pins-int { 163*09828b16SChen-Yu Tsai pinmux = <PINMUX_GPIO9__FUNC_GPIO9>; 164*09828b16SChen-Yu Tsai input-enable; 165*09828b16SChen-Yu Tsai bias-disable; 166*09828b16SChen-Yu Tsai }; 167*09828b16SChen-Yu Tsai 168*09828b16SChen-Yu Tsai pins-reset { 169*09828b16SChen-Yu Tsai pinmux = <PINMUX_GPIO98__FUNC_GPIO98>; 170*09828b16SChen-Yu Tsai output-low; 171*09828b16SChen-Yu Tsai }; 172*09828b16SChen-Yu Tsai 173*09828b16SChen-Yu Tsai pins-power-en { 174*09828b16SChen-Yu Tsai pinmux = <PINMUX_GPIO96__FUNC_GPIO96>; 175*09828b16SChen-Yu Tsai output-low; 176*09828b16SChen-Yu Tsai }; 177*09828b16SChen-Yu Tsai }; 178*09828b16SChen-Yu Tsai 179*09828b16SChen-Yu Tsai en_pp1000_edpbrdg: pp1000-edpbrdg-en-pins { 180*09828b16SChen-Yu Tsai pins-vreg-en { 181*09828b16SChen-Yu Tsai pinmux = <PINMUX_GPIO29__FUNC_GPIO29>; 182*09828b16SChen-Yu Tsai output-low; 183*09828b16SChen-Yu Tsai }; 184*09828b16SChen-Yu Tsai }; 185*09828b16SChen-Yu Tsai 186*09828b16SChen-Yu Tsai en_pp1800_edpbrdg: pp1800-edpbrdg-en-pins { 187*09828b16SChen-Yu Tsai pins-vreg-en { 188*09828b16SChen-Yu Tsai pinmux = <PINMUX_GPIO30__FUNC_GPIO30>; 189*09828b16SChen-Yu Tsai output-low; 190*09828b16SChen-Yu Tsai }; 191*09828b16SChen-Yu Tsai }; 192*09828b16SChen-Yu Tsai 193*09828b16SChen-Yu Tsai en_pp3300_edpbrdg: pp3300-edpbrdg-en-pins { 194*09828b16SChen-Yu Tsai pins-vreg-en { 195*09828b16SChen-Yu Tsai pinmux = <PINMUX_GPIO31__FUNC_GPIO31>; 196*09828b16SChen-Yu Tsai output-low; 197*09828b16SChen-Yu Tsai }; 198*09828b16SChen-Yu Tsai }; 199*09828b16SChen-Yu Tsai}; 200