1*38c4a08cSVignesh Raghavendra// SPDX-License-Identifier: GPL-2.0 2*38c4a08cSVignesh Raghavendra/* 3*38c4a08cSVignesh Raghavendra * AM62A SK: https://www.ti.com/lit/zip/sprr459 4*38c4a08cSVignesh Raghavendra * 5*38c4a08cSVignesh Raghavendra * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/ 6*38c4a08cSVignesh Raghavendra */ 7*38c4a08cSVignesh Raghavendra 8*38c4a08cSVignesh Raghavendra/dts-v1/; 9*38c4a08cSVignesh Raghavendra 10*38c4a08cSVignesh Raghavendra#include <dt-bindings/leds/common.h> 11*38c4a08cSVignesh Raghavendra#include <dt-bindings/gpio/gpio.h> 12*38c4a08cSVignesh Raghavendra#include "k3-am62a7.dtsi" 13*38c4a08cSVignesh Raghavendra 14*38c4a08cSVignesh Raghavendra/ { 15*38c4a08cSVignesh Raghavendra compatible = "ti,am62a7-sk", "ti,am62a7"; 16*38c4a08cSVignesh Raghavendra model = "Texas Instruments AM62A7 SK"; 17*38c4a08cSVignesh Raghavendra 18*38c4a08cSVignesh Raghavendra aliases { 19*38c4a08cSVignesh Raghavendra serial2 = &main_uart0; 20*38c4a08cSVignesh Raghavendra mmc1 = &sdhci1; 21*38c4a08cSVignesh Raghavendra }; 22*38c4a08cSVignesh Raghavendra 23*38c4a08cSVignesh Raghavendra chosen { 24*38c4a08cSVignesh Raghavendra stdout-path = "serial2:115200n8"; 25*38c4a08cSVignesh Raghavendra }; 26*38c4a08cSVignesh Raghavendra 27*38c4a08cSVignesh Raghavendra memory@80000000 { 28*38c4a08cSVignesh Raghavendra device_type = "memory"; 29*38c4a08cSVignesh Raghavendra /* 2G RAM */ 30*38c4a08cSVignesh Raghavendra reg = <0x00000000 0x80000000 0x00000000 0x80000000>; 31*38c4a08cSVignesh Raghavendra }; 32*38c4a08cSVignesh Raghavendra 33*38c4a08cSVignesh Raghavendra reserved-memory { 34*38c4a08cSVignesh Raghavendra #address-cells = <2>; 35*38c4a08cSVignesh Raghavendra #size-cells = <2>; 36*38c4a08cSVignesh Raghavendra ranges; 37*38c4a08cSVignesh Raghavendra 38*38c4a08cSVignesh Raghavendra secure_tfa_ddr: tfa@9e780000 { 39*38c4a08cSVignesh Raghavendra reg = <0x00 0x9e780000 0x00 0x80000>; 40*38c4a08cSVignesh Raghavendra alignment = <0x1000>; 41*38c4a08cSVignesh Raghavendra no-map; 42*38c4a08cSVignesh Raghavendra }; 43*38c4a08cSVignesh Raghavendra 44*38c4a08cSVignesh Raghavendra secure_ddr: optee@9e800000 { 45*38c4a08cSVignesh Raghavendra reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */ 46*38c4a08cSVignesh Raghavendra alignment = <0x1000>; 47*38c4a08cSVignesh Raghavendra no-map; 48*38c4a08cSVignesh Raghavendra }; 49*38c4a08cSVignesh Raghavendra 50*38c4a08cSVignesh Raghavendra wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 { 51*38c4a08cSVignesh Raghavendra compatible = "shared-dma-pool"; 52*38c4a08cSVignesh Raghavendra reg = <0x00 0x9c900000 0x00 0x01e00000>; 53*38c4a08cSVignesh Raghavendra no-map; 54*38c4a08cSVignesh Raghavendra }; 55*38c4a08cSVignesh Raghavendra }; 56*38c4a08cSVignesh Raghavendra 57*38c4a08cSVignesh Raghavendra vmain_pd: regulator-0 { 58*38c4a08cSVignesh Raghavendra /* TPS25750 PD CONTROLLER OUTPUT */ 59*38c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 60*38c4a08cSVignesh Raghavendra regulator-name = "vmain_pd"; 61*38c4a08cSVignesh Raghavendra regulator-min-microvolt = <5000000>; 62*38c4a08cSVignesh Raghavendra regulator-max-microvolt = <5000000>; 63*38c4a08cSVignesh Raghavendra regulator-always-on; 64*38c4a08cSVignesh Raghavendra regulator-boot-on; 65*38c4a08cSVignesh Raghavendra }; 66*38c4a08cSVignesh Raghavendra 67*38c4a08cSVignesh Raghavendra vcc_5v0: regulator-1 { 68*38c4a08cSVignesh Raghavendra /* Output of TPS63070 */ 69*38c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 70*38c4a08cSVignesh Raghavendra regulator-name = "vcc_5v0"; 71*38c4a08cSVignesh Raghavendra regulator-min-microvolt = <5000000>; 72*38c4a08cSVignesh Raghavendra regulator-max-microvolt = <5000000>; 73*38c4a08cSVignesh Raghavendra vin-supply = <&vmain_pd>; 74*38c4a08cSVignesh Raghavendra regulator-always-on; 75*38c4a08cSVignesh Raghavendra regulator-boot-on; 76*38c4a08cSVignesh Raghavendra }; 77*38c4a08cSVignesh Raghavendra 78*38c4a08cSVignesh Raghavendra vcc_3v3_sys: regulator-2 { 79*38c4a08cSVignesh Raghavendra /* output of LM5141-Q1 */ 80*38c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 81*38c4a08cSVignesh Raghavendra regulator-name = "vcc_3v3_sys"; 82*38c4a08cSVignesh Raghavendra regulator-min-microvolt = <3300000>; 83*38c4a08cSVignesh Raghavendra regulator-max-microvolt = <3300000>; 84*38c4a08cSVignesh Raghavendra vin-supply = <&vmain_pd>; 85*38c4a08cSVignesh Raghavendra regulator-always-on; 86*38c4a08cSVignesh Raghavendra regulator-boot-on; 87*38c4a08cSVignesh Raghavendra }; 88*38c4a08cSVignesh Raghavendra 89*38c4a08cSVignesh Raghavendra vdd_mmc1: regulator-3 { 90*38c4a08cSVignesh Raghavendra /* TPS22918DBVR */ 91*38c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 92*38c4a08cSVignesh Raghavendra regulator-name = "vdd_mmc1"; 93*38c4a08cSVignesh Raghavendra regulator-min-microvolt = <3300000>; 94*38c4a08cSVignesh Raghavendra regulator-max-microvolt = <3300000>; 95*38c4a08cSVignesh Raghavendra regulator-boot-on; 96*38c4a08cSVignesh Raghavendra enable-active-high; 97*38c4a08cSVignesh Raghavendra gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; 98*38c4a08cSVignesh Raghavendra }; 99*38c4a08cSVignesh Raghavendra 100*38c4a08cSVignesh Raghavendra leds { 101*38c4a08cSVignesh Raghavendra compatible = "gpio-leds"; 102*38c4a08cSVignesh Raghavendra pinctrl-names = "default"; 103*38c4a08cSVignesh Raghavendra pinctrl-0 = <&usr_led_pins_default>; 104*38c4a08cSVignesh Raghavendra 105*38c4a08cSVignesh Raghavendra led-0 { 106*38c4a08cSVignesh Raghavendra label = "am62a-sk:green:heartbeat"; 107*38c4a08cSVignesh Raghavendra gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>; 108*38c4a08cSVignesh Raghavendra linux,default-trigger = "heartbeat"; 109*38c4a08cSVignesh Raghavendra function = LED_FUNCTION_HEARTBEAT; 110*38c4a08cSVignesh Raghavendra default-state = "off"; 111*38c4a08cSVignesh Raghavendra }; 112*38c4a08cSVignesh Raghavendra }; 113*38c4a08cSVignesh Raghavendra}; 114*38c4a08cSVignesh Raghavendra 115*38c4a08cSVignesh Raghavendra&main_pmx0 { 116*38c4a08cSVignesh Raghavendra main_uart0_pins_default: main-uart0-pins-default { 117*38c4a08cSVignesh Raghavendra pinctrl-single,pins = < 118*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */ 119*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */ 120*38c4a08cSVignesh Raghavendra >; 121*38c4a08cSVignesh Raghavendra }; 122*38c4a08cSVignesh Raghavendra 123*38c4a08cSVignesh Raghavendra main_i2c0_pins_default: main-i2c0-pins-default { 124*38c4a08cSVignesh Raghavendra pinctrl-single,pins = < 125*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */ 126*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */ 127*38c4a08cSVignesh Raghavendra >; 128*38c4a08cSVignesh Raghavendra }; 129*38c4a08cSVignesh Raghavendra 130*38c4a08cSVignesh Raghavendra main_i2c1_pins_default: main-i2c1-pins-default { 131*38c4a08cSVignesh Raghavendra pinctrl-single,pins = < 132*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ 133*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ 134*38c4a08cSVignesh Raghavendra >; 135*38c4a08cSVignesh Raghavendra }; 136*38c4a08cSVignesh Raghavendra 137*38c4a08cSVignesh Raghavendra main_i2c2_pins_default: main-i2c2-pins-default { 138*38c4a08cSVignesh Raghavendra pinctrl-single,pins = < 139*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ 140*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ 141*38c4a08cSVignesh Raghavendra >; 142*38c4a08cSVignesh Raghavendra }; 143*38c4a08cSVignesh Raghavendra 144*38c4a08cSVignesh Raghavendra main_mmc1_pins_default: main-mmc1-pins-default { 145*38c4a08cSVignesh Raghavendra pinctrl-single,pins = < 146*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ 147*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ 148*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ 149*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ 150*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ 151*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ 152*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */ 153*38c4a08cSVignesh Raghavendra >; 154*38c4a08cSVignesh Raghavendra }; 155*38c4a08cSVignesh Raghavendra 156*38c4a08cSVignesh Raghavendra usr_led_pins_default: usr-led-pins-default { 157*38c4a08cSVignesh Raghavendra pinctrl-single,pins = < 158*38c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x244, PIN_OUTPUT, 7) /* (D18) MMC1_SDWP.GPIO1_49 */ 159*38c4a08cSVignesh Raghavendra >; 160*38c4a08cSVignesh Raghavendra }; 161*38c4a08cSVignesh Raghavendra}; 162*38c4a08cSVignesh Raghavendra 163*38c4a08cSVignesh Raghavendra&main_i2c0 { 164*38c4a08cSVignesh Raghavendra status = "okay"; 165*38c4a08cSVignesh Raghavendra pinctrl-names = "default"; 166*38c4a08cSVignesh Raghavendra pinctrl-0 = <&main_i2c0_pins_default>; 167*38c4a08cSVignesh Raghavendra clock-frequency = <400000>; 168*38c4a08cSVignesh Raghavendra}; 169*38c4a08cSVignesh Raghavendra 170*38c4a08cSVignesh Raghavendra&main_i2c1 { 171*38c4a08cSVignesh Raghavendra status = "okay"; 172*38c4a08cSVignesh Raghavendra pinctrl-names = "default"; 173*38c4a08cSVignesh Raghavendra pinctrl-0 = <&main_i2c1_pins_default>; 174*38c4a08cSVignesh Raghavendra clock-frequency = <400000>; 175*38c4a08cSVignesh Raghavendra 176*38c4a08cSVignesh Raghavendra exp1: gpio@22 { 177*38c4a08cSVignesh Raghavendra compatible = "ti,tca6424"; 178*38c4a08cSVignesh Raghavendra reg = <0x22>; 179*38c4a08cSVignesh Raghavendra gpio-controller; 180*38c4a08cSVignesh Raghavendra #gpio-cells = <2>; 181*38c4a08cSVignesh Raghavendra 182*38c4a08cSVignesh Raghavendra gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST", 183*38c4a08cSVignesh Raghavendra "BT_EN_SOC", "MMC1_SD_EN", 184*38c4a08cSVignesh Raghavendra "VPP_EN", "EXP_PS_3V3_En", 185*38c4a08cSVignesh Raghavendra "EXP_PS_5V0_En", "EXP_HAT_DETECT", 186*38c4a08cSVignesh Raghavendra "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn", 187*38c4a08cSVignesh Raghavendra "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC", 188*38c4a08cSVignesh Raghavendra "GPIO_HDMI_RSTn", "CSI_GPIO0", 189*38c4a08cSVignesh Raghavendra "CSI_GPIO1", "WLAN_ALERTn", 190*38c4a08cSVignesh Raghavendra "HDMI_INTn", "TEST_GPIO2", 191*38c4a08cSVignesh Raghavendra "MCASP1_FET_EN", "MCASP1_BUF_BT_EN", 192*38c4a08cSVignesh Raghavendra "MCASP1_FET_SEL", "UART1_FET_SEL", 193*38c4a08cSVignesh Raghavendra "PD_I2C_IRQ", "IO_EXP_TEST_LED"; 194*38c4a08cSVignesh Raghavendra }; 195*38c4a08cSVignesh Raghavendra}; 196*38c4a08cSVignesh Raghavendra 197*38c4a08cSVignesh Raghavendra&sdhci1 { 198*38c4a08cSVignesh Raghavendra /* SD/MMC */ 199*38c4a08cSVignesh Raghavendra status = "okay"; 200*38c4a08cSVignesh Raghavendra vmmc-supply = <&vdd_mmc1>; 201*38c4a08cSVignesh Raghavendra pinctrl-names = "default"; 202*38c4a08cSVignesh Raghavendra pinctrl-0 = <&main_mmc1_pins_default>; 203*38c4a08cSVignesh Raghavendra ti,driver-strength-ohm = <50>; 204*38c4a08cSVignesh Raghavendra disable-wp; 205*38c4a08cSVignesh Raghavendra}; 206*38c4a08cSVignesh Raghavendra 207*38c4a08cSVignesh Raghavendra&main_gpio0 { 208*38c4a08cSVignesh Raghavendra status = "okay"; 209*38c4a08cSVignesh Raghavendra}; 210*38c4a08cSVignesh Raghavendra 211*38c4a08cSVignesh Raghavendra&main_gpio1 { 212*38c4a08cSVignesh Raghavendra status = "okay"; 213*38c4a08cSVignesh Raghavendra}; 214*38c4a08cSVignesh Raghavendra 215*38c4a08cSVignesh Raghavendra&main_gpio_intr { 216*38c4a08cSVignesh Raghavendra status = "okay"; 217*38c4a08cSVignesh Raghavendra}; 218*38c4a08cSVignesh Raghavendra 219*38c4a08cSVignesh Raghavendra&main_uart0 { 220*38c4a08cSVignesh Raghavendra status = "okay"; 221*38c4a08cSVignesh Raghavendra pinctrl-names = "default"; 222*38c4a08cSVignesh Raghavendra pinctrl-0 = <&main_uart0_pins_default>; 223*38c4a08cSVignesh Raghavendra}; 224