1*96564b1eSAngeloGioacchino Del Regno// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*96564b1eSAngeloGioacchino Del Regno/* 3*96564b1eSAngeloGioacchino Del Regno * Copyright (C) 2023 Radxa Limited 4*96564b1eSAngeloGioacchino Del Regno * Copyright (C) 2024 Collabora Ltd. 5*96564b1eSAngeloGioacchino Del Regno * AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 6*96564b1eSAngeloGioacchino Del Regno */ 7*96564b1eSAngeloGioacchino Del Regno 8*96564b1eSAngeloGioacchino Del Regno#include "mt8195.dtsi" 9*96564b1eSAngeloGioacchino Del Regno#include "mt6359.dtsi" 10*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/gpio/gpio.h> 11*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/interrupt-controller/irq.h> 12*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/pinctrl/mt8195-pinfunc.h> 13*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/regulator/mediatek,mt6360-regulator.h> 14*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/spmi/spmi.h> 15*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/usb/pd.h> 16*96564b1eSAngeloGioacchino Del Regno 17*96564b1eSAngeloGioacchino Del Regno/ { 18*96564b1eSAngeloGioacchino Del Regno model = "Radxa NIO 12L"; 19*96564b1eSAngeloGioacchino Del Regno chassis-type = "embedded"; 20*96564b1eSAngeloGioacchino Del Regno compatible = "radxa,nio-12l", "mediatek,mt8395", "mediatek,mt8195"; 21*96564b1eSAngeloGioacchino Del Regno 22*96564b1eSAngeloGioacchino Del Regno aliases { 23*96564b1eSAngeloGioacchino Del Regno i2c0 = &i2c2; 24*96564b1eSAngeloGioacchino Del Regno i2c1 = &i2c3; 25*96564b1eSAngeloGioacchino Del Regno i2c2 = &i2c4; 26*96564b1eSAngeloGioacchino Del Regno i2c3 = &i2c0; 27*96564b1eSAngeloGioacchino Del Regno i2c4 = &i2c1; 28*96564b1eSAngeloGioacchino Del Regno ethernet0 = ð 29*96564b1eSAngeloGioacchino Del Regno serial0 = &uart0; 30*96564b1eSAngeloGioacchino Del Regno serial1 = &uart1; 31*96564b1eSAngeloGioacchino Del Regno spi0 = &spi1; 32*96564b1eSAngeloGioacchino Del Regno spi1 = &spi2; 33*96564b1eSAngeloGioacchino Del Regno }; 34*96564b1eSAngeloGioacchino Del Regno 35*96564b1eSAngeloGioacchino Del Regno chosen { 36*96564b1eSAngeloGioacchino Del Regno stdout-path = "serial0:921600n8"; 37*96564b1eSAngeloGioacchino Del Regno }; 38*96564b1eSAngeloGioacchino Del Regno 39*96564b1eSAngeloGioacchino Del Regno firmware { 40*96564b1eSAngeloGioacchino Del Regno optee { 41*96564b1eSAngeloGioacchino Del Regno compatible = "linaro,optee-tz"; 42*96564b1eSAngeloGioacchino Del Regno method = "smc"; 43*96564b1eSAngeloGioacchino Del Regno }; 44*96564b1eSAngeloGioacchino Del Regno }; 45*96564b1eSAngeloGioacchino Del Regno 46*96564b1eSAngeloGioacchino Del Regno memory@40000000 { 47*96564b1eSAngeloGioacchino Del Regno device_type = "memory"; 48*96564b1eSAngeloGioacchino Del Regno reg = <0 0x40000000 0x1 0x0>; 49*96564b1eSAngeloGioacchino Del Regno }; 50*96564b1eSAngeloGioacchino Del Regno 51*96564b1eSAngeloGioacchino Del Regno wifi_vreg: regulator-wifi-3v3-en { 52*96564b1eSAngeloGioacchino Del Regno compatible = "regulator-fixed"; 53*96564b1eSAngeloGioacchino Del Regno regulator-name = "wifi_3v3_en"; 54*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 55*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <3300000>; 56*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <3300000>; 57*96564b1eSAngeloGioacchino Del Regno enable-active-high; 58*96564b1eSAngeloGioacchino Del Regno gpio = <&pio 67 GPIO_ACTIVE_HIGH>; 59*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 60*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&wifi_vreg_pins>; 61*96564b1eSAngeloGioacchino Del Regno vin-supply = <&vsys>; 62*96564b1eSAngeloGioacchino Del Regno }; 63*96564b1eSAngeloGioacchino Del Regno 64*96564b1eSAngeloGioacchino Del Regno /* system wide switching 5.0V power rail */ 65*96564b1eSAngeloGioacchino Del Regno vsys: regulator-vsys { 66*96564b1eSAngeloGioacchino Del Regno compatible = "regulator-fixed"; 67*96564b1eSAngeloGioacchino Del Regno regulator-name = "vsys"; 68*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 69*96564b1eSAngeloGioacchino Del Regno regulator-boot-on; 70*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <5000000>; 71*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <5000000>; 72*96564b1eSAngeloGioacchino Del Regno vin-supply = <&vcc5v0_vsys>; 73*96564b1eSAngeloGioacchino Del Regno }; 74*96564b1eSAngeloGioacchino Del Regno 75*96564b1eSAngeloGioacchino Del Regno vsys_buck: regulator-vsys-buck { 76*96564b1eSAngeloGioacchino Del Regno compatible = "regulator-fixed"; 77*96564b1eSAngeloGioacchino Del Regno regulator-name = "vsys_buck"; 78*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 79*96564b1eSAngeloGioacchino Del Regno regulator-boot-on; 80*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <5000000>; 81*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <5000000>; 82*96564b1eSAngeloGioacchino Del Regno vin-supply = <&vcc5v0_vsys>; 83*96564b1eSAngeloGioacchino Del Regno }; 84*96564b1eSAngeloGioacchino Del Regno 85*96564b1eSAngeloGioacchino Del Regno /* Rail from power-only "TYPE C DC" port */ 86*96564b1eSAngeloGioacchino Del Regno vcc5v0_vsys: regulator-vcc5v0-sys { 87*96564b1eSAngeloGioacchino Del Regno compatible = "regulator-fixed"; 88*96564b1eSAngeloGioacchino Del Regno regulator-name = "vcc5v0_sys"; 89*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 90*96564b1eSAngeloGioacchino Del Regno regulator-boot-on; 91*96564b1eSAngeloGioacchino Del Regno }; 92*96564b1eSAngeloGioacchino Del Regno 93*96564b1eSAngeloGioacchino Del Regno reserved-memory { 94*96564b1eSAngeloGioacchino Del Regno #address-cells = <2>; 95*96564b1eSAngeloGioacchino Del Regno #size-cells = <2>; 96*96564b1eSAngeloGioacchino Del Regno ranges; 97*96564b1eSAngeloGioacchino Del Regno 98*96564b1eSAngeloGioacchino Del Regno /* 99*96564b1eSAngeloGioacchino Del Regno * 12 MiB reserved for OP-TEE (BL32) 100*96564b1eSAngeloGioacchino Del Regno * +-----------------------+ 0x43e0_0000 101*96564b1eSAngeloGioacchino Del Regno * | SHMEM 2MiB | 102*96564b1eSAngeloGioacchino Del Regno * +-----------------------+ 0x43c0_0000 103*96564b1eSAngeloGioacchino Del Regno * | | TA_RAM 8MiB | 104*96564b1eSAngeloGioacchino Del Regno * + TZDRAM +--------------+ 0x4340_0000 105*96564b1eSAngeloGioacchino Del Regno * | | TEE_RAM 2MiB | 106*96564b1eSAngeloGioacchino Del Regno * +-----------------------+ 0x4320_0000 107*96564b1eSAngeloGioacchino Del Regno */ 108*96564b1eSAngeloGioacchino Del Regno optee_reserved: optee@43200000 { 109*96564b1eSAngeloGioacchino Del Regno reg = <0 0x43200000 0 0xc00000>; 110*96564b1eSAngeloGioacchino Del Regno no-map; 111*96564b1eSAngeloGioacchino Del Regno }; 112*96564b1eSAngeloGioacchino Del Regno 113*96564b1eSAngeloGioacchino Del Regno scp_mem: memory@50000000 { 114*96564b1eSAngeloGioacchino Del Regno compatible = "shared-dma-pool"; 115*96564b1eSAngeloGioacchino Del Regno reg = <0 0x50000000 0 0x2900000>; 116*96564b1eSAngeloGioacchino Del Regno no-map; 117*96564b1eSAngeloGioacchino Del Regno }; 118*96564b1eSAngeloGioacchino Del Regno 119*96564b1eSAngeloGioacchino Del Regno vpu_mem: memory@53000000 { 120*96564b1eSAngeloGioacchino Del Regno compatible = "shared-dma-pool"; 121*96564b1eSAngeloGioacchino Del Regno reg = <0 0x53000000 0 0x1400000>; /* 20 MB */ 122*96564b1eSAngeloGioacchino Del Regno }; 123*96564b1eSAngeloGioacchino Del Regno 124*96564b1eSAngeloGioacchino Del Regno /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ 125*96564b1eSAngeloGioacchino Del Regno bl31_secmon_mem: memory@54600000 { 126*96564b1eSAngeloGioacchino Del Regno reg = <0 0x54600000 0x0 0x200000>; 127*96564b1eSAngeloGioacchino Del Regno no-map; 128*96564b1eSAngeloGioacchino Del Regno }; 129*96564b1eSAngeloGioacchino Del Regno 130*96564b1eSAngeloGioacchino Del Regno afe_mem: memory@60000000 { 131*96564b1eSAngeloGioacchino Del Regno compatible = "shared-dma-pool"; 132*96564b1eSAngeloGioacchino Del Regno reg = <0 0x60000000 0 0x1100000>; 133*96564b1eSAngeloGioacchino Del Regno no-map; 134*96564b1eSAngeloGioacchino Del Regno }; 135*96564b1eSAngeloGioacchino Del Regno 136*96564b1eSAngeloGioacchino Del Regno apu_mem: memory@62000000 { 137*96564b1eSAngeloGioacchino Del Regno compatible = "shared-dma-pool"; 138*96564b1eSAngeloGioacchino Del Regno reg = <0 0x62000000 0 0x1400000>; /* 20 MB */ 139*96564b1eSAngeloGioacchino Del Regno }; 140*96564b1eSAngeloGioacchino Del Regno }; 141*96564b1eSAngeloGioacchino Del Regno}; 142*96564b1eSAngeloGioacchino Del Regno 143*96564b1eSAngeloGioacchino Del Regnoð { 144*96564b1eSAngeloGioacchino Del Regno phy-mode = "rgmii-rxid"; 145*96564b1eSAngeloGioacchino Del Regno phy-handle = <&rgmii_phy>; 146*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default", "sleep"; 147*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <ð_default_pins>; 148*96564b1eSAngeloGioacchino Del Regno pinctrl-1 = <ð_sleep_pins>; 149*96564b1eSAngeloGioacchino Del Regno mediatek,tx-delay-ps = <2030>; 150*96564b1eSAngeloGioacchino Del Regno mediatek,mac-wol; 151*96564b1eSAngeloGioacchino Del Regno snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>; 152*96564b1eSAngeloGioacchino Del Regno snps,reset-delays-us = <0 20000 100000>; 153*96564b1eSAngeloGioacchino Del Regno status = "okay"; 154*96564b1eSAngeloGioacchino Del Regno 155*96564b1eSAngeloGioacchino Del Regno mdio { 156*96564b1eSAngeloGioacchino Del Regno rgmii_phy: ethernet-phy@1 { 157*96564b1eSAngeloGioacchino Del Regno compatible = "ethernet-phy-id001c.c916"; 158*96564b1eSAngeloGioacchino Del Regno reg = <0x1>; 159*96564b1eSAngeloGioacchino Del Regno }; 160*96564b1eSAngeloGioacchino Del Regno }; 161*96564b1eSAngeloGioacchino Del Regno}; 162*96564b1eSAngeloGioacchino Del Regno 163*96564b1eSAngeloGioacchino Del Regno&gpu { 164*96564b1eSAngeloGioacchino Del Regno mali-supply = <&mt6315_7_vbuck1>; 165*96564b1eSAngeloGioacchino Del Regno status = "okay"; 166*96564b1eSAngeloGioacchino Del Regno}; 167*96564b1eSAngeloGioacchino Del Regno 168*96564b1eSAngeloGioacchino Del Regno&i2c2 { 169*96564b1eSAngeloGioacchino Del Regno clock-frequency = <400000>; 170*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&i2c2_pins>; 171*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 172*96564b1eSAngeloGioacchino Del Regno status = "okay"; 173*96564b1eSAngeloGioacchino Del Regno 174*96564b1eSAngeloGioacchino Del Regno typec-mux@48 { 175*96564b1eSAngeloGioacchino Del Regno compatible = "ite,it5205"; 176*96564b1eSAngeloGioacchino Del Regno reg = <0x48>; 177*96564b1eSAngeloGioacchino Del Regno 178*96564b1eSAngeloGioacchino Del Regno mode-switch; 179*96564b1eSAngeloGioacchino Del Regno orientation-switch; 180*96564b1eSAngeloGioacchino Del Regno 181*96564b1eSAngeloGioacchino Del Regno vcc-supply = <&mt6359_vibr_ldo_reg>; 182*96564b1eSAngeloGioacchino Del Regno 183*96564b1eSAngeloGioacchino Del Regno port { 184*96564b1eSAngeloGioacchino Del Regno it5205_sbu_mux: endpoint { 185*96564b1eSAngeloGioacchino Del Regno remote-endpoint = <&typec_con_mux>; 186*96564b1eSAngeloGioacchino Del Regno }; 187*96564b1eSAngeloGioacchino Del Regno }; 188*96564b1eSAngeloGioacchino Del Regno }; 189*96564b1eSAngeloGioacchino Del Regno}; 190*96564b1eSAngeloGioacchino Del Regno 191*96564b1eSAngeloGioacchino Del Regno&i2c4 { 192*96564b1eSAngeloGioacchino Del Regno clock-frequency = <400000>; 193*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&i2c4_pins>; 194*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 195*96564b1eSAngeloGioacchino Del Regno status = "okay"; 196*96564b1eSAngeloGioacchino Del Regno 197*96564b1eSAngeloGioacchino Del Regno /* I2C4 exposed at 39-pins MIPI-LCD connector */ 198*96564b1eSAngeloGioacchino Del Regno}; 199*96564b1eSAngeloGioacchino Del Regno 200*96564b1eSAngeloGioacchino Del Regno&i2c6 { 201*96564b1eSAngeloGioacchino Del Regno clock-frequency = <400000>; 202*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&i2c6_pins>; 203*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 204*96564b1eSAngeloGioacchino Del Regno status = "okay"; 205*96564b1eSAngeloGioacchino Del Regno 206*96564b1eSAngeloGioacchino Del Regno mt6360: pmic@34 { 207*96564b1eSAngeloGioacchino Del Regno compatible = "mediatek,mt6360"; 208*96564b1eSAngeloGioacchino Del Regno reg = <0x34>; 209*96564b1eSAngeloGioacchino Del Regno interrupts-extended = <&pio 101 IRQ_TYPE_EDGE_FALLING>; 210*96564b1eSAngeloGioacchino Del Regno interrupt-names = "IRQB"; 211*96564b1eSAngeloGioacchino Del Regno interrupt-controller; 212*96564b1eSAngeloGioacchino Del Regno #interrupt-cells = <1>; 213*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&mt6360_pins>; 214*96564b1eSAngeloGioacchino Del Regno 215*96564b1eSAngeloGioacchino Del Regno charger { 216*96564b1eSAngeloGioacchino Del Regno compatible = "mediatek,mt6360-chg"; 217*96564b1eSAngeloGioacchino Del Regno richtek,vinovp-microvolt = <14500000>; 218*96564b1eSAngeloGioacchino Del Regno 219*96564b1eSAngeloGioacchino Del Regno otg_vbus_regulator: usb-otg-vbus-regulator { 220*96564b1eSAngeloGioacchino Del Regno regulator-name = "usb-otg-vbus"; 221*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <4425000>; 222*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <5825000>; 223*96564b1eSAngeloGioacchino Del Regno }; 224*96564b1eSAngeloGioacchino Del Regno }; 225*96564b1eSAngeloGioacchino Del Regno 226*96564b1eSAngeloGioacchino Del Regno regulator { 227*96564b1eSAngeloGioacchino Del Regno compatible = "mediatek,mt6360-regulator"; 228*96564b1eSAngeloGioacchino Del Regno LDO_VIN1-supply = <&vsys_buck>; 229*96564b1eSAngeloGioacchino Del Regno LDO_VIN3-supply = <&mt6360_buck2>; 230*96564b1eSAngeloGioacchino Del Regno 231*96564b1eSAngeloGioacchino Del Regno mt6360_buck1: buck1 { 232*96564b1eSAngeloGioacchino Del Regno regulator-name = "emi_vdd2"; 233*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <300000>; 234*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <1300000>; 235*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 236*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP 237*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_ULP>; 238*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 239*96564b1eSAngeloGioacchino Del Regno }; 240*96564b1eSAngeloGioacchino Del Regno 241*96564b1eSAngeloGioacchino Del Regno mt6360_buck2: buck2 { 242*96564b1eSAngeloGioacchino Del Regno regulator-name = "emi_vddq"; 243*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <300000>; 244*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <1300000>; 245*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 246*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP 247*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_ULP>; 248*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 249*96564b1eSAngeloGioacchino Del Regno }; 250*96564b1eSAngeloGioacchino Del Regno 251*96564b1eSAngeloGioacchino Del Regno mt6360_ldo1: ldo1 { 252*96564b1eSAngeloGioacchino Del Regno regulator-name = "ext_lcd_3v3"; 253*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <3300000>; 254*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <3300000>; 255*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 256*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP>; 257*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 258*96564b1eSAngeloGioacchino Del Regno }; 259*96564b1eSAngeloGioacchino Del Regno 260*96564b1eSAngeloGioacchino Del Regno mt6360_ldo2: ldo2 { 261*96564b1eSAngeloGioacchino Del Regno regulator-name = "panel1_p1v8"; 262*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <1800000>; 263*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <1800000>; 264*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 265*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP>; 266*96564b1eSAngeloGioacchino Del Regno }; 267*96564b1eSAngeloGioacchino Del Regno 268*96564b1eSAngeloGioacchino Del Regno mt6360_ldo3: ldo3 { 269*96564b1eSAngeloGioacchino Del Regno regulator-name = "vmc_pmu"; 270*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <1200000>; 271*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <3600000>; 272*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 273*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP>; 274*96564b1eSAngeloGioacchino Del Regno }; 275*96564b1eSAngeloGioacchino Del Regno 276*96564b1eSAngeloGioacchino Del Regno mt6360_ldo5: ldo5 { 277*96564b1eSAngeloGioacchino Del Regno regulator-name = "vmch_pmu"; 278*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <3300000>; 279*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <3300000>; 280*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 281*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP>; 282*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 283*96564b1eSAngeloGioacchino Del Regno }; 284*96564b1eSAngeloGioacchino Del Regno 285*96564b1eSAngeloGioacchino Del Regno mt6360_ldo6: ldo6 { 286*96564b1eSAngeloGioacchino Del Regno regulator-name = "mt6360_ldo6"; /* Test point */ 287*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <500000>; 288*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <2100000>; 289*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 290*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP>; 291*96564b1eSAngeloGioacchino Del Regno }; 292*96564b1eSAngeloGioacchino Del Regno 293*96564b1eSAngeloGioacchino Del Regno mt6360_ldo7: ldo7 { 294*96564b1eSAngeloGioacchino Del Regno regulator-name = "emi_vmddr_en"; 295*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <500000>; 296*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <2100000>; 297*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <MT6360_OPMODE_NORMAL 298*96564b1eSAngeloGioacchino Del Regno MT6360_OPMODE_LP>; 299*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 300*96564b1eSAngeloGioacchino Del Regno }; 301*96564b1eSAngeloGioacchino Del Regno }; 302*96564b1eSAngeloGioacchino Del Regno 303*96564b1eSAngeloGioacchino Del Regno typec { 304*96564b1eSAngeloGioacchino Del Regno compatible = "mediatek,mt6360-tcpc"; 305*96564b1eSAngeloGioacchino Del Regno interrupts-extended = <&pio 100 IRQ_TYPE_LEVEL_LOW>; 306*96564b1eSAngeloGioacchino Del Regno interrupt-names = "PD_IRQB"; 307*96564b1eSAngeloGioacchino Del Regno 308*96564b1eSAngeloGioacchino Del Regno connector { 309*96564b1eSAngeloGioacchino Del Regno compatible = "usb-c-connector"; 310*96564b1eSAngeloGioacchino Del Regno label = "USB-C"; 311*96564b1eSAngeloGioacchino Del Regno data-role = "dual"; 312*96564b1eSAngeloGioacchino Del Regno op-sink-microwatt = <10000000>; 313*96564b1eSAngeloGioacchino Del Regno power-role = "dual"; 314*96564b1eSAngeloGioacchino Del Regno try-power-role = "sink"; 315*96564b1eSAngeloGioacchino Del Regno 316*96564b1eSAngeloGioacchino Del Regno source-pdos = <PDO_FIXED(5000, 1000, 317*96564b1eSAngeloGioacchino Del Regno PDO_FIXED_DUAL_ROLE | 318*96564b1eSAngeloGioacchino Del Regno PDO_FIXED_DATA_SWAP)>; 319*96564b1eSAngeloGioacchino Del Regno sink-pdos = <PDO_FIXED(5000, 3000, 320*96564b1eSAngeloGioacchino Del Regno PDO_FIXED_DUAL_ROLE | 321*96564b1eSAngeloGioacchino Del Regno PDO_FIXED_DATA_SWAP)>; 322*96564b1eSAngeloGioacchino Del Regno 323*96564b1eSAngeloGioacchino Del Regno ports { 324*96564b1eSAngeloGioacchino Del Regno #address-cells = <1>; 325*96564b1eSAngeloGioacchino Del Regno #size-cells = <0>; 326*96564b1eSAngeloGioacchino Del Regno 327*96564b1eSAngeloGioacchino Del Regno port@0 { 328*96564b1eSAngeloGioacchino Del Regno reg = <0>; 329*96564b1eSAngeloGioacchino Del Regno typec_con_hs: endpoint { 330*96564b1eSAngeloGioacchino Del Regno remote-endpoint = <&mtu3_hs0_role_sw>; 331*96564b1eSAngeloGioacchino Del Regno }; 332*96564b1eSAngeloGioacchino Del Regno }; 333*96564b1eSAngeloGioacchino Del Regno 334*96564b1eSAngeloGioacchino Del Regno port@2 { 335*96564b1eSAngeloGioacchino Del Regno reg = <2>; 336*96564b1eSAngeloGioacchino Del Regno typec_con_mux: endpoint { 337*96564b1eSAngeloGioacchino Del Regno remote-endpoint = <&it5205_sbu_mux>; 338*96564b1eSAngeloGioacchino Del Regno }; 339*96564b1eSAngeloGioacchino Del Regno }; 340*96564b1eSAngeloGioacchino Del Regno }; 341*96564b1eSAngeloGioacchino Del Regno }; 342*96564b1eSAngeloGioacchino Del Regno }; 343*96564b1eSAngeloGioacchino Del Regno }; 344*96564b1eSAngeloGioacchino Del Regno}; 345*96564b1eSAngeloGioacchino Del Regno 346*96564b1eSAngeloGioacchino Del Regno/* MMC0 Controller: eMMC (HS400). Power lines are shared with UFS! */ 347*96564b1eSAngeloGioacchino Del Regno&mmc0 { 348*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default", "state_uhs"; 349*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&mmc0_default_pins>; 350*96564b1eSAngeloGioacchino Del Regno pinctrl-1 = <&mmc0_uhs_pins>; 351*96564b1eSAngeloGioacchino Del Regno bus-width = <8>; 352*96564b1eSAngeloGioacchino Del Regno max-frequency = <200000000>; 353*96564b1eSAngeloGioacchino Del Regno hs400-ds-delay = <0x14c11>; 354*96564b1eSAngeloGioacchino Del Regno cap-mmc-highspeed; 355*96564b1eSAngeloGioacchino Del Regno cap-mmc-hw-reset; 356*96564b1eSAngeloGioacchino Del Regno mmc-hs200-1_8v; 357*96564b1eSAngeloGioacchino Del Regno mmc-hs400-1_8v; 358*96564b1eSAngeloGioacchino Del Regno no-sdio; 359*96564b1eSAngeloGioacchino Del Regno no-sd; 360*96564b1eSAngeloGioacchino Del Regno non-removable; 361*96564b1eSAngeloGioacchino Del Regno vmmc-supply = <&mt6359_vemc_1_ldo_reg>; 362*96564b1eSAngeloGioacchino Del Regno vqmmc-supply = <&mt6359_vufs_ldo_reg>; 363*96564b1eSAngeloGioacchino Del Regno status = "okay"; 364*96564b1eSAngeloGioacchino Del Regno}; 365*96564b1eSAngeloGioacchino Del Regno 366*96564b1eSAngeloGioacchino Del Regno/* MMC1 Controller: MicroSD card slot */ 367*96564b1eSAngeloGioacchino Del Regno&mmc1 { 368*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default", "state_uhs"; 369*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&mmc1_default_pins>, <&mmc1_pins_detect>; 370*96564b1eSAngeloGioacchino Del Regno pinctrl-1 = <&mmc1_default_pins>; 371*96564b1eSAngeloGioacchino Del Regno bus-width = <4>; 372*96564b1eSAngeloGioacchino Del Regno max-frequency = <200000000>; 373*96564b1eSAngeloGioacchino Del Regno cap-sd-highspeed; 374*96564b1eSAngeloGioacchino Del Regno cd-gpios = <&pio 129 GPIO_ACTIVE_LOW>; 375*96564b1eSAngeloGioacchino Del Regno no-mmc; 376*96564b1eSAngeloGioacchino Del Regno no-sdio; 377*96564b1eSAngeloGioacchino Del Regno sd-uhs-sdr50; 378*96564b1eSAngeloGioacchino Del Regno sd-uhs-sdr104; 379*96564b1eSAngeloGioacchino Del Regno vmmc-supply = <&mt6360_ldo5>; 380*96564b1eSAngeloGioacchino Del Regno vqmmc-supply = <&mt6360_ldo3>; 381*96564b1eSAngeloGioacchino Del Regno status = "okay"; 382*96564b1eSAngeloGioacchino Del Regno}; 383*96564b1eSAngeloGioacchino Del Regno 384*96564b1eSAngeloGioacchino Del Regno&mt6359_vaud18_ldo_reg { 385*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 386*96564b1eSAngeloGioacchino Del Regno}; 387*96564b1eSAngeloGioacchino Del Regno 388*96564b1eSAngeloGioacchino Del Regno&mt6359_vbbck_ldo_reg { 389*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 390*96564b1eSAngeloGioacchino Del Regno}; 391*96564b1eSAngeloGioacchino Del Regno 392*96564b1eSAngeloGioacchino Del Regno/* For USB Hub */ 393*96564b1eSAngeloGioacchino Del Regno&mt6359_vcamio_ldo_reg { 394*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 395*96564b1eSAngeloGioacchino Del Regno}; 396*96564b1eSAngeloGioacchino Del Regno 397*96564b1eSAngeloGioacchino Del Regno&mt6359_vcn33_2_bt_ldo_reg { 398*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <3300000>; 399*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <3300000>; 400*96564b1eSAngeloGioacchino Del Regno}; 401*96564b1eSAngeloGioacchino Del Regno 402*96564b1eSAngeloGioacchino Del Regno&mt6359_vcore_buck_reg { 403*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 404*96564b1eSAngeloGioacchino Del Regno}; 405*96564b1eSAngeloGioacchino Del Regno 406*96564b1eSAngeloGioacchino Del Regno&mt6359_vgpu11_buck_reg { 407*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 408*96564b1eSAngeloGioacchino Del Regno}; 409*96564b1eSAngeloGioacchino Del Regno 410*96564b1eSAngeloGioacchino Del Regno&mt6359_vproc1_buck_reg { 411*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 412*96564b1eSAngeloGioacchino Del Regno}; 413*96564b1eSAngeloGioacchino Del Regno 414*96564b1eSAngeloGioacchino Del Regno&mt6359_vproc2_buck_reg { 415*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 416*96564b1eSAngeloGioacchino Del Regno}; 417*96564b1eSAngeloGioacchino Del Regno 418*96564b1eSAngeloGioacchino Del Regno&mt6359_vpu_buck_reg { 419*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 420*96564b1eSAngeloGioacchino Del Regno}; 421*96564b1eSAngeloGioacchino Del Regno 422*96564b1eSAngeloGioacchino Del Regno&mt6359_vrf12_ldo_reg { 423*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 424*96564b1eSAngeloGioacchino Del Regno}; 425*96564b1eSAngeloGioacchino Del Regno 426*96564b1eSAngeloGioacchino Del Regno&mt6359_vsram_md_ldo_reg { 427*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 428*96564b1eSAngeloGioacchino Del Regno}; 429*96564b1eSAngeloGioacchino Del Regno 430*96564b1eSAngeloGioacchino Del Regno/* for GPU SRAM */ 431*96564b1eSAngeloGioacchino Del Regno&mt6359_vsram_others_ldo_reg { 432*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <750000>; 433*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <750000>; 434*96564b1eSAngeloGioacchino Del Regno}; 435*96564b1eSAngeloGioacchino Del Regno 436*96564b1eSAngeloGioacchino Del Regno&pio { 437*96564b1eSAngeloGioacchino Del Regno eth_default_pins: eth-default-pins { 438*96564b1eSAngeloGioacchino Del Regno pins-cc { 439*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO85__FUNC_GBE_TXC>, 440*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO86__FUNC_GBE_RXC>, 441*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO87__FUNC_GBE_RXDV>, 442*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO88__FUNC_GBE_TXEN>; 443*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 444*96564b1eSAngeloGioacchino Del Regno }; 445*96564b1eSAngeloGioacchino Del Regno 446*96564b1eSAngeloGioacchino Del Regno pins-mdio { 447*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO89__FUNC_GBE_MDC>, 448*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO90__FUNC_GBE_MDIO>; 449*96564b1eSAngeloGioacchino Del Regno input-enable; 450*96564b1eSAngeloGioacchino Del Regno }; 451*96564b1eSAngeloGioacchino Del Regno 452*96564b1eSAngeloGioacchino Del Regno pins-power { 453*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO91__FUNC_GPIO91>, 454*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO92__FUNC_GPIO92>; 455*96564b1eSAngeloGioacchino Del Regno output-high; 456*96564b1eSAngeloGioacchino Del Regno }; 457*96564b1eSAngeloGioacchino Del Regno 458*96564b1eSAngeloGioacchino Del Regno pins-rst { 459*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO93__FUNC_GPIO93>; 460*96564b1eSAngeloGioacchino Del Regno }; 461*96564b1eSAngeloGioacchino Del Regno 462*96564b1eSAngeloGioacchino Del Regno pins-rxd { 463*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO81__FUNC_GBE_RXD3>, 464*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO82__FUNC_GBE_RXD2>, 465*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO83__FUNC_GBE_RXD1>, 466*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO84__FUNC_GBE_RXD0>; 467*96564b1eSAngeloGioacchino Del Regno }; 468*96564b1eSAngeloGioacchino Del Regno 469*96564b1eSAngeloGioacchino Del Regno pins-txd { 470*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO77__FUNC_GBE_TXD3>, 471*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO78__FUNC_GBE_TXD2>, 472*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO79__FUNC_GBE_TXD1>, 473*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO80__FUNC_GBE_TXD0>; 474*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 475*96564b1eSAngeloGioacchino Del Regno }; 476*96564b1eSAngeloGioacchino Del Regno }; 477*96564b1eSAngeloGioacchino Del Regno 478*96564b1eSAngeloGioacchino Del Regno eth_sleep_pins: eth-sleep-pins { 479*96564b1eSAngeloGioacchino Del Regno pins-cc { 480*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO85__FUNC_GPIO85>, 481*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO86__FUNC_GPIO86>, 482*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO87__FUNC_GPIO87>, 483*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO88__FUNC_GPIO88>; 484*96564b1eSAngeloGioacchino Del Regno }; 485*96564b1eSAngeloGioacchino Del Regno 486*96564b1eSAngeloGioacchino Del Regno pins-mdio { 487*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO89__FUNC_GPIO89>, 488*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO90__FUNC_GPIO90>; 489*96564b1eSAngeloGioacchino Del Regno bias-disable; 490*96564b1eSAngeloGioacchino Del Regno input-disable; 491*96564b1eSAngeloGioacchino Del Regno }; 492*96564b1eSAngeloGioacchino Del Regno 493*96564b1eSAngeloGioacchino Del Regno pins-rxd { 494*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO81__FUNC_GPIO81>, 495*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO82__FUNC_GPIO82>, 496*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO83__FUNC_GPIO83>, 497*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO84__FUNC_GPIO84>; 498*96564b1eSAngeloGioacchino Del Regno }; 499*96564b1eSAngeloGioacchino Del Regno 500*96564b1eSAngeloGioacchino Del Regno pins-txd { 501*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO77__FUNC_GPIO77>, 502*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO78__FUNC_GPIO78>, 503*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO79__FUNC_GPIO79>, 504*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO80__FUNC_GPIO80>; 505*96564b1eSAngeloGioacchino Del Regno }; 506*96564b1eSAngeloGioacchino Del Regno }; 507*96564b1eSAngeloGioacchino Del Regno 508*96564b1eSAngeloGioacchino Del Regno i2c2_pins: i2c2-pins { 509*96564b1eSAngeloGioacchino Del Regno pins-bus { 510*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO12__FUNC_SDA2>, 511*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO13__FUNC_SCL2>; 512*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PULL_SET_RSEL_111>; 513*96564b1eSAngeloGioacchino Del Regno drive-strength = <6>; 514*96564b1eSAngeloGioacchino Del Regno drive-strength-microamp = <1000>; 515*96564b1eSAngeloGioacchino Del Regno }; 516*96564b1eSAngeloGioacchino Del Regno }; 517*96564b1eSAngeloGioacchino Del Regno 518*96564b1eSAngeloGioacchino Del Regno i2c4_pins: i2c4-pins { 519*96564b1eSAngeloGioacchino Del Regno pins-bus { 520*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO16__FUNC_SDA4>, 521*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO17__FUNC_SCL4>; 522*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PULL_SET_RSEL_111>; 523*96564b1eSAngeloGioacchino Del Regno drive-strength-microamp = <1000>; 524*96564b1eSAngeloGioacchino Del Regno }; 525*96564b1eSAngeloGioacchino Del Regno }; 526*96564b1eSAngeloGioacchino Del Regno 527*96564b1eSAngeloGioacchino Del Regno i2c6_pins: i2c6-pins { 528*96564b1eSAngeloGioacchino Del Regno pins { 529*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO25__FUNC_SDA6>, 530*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO26__FUNC_SCL6>; 531*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PULL_SET_RSEL_111>; 532*96564b1eSAngeloGioacchino Del Regno }; 533*96564b1eSAngeloGioacchino Del Regno }; 534*96564b1eSAngeloGioacchino Del Regno 535*96564b1eSAngeloGioacchino Del Regno mmc0_default_pins: mmc0-default-pins { 536*96564b1eSAngeloGioacchino Del Regno pins-clk { 537*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>; 538*96564b1eSAngeloGioacchino Del Regno bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 539*96564b1eSAngeloGioacchino Del Regno drive-strength = <6>; 540*96564b1eSAngeloGioacchino Del Regno }; 541*96564b1eSAngeloGioacchino Del Regno 542*96564b1eSAngeloGioacchino Del Regno pins-cmd-dat { 543*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>, 544*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO125__FUNC_MSDC0_DAT1>, 545*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO124__FUNC_MSDC0_DAT2>, 546*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO123__FUNC_MSDC0_DAT3>, 547*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO119__FUNC_MSDC0_DAT4>, 548*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO118__FUNC_MSDC0_DAT5>, 549*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO117__FUNC_MSDC0_DAT6>, 550*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO116__FUNC_MSDC0_DAT7>, 551*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO121__FUNC_MSDC0_CMD>; 552*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PUPD_SET_R1R0_01>; 553*96564b1eSAngeloGioacchino Del Regno drive-strength = <6>; 554*96564b1eSAngeloGioacchino Del Regno input-enable; 555*96564b1eSAngeloGioacchino Del Regno }; 556*96564b1eSAngeloGioacchino Del Regno 557*96564b1eSAngeloGioacchino Del Regno pins-rst { 558*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>; 559*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PUPD_SET_R1R0_01>; 560*96564b1eSAngeloGioacchino Del Regno drive-strength = <6>; 561*96564b1eSAngeloGioacchino Del Regno }; 562*96564b1eSAngeloGioacchino Del Regno }; 563*96564b1eSAngeloGioacchino Del Regno 564*96564b1eSAngeloGioacchino Del Regno mmc0_uhs_pins: mmc0-uhs-pins { 565*96564b1eSAngeloGioacchino Del Regno pins-clk { 566*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>; 567*96564b1eSAngeloGioacchino Del Regno bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 568*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 569*96564b1eSAngeloGioacchino Del Regno }; 570*96564b1eSAngeloGioacchino Del Regno 571*96564b1eSAngeloGioacchino Del Regno pins-cmd-dat { 572*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>, 573*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO125__FUNC_MSDC0_DAT1>, 574*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO124__FUNC_MSDC0_DAT2>, 575*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO123__FUNC_MSDC0_DAT3>, 576*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO119__FUNC_MSDC0_DAT4>, 577*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO118__FUNC_MSDC0_DAT5>, 578*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO117__FUNC_MSDC0_DAT6>, 579*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO116__FUNC_MSDC0_DAT7>, 580*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO121__FUNC_MSDC0_CMD>; 581*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PUPD_SET_R1R0_01>; 582*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 583*96564b1eSAngeloGioacchino Del Regno input-enable; 584*96564b1eSAngeloGioacchino Del Regno }; 585*96564b1eSAngeloGioacchino Del Regno 586*96564b1eSAngeloGioacchino Del Regno pins-ds { 587*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>; 588*96564b1eSAngeloGioacchino Del Regno bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 589*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 590*96564b1eSAngeloGioacchino Del Regno }; 591*96564b1eSAngeloGioacchino Del Regno 592*96564b1eSAngeloGioacchino Del Regno pins-rst { 593*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>; 594*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PUPD_SET_R1R0_01>; 595*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 596*96564b1eSAngeloGioacchino Del Regno }; 597*96564b1eSAngeloGioacchino Del Regno }; 598*96564b1eSAngeloGioacchino Del Regno 599*96564b1eSAngeloGioacchino Del Regno mmc1_default_pins: mmc1-default-pins { 600*96564b1eSAngeloGioacchino Del Regno pins-clk { 601*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>; 602*96564b1eSAngeloGioacchino Del Regno bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 603*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 604*96564b1eSAngeloGioacchino Del Regno }; 605*96564b1eSAngeloGioacchino Del Regno 606*96564b1eSAngeloGioacchino Del Regno pins-cmd-dat { 607*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>, 608*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO112__FUNC_MSDC1_DAT0>, 609*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO113__FUNC_MSDC1_DAT1>, 610*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO114__FUNC_MSDC1_DAT2>, 611*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO115__FUNC_MSDC1_DAT3>; 612*96564b1eSAngeloGioacchino Del Regno bias-pull-up = <MTK_PUPD_SET_R1R0_01>; 613*96564b1eSAngeloGioacchino Del Regno drive-strength = <8>; 614*96564b1eSAngeloGioacchino Del Regno input-enable; 615*96564b1eSAngeloGioacchino Del Regno }; 616*96564b1eSAngeloGioacchino Del Regno }; 617*96564b1eSAngeloGioacchino Del Regno 618*96564b1eSAngeloGioacchino Del Regno mmc1_pins_detect: mmc1-detect-pins { 619*96564b1eSAngeloGioacchino Del Regno pins-insert { 620*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO129__FUNC_GPIO129>; 621*96564b1eSAngeloGioacchino Del Regno bias-pull-up; 622*96564b1eSAngeloGioacchino Del Regno }; 623*96564b1eSAngeloGioacchino Del Regno }; 624*96564b1eSAngeloGioacchino Del Regno 625*96564b1eSAngeloGioacchino Del Regno mt6360_pins: mt6360-pins { 626*96564b1eSAngeloGioacchino Del Regno pins-irq { 627*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO100__FUNC_GPIO100>, 628*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO101__FUNC_GPIO101>; 629*96564b1eSAngeloGioacchino Del Regno input-enable; 630*96564b1eSAngeloGioacchino Del Regno bias-pull-up; 631*96564b1eSAngeloGioacchino Del Regno }; 632*96564b1eSAngeloGioacchino Del Regno }; 633*96564b1eSAngeloGioacchino Del Regno 634*96564b1eSAngeloGioacchino Del Regno pcie0_default_pins: pcie0-default-pins { 635*96564b1eSAngeloGioacchino Del Regno pins-bus { 636*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO19__FUNC_WAKEN>, 637*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO20__FUNC_PERSTN>, 638*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO21__FUNC_CLKREQN>; 639*96564b1eSAngeloGioacchino Del Regno bias-pull-up; 640*96564b1eSAngeloGioacchino Del Regno }; 641*96564b1eSAngeloGioacchino Del Regno }; 642*96564b1eSAngeloGioacchino Del Regno 643*96564b1eSAngeloGioacchino Del Regno pcie1_default_pins: pcie1-default-pins { 644*96564b1eSAngeloGioacchino Del Regno pins-bus { 645*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO0__FUNC_PERSTN_1>, 646*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO1__FUNC_CLKREQN_1>, 647*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO2__FUNC_WAKEN_1>; 648*96564b1eSAngeloGioacchino Del Regno bias-disable; 649*96564b1eSAngeloGioacchino Del Regno }; 650*96564b1eSAngeloGioacchino Del Regno }; 651*96564b1eSAngeloGioacchino Del Regno 652*96564b1eSAngeloGioacchino Del Regno spi1_pins: spi1-default-pins { 653*96564b1eSAngeloGioacchino Del Regno pins-bus { 654*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO136__FUNC_SPIM1_CSB>, 655*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO137__FUNC_SPIM1_CLK>, 656*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO138__FUNC_SPIM1_MO>, 657*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO139__FUNC_SPIM1_MI>; 658*96564b1eSAngeloGioacchino Del Regno bias-disable; 659*96564b1eSAngeloGioacchino Del Regno }; 660*96564b1eSAngeloGioacchino Del Regno }; 661*96564b1eSAngeloGioacchino Del Regno 662*96564b1eSAngeloGioacchino Del Regno spi2_pins: spi2-default-pins { 663*96564b1eSAngeloGioacchino Del Regno pins-bus { 664*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO140__FUNC_SPIM2_CSB>, 665*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO141__FUNC_SPIM2_CLK>, 666*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO142__FUNC_SPIM2_MO>, 667*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO143__FUNC_SPIM2_MI>; 668*96564b1eSAngeloGioacchino Del Regno bias-disable; 669*96564b1eSAngeloGioacchino Del Regno }; 670*96564b1eSAngeloGioacchino Del Regno }; 671*96564b1eSAngeloGioacchino Del Regno 672*96564b1eSAngeloGioacchino Del Regno uart0_pins: uart0-pins { 673*96564b1eSAngeloGioacchino Del Regno pins-bus { 674*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO98__FUNC_UTXD0>, 675*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO99__FUNC_URXD0>; 676*96564b1eSAngeloGioacchino Del Regno }; 677*96564b1eSAngeloGioacchino Del Regno }; 678*96564b1eSAngeloGioacchino Del Regno 679*96564b1eSAngeloGioacchino Del Regno uart1_pins: uart1-pins { 680*96564b1eSAngeloGioacchino Del Regno pins-bus { 681*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO102__FUNC_UTXD1>, 682*96564b1eSAngeloGioacchino Del Regno <PINMUX_GPIO103__FUNC_URXD1>; 683*96564b1eSAngeloGioacchino Del Regno }; 684*96564b1eSAngeloGioacchino Del Regno }; 685*96564b1eSAngeloGioacchino Del Regno 686*96564b1eSAngeloGioacchino Del Regno wifi_vreg_pins: wifi-vreg-pins { 687*96564b1eSAngeloGioacchino Del Regno pins-wifi-pmu-en { 688*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO65__FUNC_GPIO65>; 689*96564b1eSAngeloGioacchino Del Regno output-high; 690*96564b1eSAngeloGioacchino Del Regno }; 691*96564b1eSAngeloGioacchino Del Regno 692*96564b1eSAngeloGioacchino Del Regno pins-wifi-vreg-en { 693*96564b1eSAngeloGioacchino Del Regno pinmux = <PINMUX_GPIO67__FUNC_GPIO67>; 694*96564b1eSAngeloGioacchino Del Regno }; 695*96564b1eSAngeloGioacchino Del Regno }; 696*96564b1eSAngeloGioacchino Del Regno}; 697*96564b1eSAngeloGioacchino Del Regno 698*96564b1eSAngeloGioacchino Del Regno&pcie0 { 699*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 700*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&pcie0_default_pins>; 701*96564b1eSAngeloGioacchino Del Regno status = "okay"; 702*96564b1eSAngeloGioacchino Del Regno}; 703*96564b1eSAngeloGioacchino Del Regno 704*96564b1eSAngeloGioacchino Del Regno&pcie1 { 705*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 706*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&pcie1_default_pins>; 707*96564b1eSAngeloGioacchino Del Regno status = "okay"; 708*96564b1eSAngeloGioacchino Del Regno}; 709*96564b1eSAngeloGioacchino Del Regno 710*96564b1eSAngeloGioacchino Del Regno&pmic { 711*96564b1eSAngeloGioacchino Del Regno interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>; 712*96564b1eSAngeloGioacchino Del Regno}; 713*96564b1eSAngeloGioacchino Del Regno 714*96564b1eSAngeloGioacchino Del Regno&scp { 715*96564b1eSAngeloGioacchino Del Regno memory-region = <&scp_mem>; 716*96564b1eSAngeloGioacchino Del Regno status = "okay"; 717*96564b1eSAngeloGioacchino Del Regno}; 718*96564b1eSAngeloGioacchino Del Regno 719*96564b1eSAngeloGioacchino Del Regno&spi1 { 720*96564b1eSAngeloGioacchino Del Regno /* Exposed at 40 pin connector */ 721*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&spi1_pins>; 722*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 723*96564b1eSAngeloGioacchino Del Regno mediatek,pad-select = <0>; 724*96564b1eSAngeloGioacchino Del Regno #address-cells = <1>; 725*96564b1eSAngeloGioacchino Del Regno #size-cells = <0>; 726*96564b1eSAngeloGioacchino Del Regno status = "okay"; 727*96564b1eSAngeloGioacchino Del Regno}; 728*96564b1eSAngeloGioacchino Del Regno 729*96564b1eSAngeloGioacchino Del Regno&spi2 { 730*96564b1eSAngeloGioacchino Del Regno /* Exposed at 40 pin connector */ 731*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&spi2_pins>; 732*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 733*96564b1eSAngeloGioacchino Del Regno mediatek,pad-select = <0>; 734*96564b1eSAngeloGioacchino Del Regno #address-cells = <1>; 735*96564b1eSAngeloGioacchino Del Regno #size-cells = <0>; 736*96564b1eSAngeloGioacchino Del Regno status = "okay"; 737*96564b1eSAngeloGioacchino Del Regno}; 738*96564b1eSAngeloGioacchino Del Regno 739*96564b1eSAngeloGioacchino Del Regno&spmi { 740*96564b1eSAngeloGioacchino Del Regno #address-cells = <2>; 741*96564b1eSAngeloGioacchino Del Regno #size-cells = <0>; 742*96564b1eSAngeloGioacchino Del Regno 743*96564b1eSAngeloGioacchino Del Regno mt6315_6: pmic@6 { 744*96564b1eSAngeloGioacchino Del Regno compatible = "mediatek,mt6315-regulator"; 745*96564b1eSAngeloGioacchino Del Regno reg = <0x6 SPMI_USID>; 746*96564b1eSAngeloGioacchino Del Regno 747*96564b1eSAngeloGioacchino Del Regno regulators { 748*96564b1eSAngeloGioacchino Del Regno mt6315_6_vbuck1: vbuck1 { 749*96564b1eSAngeloGioacchino Del Regno regulator-compatible = "vbuck1"; 750*96564b1eSAngeloGioacchino Del Regno regulator-name = "Vbcpu"; 751*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <300000>; 752*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <1193750>; 753*96564b1eSAngeloGioacchino Del Regno regulator-enable-ramp-delay = <256>; 754*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <0 1 2>; 755*96564b1eSAngeloGioacchino Del Regno regulator-always-on; 756*96564b1eSAngeloGioacchino Del Regno }; 757*96564b1eSAngeloGioacchino Del Regno }; 758*96564b1eSAngeloGioacchino Del Regno }; 759*96564b1eSAngeloGioacchino Del Regno 760*96564b1eSAngeloGioacchino Del Regno mt6315_7: pmic@7 { 761*96564b1eSAngeloGioacchino Del Regno compatible = "mediatek,mt6315-regulator"; 762*96564b1eSAngeloGioacchino Del Regno reg = <0x7 SPMI_USID>; 763*96564b1eSAngeloGioacchino Del Regno 764*96564b1eSAngeloGioacchino Del Regno regulators { 765*96564b1eSAngeloGioacchino Del Regno mt6315_7_vbuck1: vbuck1 { 766*96564b1eSAngeloGioacchino Del Regno regulator-compatible = "vbuck1"; 767*96564b1eSAngeloGioacchino Del Regno regulator-name = "Vgpu"; 768*96564b1eSAngeloGioacchino Del Regno regulator-min-microvolt = <300000>; 769*96564b1eSAngeloGioacchino Del Regno regulator-max-microvolt = <1193750>; 770*96564b1eSAngeloGioacchino Del Regno regulator-enable-ramp-delay = <256>; 771*96564b1eSAngeloGioacchino Del Regno regulator-allowed-modes = <0 1 2>; 772*96564b1eSAngeloGioacchino Del Regno }; 773*96564b1eSAngeloGioacchino Del Regno }; 774*96564b1eSAngeloGioacchino Del Regno }; 775*96564b1eSAngeloGioacchino Del Regno}; 776*96564b1eSAngeloGioacchino Del Regno 777*96564b1eSAngeloGioacchino Del Regno&uart0 { 778*96564b1eSAngeloGioacchino Del Regno /* Exposed at 40 pin connector */ 779*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&uart0_pins>; 780*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 781*96564b1eSAngeloGioacchino Del Regno status = "okay"; 782*96564b1eSAngeloGioacchino Del Regno}; 783*96564b1eSAngeloGioacchino Del Regno 784*96564b1eSAngeloGioacchino Del Regno&uart1 { 785*96564b1eSAngeloGioacchino Del Regno /* Exposed at 40 pin connector */ 786*96564b1eSAngeloGioacchino Del Regno pinctrl-0 = <&uart1_pins>; 787*96564b1eSAngeloGioacchino Del Regno pinctrl-names = "default"; 788*96564b1eSAngeloGioacchino Del Regno status = "okay"; 789*96564b1eSAngeloGioacchino Del Regno}; 790*96564b1eSAngeloGioacchino Del Regno 791*96564b1eSAngeloGioacchino Del Regno&ssusb0 { 792*96564b1eSAngeloGioacchino Del Regno role-switch-default-mode = "host"; 793*96564b1eSAngeloGioacchino Del Regno usb-role-switch; 794*96564b1eSAngeloGioacchino Del Regno vusb33-supply = <&mt6359_vusb_ldo_reg>; 795*96564b1eSAngeloGioacchino Del Regno status = "okay"; 796*96564b1eSAngeloGioacchino Del Regno 797*96564b1eSAngeloGioacchino Del Regno port { 798*96564b1eSAngeloGioacchino Del Regno mtu3_hs0_role_sw: endpoint { 799*96564b1eSAngeloGioacchino Del Regno remote-endpoint = <&typec_con_hs>; 800*96564b1eSAngeloGioacchino Del Regno }; 801*96564b1eSAngeloGioacchino Del Regno }; 802*96564b1eSAngeloGioacchino Del Regno}; 803*96564b1eSAngeloGioacchino Del Regno 804*96564b1eSAngeloGioacchino Del Regno&ssusb2 { 805*96564b1eSAngeloGioacchino Del Regno vusb33-supply = <&mt6359_vusb_ldo_reg>; 806*96564b1eSAngeloGioacchino Del Regno status = "okay"; 807*96564b1eSAngeloGioacchino Del Regno}; 808*96564b1eSAngeloGioacchino Del Regno 809*96564b1eSAngeloGioacchino Del Regno&xhci0 { 810*96564b1eSAngeloGioacchino Del Regno vbus-supply = <&otg_vbus_regulator>; 811*96564b1eSAngeloGioacchino Del Regno status = "okay"; 812*96564b1eSAngeloGioacchino Del Regno}; 813*96564b1eSAngeloGioacchino Del Regno 814*96564b1eSAngeloGioacchino Del Regno&xhci1 { 815*96564b1eSAngeloGioacchino Del Regno /* MT7921's USB Bluetooth has issues with USB2 LPM */ 816*96564b1eSAngeloGioacchino Del Regno usb2-lpm-disable; 817*96564b1eSAngeloGioacchino Del Regno vusb33-supply = <&mt6359_vusb_ldo_reg>; 818*96564b1eSAngeloGioacchino Del Regno vbus-supply = <&vsys>; 819*96564b1eSAngeloGioacchino Del Regno status = "okay"; 820*96564b1eSAngeloGioacchino Del Regno}; 821*96564b1eSAngeloGioacchino Del Regno 822*96564b1eSAngeloGioacchino Del Regno&xhci2 { 823*96564b1eSAngeloGioacchino Del Regno vbus-supply = <&vsys>; 824*96564b1eSAngeloGioacchino Del Regno status = "okay"; 825*96564b1eSAngeloGioacchino Del Regno}; 826