1*887d9e03SStefano Radaelli// SPDX-License-Identifier: GPL-2.0 2*887d9e03SStefano Radaelli/* 3*887d9e03SStefano Radaelli * Common dtsi for Variscite VAR-SOM-AM62 4*887d9e03SStefano Radaelli * 5*887d9e03SStefano Radaelli * Link: https://variscite.com/system-on-module-som/ti-sitara-am62x/var-som-am62/ 6*887d9e03SStefano Radaelli * 7*887d9e03SStefano Radaelli * Copyright (C) 2026 Variscite Ltd. - https://www.variscite.com/ 8*887d9e03SStefano Radaelli * Copyright (C) 2026 Stefano Radaelli <stefano.r@variscite.com> 9*887d9e03SStefano Radaelli * 10*887d9e03SStefano Radaelli */ 11*887d9e03SStefano Radaelli 12*887d9e03SStefano Radaelli/dts-v1/; 13*887d9e03SStefano Radaelli 14*887d9e03SStefano Radaelli#include <dt-bindings/gpio/gpio.h> 15*887d9e03SStefano Radaelli#include <dt-bindings/input/input.h> 16*887d9e03SStefano Radaelli#include <dt-bindings/interrupt-controller/arm-gic.h> 17*887d9e03SStefano Radaelli#include <dt-bindings/leds/common.h> 18*887d9e03SStefano Radaelli#include <dt-bindings/pwm/pwm.h> 19*887d9e03SStefano Radaelli#include "k3-am625.dtsi" 20*887d9e03SStefano Radaelli 21*887d9e03SStefano Radaelli/ { 22*887d9e03SStefano Radaelli compatible = "variscite,var-som-am62", "ti,am625"; 23*887d9e03SStefano Radaelli 24*887d9e03SStefano Radaelli memory@80000000 { 25*887d9e03SStefano Radaelli /* 2G RAM */ 26*887d9e03SStefano Radaelli reg = <0x00000000 0x80000000 0x00000000 0x80000000>; 27*887d9e03SStefano Radaelli device_type = "memory"; 28*887d9e03SStefano Radaelli bootph-pre-ram; 29*887d9e03SStefano Radaelli }; 30*887d9e03SStefano Radaelli 31*887d9e03SStefano Radaelli mmc_pwrseq: mmc-pwrseq { 32*887d9e03SStefano Radaelli compatible = "mmc-pwrseq-emmc"; 33*887d9e03SStefano Radaelli pinctrl-names = "default"; 34*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_mmc_pwrseq>; 35*887d9e03SStefano Radaelli reset-gpios = <&main_gpio0 49 GPIO_ACTIVE_LOW>; 36*887d9e03SStefano Radaelli }; 37*887d9e03SStefano Radaelli 38*887d9e03SStefano Radaelli opp-table { 39*887d9e03SStefano Radaelli /* Add 1.4GHz OPP. Requires VDD_CORE to be at 0.85V */ 40*887d9e03SStefano Radaelli opp-1400000000 { 41*887d9e03SStefano Radaelli opp-hz = /bits/ 64 <1400000000>; 42*887d9e03SStefano Radaelli opp-supported-hw = <0x01 0x0004>; 43*887d9e03SStefano Radaelli clock-latency-ns = <6000000>; 44*887d9e03SStefano Radaelli }; 45*887d9e03SStefano Radaelli }; 46*887d9e03SStefano Radaelli 47*887d9e03SStefano Radaelli reserved_memory: reserved-memory { 48*887d9e03SStefano Radaelli #address-cells = <2>; 49*887d9e03SStefano Radaelli #size-cells = <2>; 50*887d9e03SStefano Radaelli ranges; 51*887d9e03SStefano Radaelli 52*887d9e03SStefano Radaelli ramoops@9ca00000 { 53*887d9e03SStefano Radaelli compatible = "ramoops"; 54*887d9e03SStefano Radaelli reg = <0x00 0x9ca00000 0x00 0x00100000>; 55*887d9e03SStefano Radaelli record-size = <0x8000>; 56*887d9e03SStefano Radaelli console-size = <0x8000>; 57*887d9e03SStefano Radaelli ftrace-size = <0x00>; 58*887d9e03SStefano Radaelli pmsg-size = <0x8000>; 59*887d9e03SStefano Radaelli }; 60*887d9e03SStefano Radaelli 61*887d9e03SStefano Radaelli /* global cma region */ 62*887d9e03SStefano Radaelli linux,cma { 63*887d9e03SStefano Radaelli compatible = "shared-dma-pool"; 64*887d9e03SStefano Radaelli reusable; 65*887d9e03SStefano Radaelli size = <0x00 0x8000000>; 66*887d9e03SStefano Radaelli linux,cma-default; 67*887d9e03SStefano Radaelli }; 68*887d9e03SStefano Radaelli 69*887d9e03SStefano Radaelli rtos_ipc_memory_region: rtos-ipc-memory@9b500000 { 70*887d9e03SStefano Radaelli compatible = "shared-dma-pool"; 71*887d9e03SStefano Radaelli reg = <0x00 0x9b500000 0x00 0x00300000>; 72*887d9e03SStefano Radaelli no-map; 73*887d9e03SStefano Radaelli }; 74*887d9e03SStefano Radaelli 75*887d9e03SStefano Radaelli wkup_r5fss0_core0_dma_memory_region: memory@9da00000 { 76*887d9e03SStefano Radaelli compatible = "shared-dma-pool"; 77*887d9e03SStefano Radaelli reg = <0x00 0x9da00000 0x00 0x100000>; 78*887d9e03SStefano Radaelli no-map; 79*887d9e03SStefano Radaelli }; 80*887d9e03SStefano Radaelli 81*887d9e03SStefano Radaelli wkup_r5fss0_core0_memory_region: memory@9db00000 { 82*887d9e03SStefano Radaelli compatible = "shared-dma-pool"; 83*887d9e03SStefano Radaelli reg = <0x00 0x9db00000 0x00 0xc00000>; 84*887d9e03SStefano Radaelli no-map; 85*887d9e03SStefano Radaelli }; 86*887d9e03SStefano Radaelli 87*887d9e03SStefano Radaelli secure_tfa_ddr: tfa@9e780000 { 88*887d9e03SStefano Radaelli reg = <0x00 0x9e780000 0x00 0x80000>; 89*887d9e03SStefano Radaelli alignment = <0x1000>; 90*887d9e03SStefano Radaelli no-map; 91*887d9e03SStefano Radaelli }; 92*887d9e03SStefano Radaelli 93*887d9e03SStefano Radaelli secure_ddr: optee@9e800000 { 94*887d9e03SStefano Radaelli reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */ 95*887d9e03SStefano Radaelli alignment = <0x1000>; 96*887d9e03SStefano Radaelli no-map; 97*887d9e03SStefano Radaelli }; 98*887d9e03SStefano Radaelli }; 99*887d9e03SStefano Radaelli 100*887d9e03SStefano Radaelli reg_1v8: regulator-1v8 { 101*887d9e03SStefano Radaelli compatible = "regulator-fixed"; 102*887d9e03SStefano Radaelli regulator-name = "On-module +V1.8"; 103*887d9e03SStefano Radaelli regulator-min-microvolt = <1800000>; 104*887d9e03SStefano Radaelli regulator-max-microvolt = <1800000>; 105*887d9e03SStefano Radaelli vin-supply = <®_3v3>; 106*887d9e03SStefano Radaelli regulator-always-on; 107*887d9e03SStefano Radaelli regulator-boot-on; 108*887d9e03SStefano Radaelli }; 109*887d9e03SStefano Radaelli 110*887d9e03SStefano Radaelli reg_3v3: regulator-3v3 { 111*887d9e03SStefano Radaelli compatible = "regulator-fixed"; 112*887d9e03SStefano Radaelli regulator-name = "On-module +V3.3"; 113*887d9e03SStefano Radaelli regulator-min-microvolt = <3300000>; 114*887d9e03SStefano Radaelli regulator-max-microvolt = <3300000>; 115*887d9e03SStefano Radaelli regulator-always-on; 116*887d9e03SStefano Radaelli regulator-boot-on; 117*887d9e03SStefano Radaelli }; 118*887d9e03SStefano Radaelli 119*887d9e03SStefano Radaelli reg_3v3_phy: regulator-3v3-phy { 120*887d9e03SStefano Radaelli compatible = "regulator-fixed"; 121*887d9e03SStefano Radaelli regulator-name = "On-module +V3.3_PHY"; 122*887d9e03SStefano Radaelli pinctrl-names = "default"; 123*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_eth_phy>; 124*887d9e03SStefano Radaelli gpios = <&main_gpio0 45 GPIO_ACTIVE_HIGH>; 125*887d9e03SStefano Radaelli enable-active-high; 126*887d9e03SStefano Radaelli regulator-always-on; 127*887d9e03SStefano Radaelli }; 128*887d9e03SStefano Radaelli 129*887d9e03SStefano Radaelli sound { 130*887d9e03SStefano Radaelli compatible = "simple-audio-card"; 131*887d9e03SStefano Radaelli simple-audio-card,bitclock-master = <&codec_dai>; 132*887d9e03SStefano Radaelli simple-audio-card,format = "dsp_b"; 133*887d9e03SStefano Radaelli simple-audio-card,frame-master = <&codec_dai>; 134*887d9e03SStefano Radaelli simple-audio-card,name = "wm8904-audio"; 135*887d9e03SStefano Radaelli simple-audio-card,mclk-fs = <256>; 136*887d9e03SStefano Radaelli simple-audio-card,routing = 137*887d9e03SStefano Radaelli "Headphone Jack", "HPOUTL", 138*887d9e03SStefano Radaelli "Headphone Jack", "HPOUTR", 139*887d9e03SStefano Radaelli "IN2L", "Line In Jack", 140*887d9e03SStefano Radaelli "IN2R", "Line In Jack", 141*887d9e03SStefano Radaelli "IN1L", "Microphone Jack", 142*887d9e03SStefano Radaelli "IN1R", "Microphone Jack"; 143*887d9e03SStefano Radaelli simple-audio-card,widgets = 144*887d9e03SStefano Radaelli "Microphone", "Microphone Jack", 145*887d9e03SStefano Radaelli "Headphone", "Headphone Jack", 146*887d9e03SStefano Radaelli "Line", "Line In Jack"; 147*887d9e03SStefano Radaelli 148*887d9e03SStefano Radaelli codec_dai: simple-audio-card,codec { 149*887d9e03SStefano Radaelli sound-dai = <&wm8904>; 150*887d9e03SStefano Radaelli }; 151*887d9e03SStefano Radaelli 152*887d9e03SStefano Radaelli simple-audio-card,cpu { 153*887d9e03SStefano Radaelli sound-dai = <&mcasp1>; 154*887d9e03SStefano Radaelli }; 155*887d9e03SStefano Radaelli }; 156*887d9e03SStefano Radaelli}; 157*887d9e03SStefano Radaelli 158*887d9e03SStefano Radaelli&audio_refclk1 { 159*887d9e03SStefano Radaelli assigned-clock-rates = <12000000>; 160*887d9e03SStefano Radaelli}; 161*887d9e03SStefano Radaelli 162*887d9e03SStefano Radaelli&cpsw3g { 163*887d9e03SStefano Radaelli pinctrl-names = "default"; 164*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_rgmii1>; 165*887d9e03SStefano Radaelli status = "okay"; 166*887d9e03SStefano Radaelli}; 167*887d9e03SStefano Radaelli 168*887d9e03SStefano Radaelli&cpsw3g_mdio { 169*887d9e03SStefano Radaelli pinctrl-names = "default"; 170*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_mdio1>; 171*887d9e03SStefano Radaelli status = "okay"; 172*887d9e03SStefano Radaelli 173*887d9e03SStefano Radaelli cpsw3g_phy0: ethernet-phy@4 { 174*887d9e03SStefano Radaelli compatible = "ethernet-phy-id0283.bc30"; 175*887d9e03SStefano Radaelli reg = <4>; 176*887d9e03SStefano Radaelli bootph-all; 177*887d9e03SStefano Radaelli reset-gpios = <&main_gpio0 46 GPIO_ACTIVE_LOW>; 178*887d9e03SStefano Radaelli reset-assert-us = <10000>; 179*887d9e03SStefano Radaelli reset-deassert-us = <20000>; 180*887d9e03SStefano Radaelli }; 181*887d9e03SStefano Radaelli}; 182*887d9e03SStefano Radaelli 183*887d9e03SStefano Radaelli&cpsw_port1 { 184*887d9e03SStefano Radaelli /* 185*887d9e03SStefano Radaelli * The required RGMII TX and RX 2ns delays are implemented directly 186*887d9e03SStefano Radaelli * in hardware via passive delay elements on the SOM PCB. 187*887d9e03SStefano Radaelli * No delay configuration is needed in software via PHY driver. 188*887d9e03SStefano Radaelli */ 189*887d9e03SStefano Radaelli phy-mode = "rgmii"; 190*887d9e03SStefano Radaelli phy-handle = <&cpsw3g_phy0>; 191*887d9e03SStefano Radaelli status = "okay"; 192*887d9e03SStefano Radaelli}; 193*887d9e03SStefano Radaelli 194*887d9e03SStefano Radaelli&main_i2c2 { 195*887d9e03SStefano Radaelli pinctrl-names = "default"; 196*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_i2c2>; 197*887d9e03SStefano Radaelli clock-frequency = <400000>; 198*887d9e03SStefano Radaelli status = "okay"; 199*887d9e03SStefano Radaelli 200*887d9e03SStefano Radaelli wm8904: audio-codec@1a { 201*887d9e03SStefano Radaelli compatible = "wlf,wm8904"; 202*887d9e03SStefano Radaelli reg = <0x1a>; 203*887d9e03SStefano Radaelli #sound-dai-cells = <0>; 204*887d9e03SStefano Radaelli clocks = <&audio_refclk1>; 205*887d9e03SStefano Radaelli clock-names = "mclk"; 206*887d9e03SStefano Radaelli AVDD-supply = <®_1v8>; 207*887d9e03SStefano Radaelli CPVDD-supply = <®_1v8>; 208*887d9e03SStefano Radaelli DBVDD-supply = <®_3v3>; 209*887d9e03SStefano Radaelli DCVDD-supply = <®_1v8>; 210*887d9e03SStefano Radaelli MICVDD-supply = <®_1v8>; 211*887d9e03SStefano Radaelli wlf,drc-cfg-names = "default", "peaklimiter", "tradition", 212*887d9e03SStefano Radaelli "soft", "music"; 213*887d9e03SStefano Radaelli /* 214*887d9e03SStefano Radaelli * Config registers per name, respectively: 215*887d9e03SStefano Radaelli * KNEE_IP = 0, KNEE_OP = 0, HI_COMP = 1, LO_COMP = 1 216*887d9e03SStefano Radaelli * KNEE_IP = -24, KNEE_OP = -6, HI_COMP = 1/4, LO_COMP = 1 217*887d9e03SStefano Radaelli * KNEE_IP = -42, KNEE_OP = -3, HI_COMP = 0, LO_COMP = 1 218*887d9e03SStefano Radaelli * KNEE_IP = -45, KNEE_OP = -9, HI_COMP = 1/8, LO_COMP = 1 219*887d9e03SStefano Radaelli * KNEE_IP = -30, KNEE_OP = -10.5, HI_COMP = 1/4, LO_COMP = 1 220*887d9e03SStefano Radaelli */ 221*887d9e03SStefano Radaelli wlf,drc-cfg-regs = /bits/ 16 <0x01af 0x3248 0x0000 0x0000>, 222*887d9e03SStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0010 0x0408>, 223*887d9e03SStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0028 0x0704>, 224*887d9e03SStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0018 0x078c>, 225*887d9e03SStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0010 0x050e>; 226*887d9e03SStefano Radaelli /* GPIO1 = DMIC_CLK, don't touch others */ 227*887d9e03SStefano Radaelli wlf,gpio-cfg = <0x0018>, <0xffff>, <0xffff>, <0xffff>; 228*887d9e03SStefano Radaelli }; 229*887d9e03SStefano Radaelli}; 230*887d9e03SStefano Radaelli 231*887d9e03SStefano Radaelli&main_i2c3 { 232*887d9e03SStefano Radaelli pinctrl-names = "default"; 233*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_i2c3>; 234*887d9e03SStefano Radaelli clock-frequency = <400000>; 235*887d9e03SStefano Radaelli status = "okay"; 236*887d9e03SStefano Radaelli}; 237*887d9e03SStefano Radaelli 238*887d9e03SStefano Radaelli&main_pmx0 { 239*887d9e03SStefano Radaelli pinctrl_i2c2: main-i2c2-default-pins { 240*887d9e03SStefano Radaelli pinctrl-single,pins = < 241*887d9e03SStefano Radaelli AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ 242*887d9e03SStefano Radaelli AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ 243*887d9e03SStefano Radaelli >; 244*887d9e03SStefano Radaelli }; 245*887d9e03SStefano Radaelli 246*887d9e03SStefano Radaelli pinctrl_i2c3: main-i2c3-default-pins { 247*887d9e03SStefano Radaelli pinctrl-single,pins = < 248*887d9e03SStefano Radaelli AM62X_IOPAD(0x01d0, PIN_INPUT, 2) /* (A15) UART0_CTSn.I2C3_SCL */ 249*887d9e03SStefano Radaelli AM62X_IOPAD(0x01d4, PIN_INPUT, 2) /* (B15) UART0_RTSn.I2C3_SDA */ 250*887d9e03SStefano Radaelli >; 251*887d9e03SStefano Radaelli }; 252*887d9e03SStefano Radaelli 253*887d9e03SStefano Radaelli pinctrl_mcasp1: main-mcasp1-default-pins { 254*887d9e03SStefano Radaelli pinctrl-single,pins = < 255*887d9e03SStefano Radaelli AM62X_IOPAD(0x0090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */ 256*887d9e03SStefano Radaelli AM62X_IOPAD(0x0098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */ 257*887d9e03SStefano Radaelli AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */ 258*887d9e03SStefano Radaelli AM62X_IOPAD(0x0084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */ 259*887d9e03SStefano Radaelli AM62X_IOPAD(0x00a0, PIN_OUTPUT, 1) /* (K25) GPMC0_WPn.AUDIO_EXT_REFCLK1 */ 260*887d9e03SStefano Radaelli >; 261*887d9e03SStefano Radaelli }; 262*887d9e03SStefano Radaelli 263*887d9e03SStefano Radaelli pinctrl_mdio1: main-mdio1-default-pins { 264*887d9e03SStefano Radaelli pinctrl-single,pins = < 265*887d9e03SStefano Radaelli AM62X_IOPAD(0x160, PIN_INPUT, 0) /* (AD24) MDIO0_MDC */ 266*887d9e03SStefano Radaelli AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */ 267*887d9e03SStefano Radaelli >; 268*887d9e03SStefano Radaelli }; 269*887d9e03SStefano Radaelli 270*887d9e03SStefano Radaelli pinctrl_mmc_pwrseq: pinmux-mmc-pwrseq-pins { 271*887d9e03SStefano Radaelli pinctrl-single,pins = < 272*887d9e03SStefano Radaelli AM62X_IOPAD(0x00c8, PIN_OUTPUT, 7) /* (Y25) VOUT0_DATA4.GPIO0_49 */ 273*887d9e03SStefano Radaelli >; 274*887d9e03SStefano Radaelli }; 275*887d9e03SStefano Radaelli 276*887d9e03SStefano Radaelli pinctrl_mmc0: main-mmc0-default-pins { 277*887d9e03SStefano Radaelli bootph-all; 278*887d9e03SStefano Radaelli pinctrl-single,pins = < 279*887d9e03SStefano Radaelli AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */ 280*887d9e03SStefano Radaelli AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */ 281*887d9e03SStefano Radaelli AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */ 282*887d9e03SStefano Radaelli AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */ 283*887d9e03SStefano Radaelli AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */ 284*887d9e03SStefano Radaelli AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4) MMC0_DAT3 */ 285*887d9e03SStefano Radaelli AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */ 286*887d9e03SStefano Radaelli AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */ 287*887d9e03SStefano Radaelli AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */ 288*887d9e03SStefano Radaelli AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */ 289*887d9e03SStefano Radaelli >; 290*887d9e03SStefano Radaelli }; 291*887d9e03SStefano Radaelli 292*887d9e03SStefano Radaelli pinctrl_mmc2: main-mmc2-default-pins { 293*887d9e03SStefano Radaelli pinctrl-single,pins = < 294*887d9e03SStefano Radaelli AM62X_IOPAD(0x120, PIN_INPUT_PULLUP, 0) /* (C24) MMC2_CMD */ 295*887d9e03SStefano Radaelli AM62X_IOPAD(0x118, PIN_INPUT_PULLDOWN, 0) /* (D25) MMC2_CLK */ 296*887d9e03SStefano Radaelli AM62X_IOPAD(0x114, PIN_INPUT_PULLUP, 0) /* (B24) MMC2_DAT0 */ 297*887d9e03SStefano Radaelli AM62X_IOPAD(0x110, PIN_INPUT_PULLUP, 0) /* (C25) MMC2_DAT1 */ 298*887d9e03SStefano Radaelli AM62X_IOPAD(0x10c, PIN_INPUT_PULLUP, 0) /* (E23) MMC2_DAT2 */ 299*887d9e03SStefano Radaelli AM62X_IOPAD(0x108, PIN_INPUT_PULLUP, 0) /* (D24) MMC2_DAT3 */ 300*887d9e03SStefano Radaelli AM62X_IOPAD(0x11c, PIN_INPUT_PULLUP, 0) /* (#N/A) MMC2_CLKB */ 301*887d9e03SStefano Radaelli >; 302*887d9e03SStefano Radaelli }; 303*887d9e03SStefano Radaelli 304*887d9e03SStefano Radaelli pinctrl_restouch: main-restouch-pins { 305*887d9e03SStefano Radaelli pinctrl-single,pins = < 306*887d9e03SStefano Radaelli AM62X_IOPAD(0x00c4, PIN_INPUT_PULLUP, 7) /* (W24) VOUT0_DATA3.GPIO0_48 */ 307*887d9e03SStefano Radaelli >; 308*887d9e03SStefano Radaelli }; 309*887d9e03SStefano Radaelli 310*887d9e03SStefano Radaelli pinctrl_rgmii1: main-rgmii1-default-pins { 311*887d9e03SStefano Radaelli bootph-all; 312*887d9e03SStefano Radaelli pinctrl-single,pins = < 313*887d9e03SStefano Radaelli AM62X_IOPAD(0x14c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */ 314*887d9e03SStefano Radaelli AM62X_IOPAD(0x150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */ 315*887d9e03SStefano Radaelli AM62X_IOPAD(0x154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */ 316*887d9e03SStefano Radaelli AM62X_IOPAD(0x158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */ 317*887d9e03SStefano Radaelli AM62X_IOPAD(0x148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */ 318*887d9e03SStefano Radaelli AM62X_IOPAD(0x144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */ 319*887d9e03SStefano Radaelli AM62X_IOPAD(0x134, PIN_INPUT, 0) /* (AE20) RGMII1_TD0 */ 320*887d9e03SStefano Radaelli AM62X_IOPAD(0x138, PIN_INPUT, 0) /* (AD20) RGMII1_TD1 */ 321*887d9e03SStefano Radaelli AM62X_IOPAD(0x13c, PIN_INPUT, 0) /* (AE18) RGMII1_TD2 */ 322*887d9e03SStefano Radaelli AM62X_IOPAD(0x140, PIN_INPUT, 0) /* (AD18) RGMII1_TD3 */ 323*887d9e03SStefano Radaelli AM62X_IOPAD(0x130, PIN_INPUT, 0) /* (AE19) RGMII1_TXC */ 324*887d9e03SStefano Radaelli AM62X_IOPAD(0x12c, PIN_INPUT, 0) /* (AD19) RGMII1_TX_CTL */ 325*887d9e03SStefano Radaelli AM62X_IOPAD(0x00bc, PIN_INPUT, 7) /* (V24) VOUT0_DATA1.GPIO0_46 */ 326*887d9e03SStefano Radaelli >; 327*887d9e03SStefano Radaelli }; 328*887d9e03SStefano Radaelli 329*887d9e03SStefano Radaelli pinctrl_eth_phy: main-eth-phy-default-pins { 330*887d9e03SStefano Radaelli pinctrl-single,pins = < 331*887d9e03SStefano Radaelli AM62X_IOPAD(0x00b8, PIN_INPUT, 7) /* (U22) VOUT0_DATA0.GPIO0_45 */ 332*887d9e03SStefano Radaelli >; 333*887d9e03SStefano Radaelli }; 334*887d9e03SStefano Radaelli 335*887d9e03SStefano Radaelli pinctrl_spi0: main-spi0-default-pins { 336*887d9e03SStefano Radaelli pinctrl-single,pins = < 337*887d9e03SStefano Radaelli AM62X_IOPAD(0x01bc, PIN_OUTPUT, 0) /* (A14) SPI0_CLK */ 338*887d9e03SStefano Radaelli AM62X_IOPAD(0x01b4, PIN_OUTPUT, 0) /* (A13) SPI0_CS0 */ 339*887d9e03SStefano Radaelli AM62X_IOPAD(0x01c0, PIN_OUTPUT, 0) /* (B13) SPI0_D0 */ 340*887d9e03SStefano Radaelli AM62X_IOPAD(0x01c4, PIN_INPUT, 0) /* (B14) SPI0_D1 */ 341*887d9e03SStefano Radaelli >; 342*887d9e03SStefano Radaelli }; 343*887d9e03SStefano Radaelli 344*887d9e03SStefano Radaelli pinctrl_uart5: main-uart5-default-pins { 345*887d9e03SStefano Radaelli pinctrl-single,pins = < 346*887d9e03SStefano Radaelli AM62X_IOPAD(0x00ec, PIN_INPUT, 4) /* (AA24) VOUT0_DATA13.UART5_CTSn */ 347*887d9e03SStefano Radaelli AM62X_IOPAD(0x00e8, PIN_OUTPUT, 4) /* (AB25) VOUT0_DATA12.UART5_RTSn */ 348*887d9e03SStefano Radaelli AM62X_IOPAD(0x00d0, PIN_INPUT, 4) /* (Y23) VOUT0_DATA6.UART5_RXD */ 349*887d9e03SStefano Radaelli AM62X_IOPAD(0x00d4, PIN_OUTPUT, 4) /* (AA25) VOUT0_DATA7.UART5_TXD */ 350*887d9e03SStefano Radaelli >; 351*887d9e03SStefano Radaelli }; 352*887d9e03SStefano Radaelli}; 353*887d9e03SStefano Radaelli 354*887d9e03SStefano Radaelli&mcu_pmx0 { 355*887d9e03SStefano Radaelli pinctrl_wkup_clkout0: wkup-clkout0-default-pins { 356*887d9e03SStefano Radaelli pinctrl-single,pins = < 357*887d9e03SStefano Radaelli AM62X_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (F13) WKUP_CLKOUT0 */ 358*887d9e03SStefano Radaelli >; 359*887d9e03SStefano Radaelli }; 360*887d9e03SStefano Radaelli}; 361*887d9e03SStefano Radaelli 362*887d9e03SStefano Radaelli&main_spi0 { 363*887d9e03SStefano Radaelli pinctrl-names = "default"; 364*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_spi0>; 365*887d9e03SStefano Radaelli ti,pindir-d0-out-d1-in; 366*887d9e03SStefano Radaelli status = "okay"; 367*887d9e03SStefano Radaelli 368*887d9e03SStefano Radaelli /* Resistive touch controller */ 369*887d9e03SStefano Radaelli ads7846: touchscreen@0 { 370*887d9e03SStefano Radaelli compatible = "ti,ads7846"; 371*887d9e03SStefano Radaelli reg = <0>; 372*887d9e03SStefano Radaelli pinctrl-names = "default"; 373*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_restouch>; 374*887d9e03SStefano Radaelli interrupt-parent = <&main_gpio0>; 375*887d9e03SStefano Radaelli interrupts = <48 IRQ_TYPE_EDGE_FALLING>; 376*887d9e03SStefano Radaelli spi-max-frequency = <1500000>; 377*887d9e03SStefano Radaelli pendown-gpio = <&main_gpio0 48 GPIO_ACTIVE_LOW>; 378*887d9e03SStefano Radaelli ti,x-min = /bits/ 16 <125>; 379*887d9e03SStefano Radaelli ti,x-max = /bits/ 16 <4008>; 380*887d9e03SStefano Radaelli ti,y-min = /bits/ 16 <282>; 381*887d9e03SStefano Radaelli ti,y-max = /bits/ 16 <3864>; 382*887d9e03SStefano Radaelli ti,x-plate-ohms = /bits/ 16 <180>; 383*887d9e03SStefano Radaelli ti,pressure-max = /bits/ 16 <255>; 384*887d9e03SStefano Radaelli ti,debounce-max = /bits/ 16 <10>; 385*887d9e03SStefano Radaelli ti,debounce-tol = /bits/ 16 <3>; 386*887d9e03SStefano Radaelli ti,debounce-rep = /bits/ 16 <1>; 387*887d9e03SStefano Radaelli ti,settle-delay-usec = /bits/ 16 <150>; 388*887d9e03SStefano Radaelli ti,keep-vref-on; 389*887d9e03SStefano Radaelli wakeup-source; 390*887d9e03SStefano Radaelli }; 391*887d9e03SStefano Radaelli}; 392*887d9e03SStefano Radaelli 393*887d9e03SStefano Radaelli/* On-module Bluetooth */ 394*887d9e03SStefano Radaelli&main_uart5 { 395*887d9e03SStefano Radaelli pinctrl-names = "default"; 396*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_uart5>; 397*887d9e03SStefano Radaelli uart-has-rtscts; 398*887d9e03SStefano Radaelli status = "okay"; 399*887d9e03SStefano Radaelli}; 400*887d9e03SStefano Radaelli 401*887d9e03SStefano Radaelli&mcasp1 { 402*887d9e03SStefano Radaelli pinctrl-names = "default"; 403*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_mcasp1>; 404*887d9e03SStefano Radaelli op-mode = <0>; /* MCASP_IIS_MODE */ 405*887d9e03SStefano Radaelli serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 406*887d9e03SStefano Radaelli 1 0 2 0 407*887d9e03SStefano Radaelli 0 0 0 0 408*887d9e03SStefano Radaelli 0 0 0 0 409*887d9e03SStefano Radaelli 0 0 0 0 410*887d9e03SStefano Radaelli >; 411*887d9e03SStefano Radaelli tdm-slots = <2>; 412*887d9e03SStefano Radaelli #sound-dai-cells = <0>; 413*887d9e03SStefano Radaelli status = "okay"; 414*887d9e03SStefano Radaelli}; 415*887d9e03SStefano Radaelli 416*887d9e03SStefano Radaelli/* On-module eMMC */ 417*887d9e03SStefano Radaelli&sdhci0 { 418*887d9e03SStefano Radaelli pinctrl-names = "default"; 419*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_mmc0>; 420*887d9e03SStefano Radaelli bootph-all; 421*887d9e03SStefano Radaelli disable-wp; 422*887d9e03SStefano Radaelli mmc-pwrseq = <&mmc_pwrseq>; 423*887d9e03SStefano Radaelli non-removable; 424*887d9e03SStefano Radaelli status="okay"; 425*887d9e03SStefano Radaelli}; 426*887d9e03SStefano Radaelli 427*887d9e03SStefano Radaelli/* On-module Wi-Fi */ 428*887d9e03SStefano Radaelli&sdhci2 { 429*887d9e03SStefano Radaelli pinctrl-names = "default"; 430*887d9e03SStefano Radaelli pinctrl-0 = <&pinctrl_mmc2>, <&pinctrl_wkup_clkout0>; 431*887d9e03SStefano Radaelli #address-cells = <1>; 432*887d9e03SStefano Radaelli #size-cells = <0>; 433*887d9e03SStefano Radaelli assigned-clocks = <&k3_clks 157 158>; /* wkup_clkout_sel_out0 */ 434*887d9e03SStefano Radaelli assigned-clock-parents = <&k3_clks 157 164>; /* clk_32k_rc_sel_out0 */ 435*887d9e03SStefano Radaelli bus-width = <4>; 436*887d9e03SStefano Radaelli disable-wp; 437*887d9e03SStefano Radaelli non-removable; 438*887d9e03SStefano Radaelli cap-power-off-card; 439*887d9e03SStefano Radaelli status = "okay"; 440*887d9e03SStefano Radaelli 441*887d9e03SStefano Radaelli brcmf: wifi@1 { 442*887d9e03SStefano Radaelli compatible = "brcm,bcm4329-fmac"; 443*887d9e03SStefano Radaelli reg = <1>; 444*887d9e03SStefano Radaelli }; 445*887d9e03SStefano Radaelli}; 446*887d9e03SStefano Radaelli 447*887d9e03SStefano Radaelli&usbss0 { 448*887d9e03SStefano Radaelli ti,vbus-divider; 449*887d9e03SStefano Radaelli}; 450*887d9e03SStefano Radaelli 451*887d9e03SStefano Radaelli&usbss1 { 452*887d9e03SStefano Radaelli ti,vbus-divider; 453*887d9e03SStefano Radaelli}; 454*887d9e03SStefano Radaelli 455*887d9e03SStefano Radaelli/* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */ 456*887d9e03SStefano Radaelli&mcu_gpio0 { 457*887d9e03SStefano Radaelli status = "reserved"; 458*887d9e03SStefano Radaelli}; 459*887d9e03SStefano Radaelli 460*887d9e03SStefano Radaelli&mcu_gpio_intr { 461*887d9e03SStefano Radaelli status = "reserved"; 462*887d9e03SStefano Radaelli}; 463*887d9e03SStefano Radaelli 464*887d9e03SStefano Radaelli&wkup_rtc0 { 465*887d9e03SStefano Radaelli status = "disabled"; 466*887d9e03SStefano Radaelli}; 467*887d9e03SStefano Radaelli 468*887d9e03SStefano Radaelli&wkup_rti0 { 469*887d9e03SStefano Radaelli /* WKUP RTI0 is used by DM firmware */ 470*887d9e03SStefano Radaelli status = "reserved"; 471*887d9e03SStefano Radaelli}; 472*887d9e03SStefano Radaelli 473*887d9e03SStefano Radaelli&wkup_uart0 { 474*887d9e03SStefano Radaelli /* WKUP UART0 is used by DM firmware */ 475*887d9e03SStefano Radaelli status = "reserved"; 476*887d9e03SStefano Radaelli}; 477*887d9e03SStefano Radaelli 478*887d9e03SStefano Radaelli&main_uart1 { 479*887d9e03SStefano Radaelli /* Main UART1 is used by TIFS firmware */ 480*887d9e03SStefano Radaelli status = "reserved"; 481*887d9e03SStefano Radaelli}; 482*887d9e03SStefano Radaelli 483*887d9e03SStefano Radaelli#include "k3-am62-ti-ipc-firmware.dtsi" 484