138c4a08cSVignesh Raghavendra// SPDX-License-Identifier: GPL-2.0 238c4a08cSVignesh Raghavendra/* 338c4a08cSVignesh Raghavendra * AM62A SK: https://www.ti.com/lit/zip/sprr459 438c4a08cSVignesh Raghavendra * 538c4a08cSVignesh Raghavendra * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/ 638c4a08cSVignesh Raghavendra */ 738c4a08cSVignesh Raghavendra 838c4a08cSVignesh Raghavendra/dts-v1/; 938c4a08cSVignesh Raghavendra 1038c4a08cSVignesh Raghavendra#include <dt-bindings/leds/common.h> 1138c4a08cSVignesh Raghavendra#include <dt-bindings/gpio/gpio.h> 12a9da45c0SVignesh Raghavendra#include <dt-bindings/net/ti-dp83867.h> 1338c4a08cSVignesh Raghavendra#include "k3-am62a7.dtsi" 1438c4a08cSVignesh Raghavendra 1538c4a08cSVignesh Raghavendra/ { 1638c4a08cSVignesh Raghavendra compatible = "ti,am62a7-sk", "ti,am62a7"; 1738c4a08cSVignesh Raghavendra model = "Texas Instruments AM62A7 SK"; 1838c4a08cSVignesh Raghavendra 1938c4a08cSVignesh Raghavendra aliases { 2038c4a08cSVignesh Raghavendra serial2 = &main_uart0; 2138c4a08cSVignesh Raghavendra mmc1 = &sdhci1; 2238c4a08cSVignesh Raghavendra }; 2338c4a08cSVignesh Raghavendra 2438c4a08cSVignesh Raghavendra chosen { 2538c4a08cSVignesh Raghavendra stdout-path = "serial2:115200n8"; 2638c4a08cSVignesh Raghavendra }; 2738c4a08cSVignesh Raghavendra 2838c4a08cSVignesh Raghavendra memory@80000000 { 2938c4a08cSVignesh Raghavendra device_type = "memory"; 3038c4a08cSVignesh Raghavendra /* 2G RAM */ 3138c4a08cSVignesh Raghavendra reg = <0x00000000 0x80000000 0x00000000 0x80000000>; 3238c4a08cSVignesh Raghavendra }; 3338c4a08cSVignesh Raghavendra 3438c4a08cSVignesh Raghavendra reserved-memory { 3538c4a08cSVignesh Raghavendra #address-cells = <2>; 3638c4a08cSVignesh Raghavendra #size-cells = <2>; 3738c4a08cSVignesh Raghavendra ranges; 3838c4a08cSVignesh Raghavendra 3938c4a08cSVignesh Raghavendra secure_tfa_ddr: tfa@9e780000 { 4038c4a08cSVignesh Raghavendra reg = <0x00 0x9e780000 0x00 0x80000>; 4138c4a08cSVignesh Raghavendra alignment = <0x1000>; 4238c4a08cSVignesh Raghavendra no-map; 4338c4a08cSVignesh Raghavendra }; 4438c4a08cSVignesh Raghavendra 4538c4a08cSVignesh Raghavendra secure_ddr: optee@9e800000 { 4638c4a08cSVignesh Raghavendra reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */ 4738c4a08cSVignesh Raghavendra alignment = <0x1000>; 4838c4a08cSVignesh Raghavendra no-map; 4938c4a08cSVignesh Raghavendra }; 5038c4a08cSVignesh Raghavendra 5138c4a08cSVignesh Raghavendra wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 { 5238c4a08cSVignesh Raghavendra compatible = "shared-dma-pool"; 5338c4a08cSVignesh Raghavendra reg = <0x00 0x9c900000 0x00 0x01e00000>; 5438c4a08cSVignesh Raghavendra no-map; 5538c4a08cSVignesh Raghavendra }; 5638c4a08cSVignesh Raghavendra }; 5738c4a08cSVignesh Raghavendra 5838c4a08cSVignesh Raghavendra vmain_pd: regulator-0 { 5938c4a08cSVignesh Raghavendra /* TPS25750 PD CONTROLLER OUTPUT */ 6038c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 6138c4a08cSVignesh Raghavendra regulator-name = "vmain_pd"; 6238c4a08cSVignesh Raghavendra regulator-min-microvolt = <5000000>; 6338c4a08cSVignesh Raghavendra regulator-max-microvolt = <5000000>; 6438c4a08cSVignesh Raghavendra regulator-always-on; 6538c4a08cSVignesh Raghavendra regulator-boot-on; 6638c4a08cSVignesh Raghavendra }; 6738c4a08cSVignesh Raghavendra 6838c4a08cSVignesh Raghavendra vcc_5v0: regulator-1 { 6938c4a08cSVignesh Raghavendra /* Output of TPS63070 */ 7038c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 7138c4a08cSVignesh Raghavendra regulator-name = "vcc_5v0"; 7238c4a08cSVignesh Raghavendra regulator-min-microvolt = <5000000>; 7338c4a08cSVignesh Raghavendra regulator-max-microvolt = <5000000>; 7438c4a08cSVignesh Raghavendra vin-supply = <&vmain_pd>; 7538c4a08cSVignesh Raghavendra regulator-always-on; 7638c4a08cSVignesh Raghavendra regulator-boot-on; 7738c4a08cSVignesh Raghavendra }; 7838c4a08cSVignesh Raghavendra 7938c4a08cSVignesh Raghavendra vcc_3v3_sys: regulator-2 { 8038c4a08cSVignesh Raghavendra /* output of LM5141-Q1 */ 8138c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 8238c4a08cSVignesh Raghavendra regulator-name = "vcc_3v3_sys"; 8338c4a08cSVignesh Raghavendra regulator-min-microvolt = <3300000>; 8438c4a08cSVignesh Raghavendra regulator-max-microvolt = <3300000>; 8538c4a08cSVignesh Raghavendra vin-supply = <&vmain_pd>; 8638c4a08cSVignesh Raghavendra regulator-always-on; 8738c4a08cSVignesh Raghavendra regulator-boot-on; 8838c4a08cSVignesh Raghavendra }; 8938c4a08cSVignesh Raghavendra 9038c4a08cSVignesh Raghavendra vdd_mmc1: regulator-3 { 9138c4a08cSVignesh Raghavendra /* TPS22918DBVR */ 9238c4a08cSVignesh Raghavendra compatible = "regulator-fixed"; 9338c4a08cSVignesh Raghavendra regulator-name = "vdd_mmc1"; 9438c4a08cSVignesh Raghavendra regulator-min-microvolt = <3300000>; 9538c4a08cSVignesh Raghavendra regulator-max-microvolt = <3300000>; 9638c4a08cSVignesh Raghavendra regulator-boot-on; 9738c4a08cSVignesh Raghavendra enable-active-high; 9838c4a08cSVignesh Raghavendra gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; 9938c4a08cSVignesh Raghavendra }; 10038c4a08cSVignesh Raghavendra 10138c4a08cSVignesh Raghavendra leds { 10238c4a08cSVignesh Raghavendra compatible = "gpio-leds"; 10338c4a08cSVignesh Raghavendra pinctrl-names = "default"; 10438c4a08cSVignesh Raghavendra pinctrl-0 = <&usr_led_pins_default>; 10538c4a08cSVignesh Raghavendra 10638c4a08cSVignesh Raghavendra led-0 { 10738c4a08cSVignesh Raghavendra label = "am62a-sk:green:heartbeat"; 10838c4a08cSVignesh Raghavendra gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>; 10938c4a08cSVignesh Raghavendra linux,default-trigger = "heartbeat"; 11038c4a08cSVignesh Raghavendra function = LED_FUNCTION_HEARTBEAT; 11138c4a08cSVignesh Raghavendra default-state = "off"; 11238c4a08cSVignesh Raghavendra }; 11338c4a08cSVignesh Raghavendra }; 11438c4a08cSVignesh Raghavendra}; 11538c4a08cSVignesh Raghavendra 11638c4a08cSVignesh Raghavendra&main_pmx0 { 11738c4a08cSVignesh Raghavendra main_uart0_pins_default: main-uart0-pins-default { 11838c4a08cSVignesh Raghavendra pinctrl-single,pins = < 11938c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */ 12038c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */ 12138c4a08cSVignesh Raghavendra >; 12238c4a08cSVignesh Raghavendra }; 12338c4a08cSVignesh Raghavendra 12438c4a08cSVignesh Raghavendra main_i2c0_pins_default: main-i2c0-pins-default { 12538c4a08cSVignesh Raghavendra pinctrl-single,pins = < 12638c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */ 12738c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */ 12838c4a08cSVignesh Raghavendra >; 12938c4a08cSVignesh Raghavendra }; 13038c4a08cSVignesh Raghavendra 13138c4a08cSVignesh Raghavendra main_i2c1_pins_default: main-i2c1-pins-default { 13238c4a08cSVignesh Raghavendra pinctrl-single,pins = < 13338c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ 13438c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ 13538c4a08cSVignesh Raghavendra >; 13638c4a08cSVignesh Raghavendra }; 13738c4a08cSVignesh Raghavendra 13838c4a08cSVignesh Raghavendra main_i2c2_pins_default: main-i2c2-pins-default { 13938c4a08cSVignesh Raghavendra pinctrl-single,pins = < 14038c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ 14138c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ 14238c4a08cSVignesh Raghavendra >; 14338c4a08cSVignesh Raghavendra }; 14438c4a08cSVignesh Raghavendra 14538c4a08cSVignesh Raghavendra main_mmc1_pins_default: main-mmc1-pins-default { 14638c4a08cSVignesh Raghavendra pinctrl-single,pins = < 14738c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ 14838c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ 14938c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ 15038c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ 15138c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ 15238c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ 15338c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */ 15438c4a08cSVignesh Raghavendra >; 15538c4a08cSVignesh Raghavendra }; 15638c4a08cSVignesh Raghavendra 15738c4a08cSVignesh Raghavendra usr_led_pins_default: usr-led-pins-default { 15838c4a08cSVignesh Raghavendra pinctrl-single,pins = < 15938c4a08cSVignesh Raghavendra AM62AX_IOPAD(0x244, PIN_OUTPUT, 7) /* (D18) MMC1_SDWP.GPIO1_49 */ 16038c4a08cSVignesh Raghavendra >; 16138c4a08cSVignesh Raghavendra }; 162a9da45c0SVignesh Raghavendra 163*42057a6bSVignesh Raghavendra main_usb1_pins_default: main-usb1-pins-default { 164*42057a6bSVignesh Raghavendra pinctrl-single,pins = < 165*42057a6bSVignesh Raghavendra AM62AX_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */ 166*42057a6bSVignesh Raghavendra >; 167*42057a6bSVignesh Raghavendra }; 168*42057a6bSVignesh Raghavendra 169a9da45c0SVignesh Raghavendra main_mdio1_pins_default: main-mdio1-pins-default { 170a9da45c0SVignesh Raghavendra pinctrl-single,pins = < 171a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x160, PIN_OUTPUT, 0) /* (V12) MDIO0_MDC */ 172a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x15c, PIN_INPUT, 0) /* (V13) MDIO0_MDIO */ 173a9da45c0SVignesh Raghavendra >; 174a9da45c0SVignesh Raghavendra }; 175a9da45c0SVignesh Raghavendra 176a9da45c0SVignesh Raghavendra main_rgmii1_pins_default: main-rgmii1-pins-default { 177a9da45c0SVignesh Raghavendra pinctrl-single,pins = < 178a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x14c, PIN_INPUT, 0) /* (AB16) RGMII1_RD0 */ 179a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x150, PIN_INPUT, 0) /* (V15) RGMII1_RD1 */ 180a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x154, PIN_INPUT, 0) /* (W15) RGMII1_RD2 */ 181a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x158, PIN_INPUT, 0) /* (V14) RGMII1_RD3 */ 182a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x148, PIN_INPUT, 0) /* (AA16) RGMII1_RXC */ 183a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x144, PIN_INPUT, 0) /* (AA15) RGMII1_RX_CTL */ 184a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x134, PIN_INPUT, 0) /* (Y17) RGMII1_TD0 */ 185a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x138, PIN_INPUT, 0) /* (V16) RGMII1_TD1 */ 186a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x13c, PIN_INPUT, 0) /* (Y16) RGMII1_TD2 */ 187a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x140, PIN_INPUT, 0) /* (AA17) RGMII1_TD3 */ 188a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x130, PIN_INPUT, 0) /* (AB17) RGMII1_TXC */ 189a9da45c0SVignesh Raghavendra AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */ 190a9da45c0SVignesh Raghavendra >; 191a9da45c0SVignesh Raghavendra }; 19238c4a08cSVignesh Raghavendra}; 19338c4a08cSVignesh Raghavendra 19438c4a08cSVignesh Raghavendra&main_i2c0 { 19538c4a08cSVignesh Raghavendra status = "okay"; 19638c4a08cSVignesh Raghavendra pinctrl-names = "default"; 19738c4a08cSVignesh Raghavendra pinctrl-0 = <&main_i2c0_pins_default>; 19838c4a08cSVignesh Raghavendra clock-frequency = <400000>; 19938c4a08cSVignesh Raghavendra}; 20038c4a08cSVignesh Raghavendra 20138c4a08cSVignesh Raghavendra&main_i2c1 { 20238c4a08cSVignesh Raghavendra status = "okay"; 20338c4a08cSVignesh Raghavendra pinctrl-names = "default"; 20438c4a08cSVignesh Raghavendra pinctrl-0 = <&main_i2c1_pins_default>; 20538c4a08cSVignesh Raghavendra clock-frequency = <400000>; 20638c4a08cSVignesh Raghavendra 20738c4a08cSVignesh Raghavendra exp1: gpio@22 { 20838c4a08cSVignesh Raghavendra compatible = "ti,tca6424"; 20938c4a08cSVignesh Raghavendra reg = <0x22>; 21038c4a08cSVignesh Raghavendra gpio-controller; 21138c4a08cSVignesh Raghavendra #gpio-cells = <2>; 21238c4a08cSVignesh Raghavendra 21338c4a08cSVignesh Raghavendra gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST", 21438c4a08cSVignesh Raghavendra "BT_EN_SOC", "MMC1_SD_EN", 21538c4a08cSVignesh Raghavendra "VPP_EN", "EXP_PS_3V3_En", 21638c4a08cSVignesh Raghavendra "EXP_PS_5V0_En", "EXP_HAT_DETECT", 21738c4a08cSVignesh Raghavendra "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn", 21838c4a08cSVignesh Raghavendra "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC", 21938c4a08cSVignesh Raghavendra "GPIO_HDMI_RSTn", "CSI_GPIO0", 22038c4a08cSVignesh Raghavendra "CSI_GPIO1", "WLAN_ALERTn", 22138c4a08cSVignesh Raghavendra "HDMI_INTn", "TEST_GPIO2", 22238c4a08cSVignesh Raghavendra "MCASP1_FET_EN", "MCASP1_BUF_BT_EN", 22338c4a08cSVignesh Raghavendra "MCASP1_FET_SEL", "UART1_FET_SEL", 22438c4a08cSVignesh Raghavendra "PD_I2C_IRQ", "IO_EXP_TEST_LED"; 22538c4a08cSVignesh Raghavendra }; 22638c4a08cSVignesh Raghavendra}; 22738c4a08cSVignesh Raghavendra 22838c4a08cSVignesh Raghavendra&sdhci1 { 22938c4a08cSVignesh Raghavendra /* SD/MMC */ 23038c4a08cSVignesh Raghavendra status = "okay"; 23138c4a08cSVignesh Raghavendra vmmc-supply = <&vdd_mmc1>; 23238c4a08cSVignesh Raghavendra pinctrl-names = "default"; 23338c4a08cSVignesh Raghavendra pinctrl-0 = <&main_mmc1_pins_default>; 23438c4a08cSVignesh Raghavendra ti,driver-strength-ohm = <50>; 23538c4a08cSVignesh Raghavendra disable-wp; 23638c4a08cSVignesh Raghavendra}; 23738c4a08cSVignesh Raghavendra 23838c4a08cSVignesh Raghavendra&main_gpio0 { 23938c4a08cSVignesh Raghavendra status = "okay"; 24038c4a08cSVignesh Raghavendra}; 24138c4a08cSVignesh Raghavendra 24238c4a08cSVignesh Raghavendra&main_gpio1 { 24338c4a08cSVignesh Raghavendra status = "okay"; 24438c4a08cSVignesh Raghavendra}; 24538c4a08cSVignesh Raghavendra 24638c4a08cSVignesh Raghavendra&main_gpio_intr { 24738c4a08cSVignesh Raghavendra status = "okay"; 24838c4a08cSVignesh Raghavendra}; 24938c4a08cSVignesh Raghavendra 25038c4a08cSVignesh Raghavendra&main_uart0 { 25138c4a08cSVignesh Raghavendra status = "okay"; 25238c4a08cSVignesh Raghavendra pinctrl-names = "default"; 25338c4a08cSVignesh Raghavendra pinctrl-0 = <&main_uart0_pins_default>; 25438c4a08cSVignesh Raghavendra}; 255a9da45c0SVignesh Raghavendra 256*42057a6bSVignesh Raghavendra&usbss1 { 257*42057a6bSVignesh Raghavendra status = "okay"; 258*42057a6bSVignesh Raghavendra}; 259*42057a6bSVignesh Raghavendra 260*42057a6bSVignesh Raghavendra&usb1 { 261*42057a6bSVignesh Raghavendra dr_mode = "host"; 262*42057a6bSVignesh Raghavendra pinctrl-names = "default"; 263*42057a6bSVignesh Raghavendra pinctrl-0 = <&main_usb1_pins_default>; 264*42057a6bSVignesh Raghavendra}; 265*42057a6bSVignesh Raghavendra 266a9da45c0SVignesh Raghavendra&cpsw3g { 267a9da45c0SVignesh Raghavendra status = "okay"; 268a9da45c0SVignesh Raghavendra pinctrl-names = "default"; 269a9da45c0SVignesh Raghavendra pinctrl-0 = <&main_rgmii1_pins_default>; 270a9da45c0SVignesh Raghavendra}; 271a9da45c0SVignesh Raghavendra 272a9da45c0SVignesh Raghavendra&cpsw_port1 { 273a9da45c0SVignesh Raghavendra status = "okay"; 274a9da45c0SVignesh Raghavendra phy-mode = "rgmii-rxid"; 275a9da45c0SVignesh Raghavendra phy-handle = <&cpsw3g_phy0>; 276a9da45c0SVignesh Raghavendra}; 277a9da45c0SVignesh Raghavendra 278a9da45c0SVignesh Raghavendra&cpsw_port2 { 279a9da45c0SVignesh Raghavendra status = "disabled"; 280a9da45c0SVignesh Raghavendra}; 281a9da45c0SVignesh Raghavendra 282a9da45c0SVignesh Raghavendra&cpsw3g_mdio { 283a9da45c0SVignesh Raghavendra status = "okay"; 284a9da45c0SVignesh Raghavendra pinctrl-names = "default"; 285a9da45c0SVignesh Raghavendra pinctrl-0 = <&main_mdio1_pins_default>; 286a9da45c0SVignesh Raghavendra 287a9da45c0SVignesh Raghavendra cpsw3g_phy0: ethernet-phy@0 { 288a9da45c0SVignesh Raghavendra reg = <0>; 289a9da45c0SVignesh Raghavendra ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 290a9da45c0SVignesh Raghavendra ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 291a9da45c0SVignesh Raghavendra ti,min-output-impedance; 292a9da45c0SVignesh Raghavendra }; 293a9da45c0SVignesh Raghavendra}; 294