1*4717a36fSMatthias Schiffer// SPDX-License-Identifier: GPL-2.0-only 2*4717a36fSMatthias Schiffer/* 3*4717a36fSMatthias Schiffer * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/ 4*4717a36fSMatthias Schiffer * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany. 5*4717a36fSMatthias Schiffer */ 6*4717a36fSMatthias Schiffer 7*4717a36fSMatthias Schiffer/dts-v1/; 8*4717a36fSMatthias Schiffer 9*4717a36fSMatthias Schiffer#include <dt-bindings/gpio/gpio.h> 10*4717a36fSMatthias Schiffer#include <dt-bindings/input/input.h> 11*4717a36fSMatthias Schiffer#include <dt-bindings/net/ti-dp83867.h> 12*4717a36fSMatthias Schiffer#include <dt-bindings/phy/phy.h> 13*4717a36fSMatthias Schiffer#include <dt-bindings/pwm/pwm.h> 14*4717a36fSMatthias Schiffer#include "k3-serdes.h" 15*4717a36fSMatthias Schiffer 16*4717a36fSMatthias Schiffer#include "k3-am642-tqma64xxl.dtsi" 17*4717a36fSMatthias Schiffer 18*4717a36fSMatthias Schiffer/ { 19*4717a36fSMatthias Schiffer compatible = "tq,am642-tqma6442l-mbax4xxl", "tq,am642-tqma6442l", 20*4717a36fSMatthias Schiffer "ti,am642"; 21*4717a36fSMatthias Schiffer model = "TQ-Systems TQMa64xxL SoM on MBax4xxL carrier board"; 22*4717a36fSMatthias Schiffer 23*4717a36fSMatthias Schiffer aliases { 24*4717a36fSMatthias Schiffer ethernet0 = &cpsw_port1; 25*4717a36fSMatthias Schiffer i2c1 = &mcu_i2c0; 26*4717a36fSMatthias Schiffer mmc1 = &sdhci1; 27*4717a36fSMatthias Schiffer serial0 = &mcu_uart0; 28*4717a36fSMatthias Schiffer serial1 = &mcu_uart1; 29*4717a36fSMatthias Schiffer serial2 = &main_uart0; 30*4717a36fSMatthias Schiffer serial3 = &main_uart1; 31*4717a36fSMatthias Schiffer serial4 = &main_uart2; 32*4717a36fSMatthias Schiffer serial5 = &main_uart4; 33*4717a36fSMatthias Schiffer serial6 = &main_uart5; 34*4717a36fSMatthias Schiffer serial7 = &main_uart3; 35*4717a36fSMatthias Schiffer spi1 = &main_spi0; 36*4717a36fSMatthias Schiffer spi2 = &mcu_spi0; 37*4717a36fSMatthias Schiffer }; 38*4717a36fSMatthias Schiffer 39*4717a36fSMatthias Schiffer chosen { 40*4717a36fSMatthias Schiffer stdout-path = &main_uart0; 41*4717a36fSMatthias Schiffer }; 42*4717a36fSMatthias Schiffer 43*4717a36fSMatthias Schiffer gpio-keys { 44*4717a36fSMatthias Schiffer compatible = "gpio-keys"; 45*4717a36fSMatthias Schiffer pinctrl-names = "default"; 46*4717a36fSMatthias Schiffer pinctrl-0 = <&mcu_gpio_keys_pins>; 47*4717a36fSMatthias Schiffer 48*4717a36fSMatthias Schiffer user-button { 49*4717a36fSMatthias Schiffer label = "USER_BUTTON"; 50*4717a36fSMatthias Schiffer linux,code = <BTN_0>; 51*4717a36fSMatthias Schiffer gpios = <&mcu_gpio0 5 GPIO_ACTIVE_LOW>; 52*4717a36fSMatthias Schiffer }; 53*4717a36fSMatthias Schiffer }; 54*4717a36fSMatthias Schiffer 55*4717a36fSMatthias Schiffer gpio-leds { 56*4717a36fSMatthias Schiffer compatible = "gpio-leds"; 57*4717a36fSMatthias Schiffer pinctrl-names = "default"; 58*4717a36fSMatthias Schiffer pinctrl-0 = <&mcu_gpio_leds_pins>; 59*4717a36fSMatthias Schiffer 60*4717a36fSMatthias Schiffer led-0 { 61*4717a36fSMatthias Schiffer label = "led0"; 62*4717a36fSMatthias Schiffer gpios = <&mcu_gpio0 8 GPIO_ACTIVE_HIGH>; 63*4717a36fSMatthias Schiffer }; 64*4717a36fSMatthias Schiffer led-1 { 65*4717a36fSMatthias Schiffer label = "led1"; 66*4717a36fSMatthias Schiffer gpios = <&mcu_gpio0 9 GPIO_ACTIVE_HIGH>; 67*4717a36fSMatthias Schiffer }; 68*4717a36fSMatthias Schiffer }; 69*4717a36fSMatthias Schiffer 70*4717a36fSMatthias Schiffer fan0: pwm-fan { 71*4717a36fSMatthias Schiffer compatible = "pwm-fan"; 72*4717a36fSMatthias Schiffer pinctrl-names = "default"; 73*4717a36fSMatthias Schiffer pinctrl-0 = <&pwm_fan_pins>; 74*4717a36fSMatthias Schiffer fan-supply = <®_pwm_fan>; 75*4717a36fSMatthias Schiffer #cooling-cells = <2>; 76*4717a36fSMatthias Schiffer /* typical 25 kHz -> 40.000 nsec */ 77*4717a36fSMatthias Schiffer pwms = <&epwm5 0 40000 PWM_POLARITY_INVERTED>; 78*4717a36fSMatthias Schiffer cooling-levels = <0 32 64 128 196 240>; 79*4717a36fSMatthias Schiffer pulses-per-revolution = <2>; 80*4717a36fSMatthias Schiffer interrupt-parent = <&main_gpio1>; 81*4717a36fSMatthias Schiffer interrupts = <49 IRQ_TYPE_EDGE_FALLING>; 82*4717a36fSMatthias Schiffer status = "disabled"; 83*4717a36fSMatthias Schiffer }; 84*4717a36fSMatthias Schiffer 85*4717a36fSMatthias Schiffer wifi_pwrseq: pwrseq-wifi { 86*4717a36fSMatthias Schiffer compatible = "mmc-pwrseq-simple"; 87*4717a36fSMatthias Schiffer pinctrl-names = "default"; 88*4717a36fSMatthias Schiffer pinctrl-0 = <&main_mmc1_wifi_pwrseq_pins>; 89*4717a36fSMatthias Schiffer reset-gpios = <&main_gpio0 23 GPIO_ACTIVE_LOW>; 90*4717a36fSMatthias Schiffer }; 91*4717a36fSMatthias Schiffer 92*4717a36fSMatthias Schiffer reg_pwm_fan: regulator-pwm-fan { 93*4717a36fSMatthias Schiffer compatible = "regulator-fixed"; 94*4717a36fSMatthias Schiffer pinctrl-names = "default"; 95*4717a36fSMatthias Schiffer pinctrl-0 = <&pwm_fan_reg_pins>; 96*4717a36fSMatthias Schiffer regulator-name = "FAN_PWR"; 97*4717a36fSMatthias Schiffer regulator-min-microvolt = <12000000>; 98*4717a36fSMatthias Schiffer regulator-max-microvolt = <12000000>; 99*4717a36fSMatthias Schiffer gpio = <&main_gpio1 48 GPIO_ACTIVE_HIGH>; 100*4717a36fSMatthias Schiffer enable-active-high; 101*4717a36fSMatthias Schiffer }; 102*4717a36fSMatthias Schiffer 103*4717a36fSMatthias Schiffer reg_sd: regulator-sd { 104*4717a36fSMatthias Schiffer compatible = "regulator-fixed"; 105*4717a36fSMatthias Schiffer pinctrl-names = "default"; 106*4717a36fSMatthias Schiffer pinctrl-0 = <&main_mmc1_reg_pins>; 107*4717a36fSMatthias Schiffer regulator-name = "V_3V3_SD"; 108*4717a36fSMatthias Schiffer regulator-min-microvolt = <3300000>; 109*4717a36fSMatthias Schiffer regulator-max-microvolt = <3300000>; 110*4717a36fSMatthias Schiffer gpio = <&main_gpio1 43 GPIO_ACTIVE_HIGH>; 111*4717a36fSMatthias Schiffer enable-active-high; 112*4717a36fSMatthias Schiffer }; 113*4717a36fSMatthias Schiffer}; 114*4717a36fSMatthias Schiffer 115*4717a36fSMatthias Schiffer&cpsw3g { 116*4717a36fSMatthias Schiffer pinctrl-names = "default"; 117*4717a36fSMatthias Schiffer pinctrl-0 = <&cpsw_pins>; 118*4717a36fSMatthias Schiffer}; 119*4717a36fSMatthias Schiffer 120*4717a36fSMatthias Schiffer&cpsw_port1 { 121*4717a36fSMatthias Schiffer phy-mode = "rgmii-rxid"; 122*4717a36fSMatthias Schiffer phy-handle = <&cpsw3g_phy0>; 123*4717a36fSMatthias Schiffer}; 124*4717a36fSMatthias Schiffer 125*4717a36fSMatthias Schiffer&cpsw_port2 { 126*4717a36fSMatthias Schiffer status = "disabled"; 127*4717a36fSMatthias Schiffer}; 128*4717a36fSMatthias Schiffer 129*4717a36fSMatthias Schiffer&cpsw3g_mdio { 130*4717a36fSMatthias Schiffer pinctrl-names = "default"; 131*4717a36fSMatthias Schiffer pinctrl-0 = <&cpsw_mdio_pins>; 132*4717a36fSMatthias Schiffer status = "okay"; 133*4717a36fSMatthias Schiffer 134*4717a36fSMatthias Schiffer cpsw3g_phy0: ethernet-phy@0 { 135*4717a36fSMatthias Schiffer compatible = "ethernet-phy-ieee802.3-c22"; 136*4717a36fSMatthias Schiffer reg = <0>; 137*4717a36fSMatthias Schiffer reset-gpios = <&main_gpio0 44 GPIO_ACTIVE_LOW>; 138*4717a36fSMatthias Schiffer reset-assert-us = <1000>; 139*4717a36fSMatthias Schiffer reset-deassert-us = <1000>; 140*4717a36fSMatthias Schiffer ti,rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 141*4717a36fSMatthias Schiffer ti,tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 142*4717a36fSMatthias Schiffer ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 143*4717a36fSMatthias Schiffer ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 144*4717a36fSMatthias Schiffer }; 145*4717a36fSMatthias Schiffer}; 146*4717a36fSMatthias Schiffer 147*4717a36fSMatthias Schiffer&epwm5 { 148*4717a36fSMatthias Schiffer pinctrl-names = "default"; 149*4717a36fSMatthias Schiffer pinctrl-0 = <&epwm5_pins>; 150*4717a36fSMatthias Schiffer status = "okay"; 151*4717a36fSMatthias Schiffer}; 152*4717a36fSMatthias Schiffer 153*4717a36fSMatthias Schiffer&main_gpio0 { 154*4717a36fSMatthias Schiffer pinctrl-names = "default"; 155*4717a36fSMatthias Schiffer pinctrl-0 = <&main_gpio0_digital_pins>, 156*4717a36fSMatthias Schiffer <&main_gpio0_hog_pins>; 157*4717a36fSMatthias Schiffer gpio-line-names = 158*4717a36fSMatthias Schiffer "", "", "", "", /* 0-3 */ 159*4717a36fSMatthias Schiffer "", "", "", "", /* 4-7 */ 160*4717a36fSMatthias Schiffer "", "", "", "", /* 8-11 */ 161*4717a36fSMatthias Schiffer "", "", "", "", /* 12-15 */ 162*4717a36fSMatthias Schiffer "", "", "", "", /* 16-19 */ 163*4717a36fSMatthias Schiffer "", "", "", "", /* 20-23 */ 164*4717a36fSMatthias Schiffer "", "", "EN_DIG_OUT_1", "STATUS_OUT_1", /* 24-27 */ 165*4717a36fSMatthias Schiffer "EN_DIG_OUT_2", "STATUS_OUT_2", "EN_SIG_OUT_3", "", /* 28-31 */ 166*4717a36fSMatthias Schiffer "", "", "STATUS_OUT_3", "EN_DIG_OUT_4", /* 32-35 */ 167*4717a36fSMatthias Schiffer "", "", "STATUS_OUT_4", "DIG_IN_1", /* 36-39 */ 168*4717a36fSMatthias Schiffer "DIG_IN_2", "DIG_IN_3", "DIG_IN_4"; /* 40- */ 169*4717a36fSMatthias Schiffer}; 170*4717a36fSMatthias Schiffer 171*4717a36fSMatthias Schiffer&main_gpio1 { 172*4717a36fSMatthias Schiffer pinctrl-names = "default"; 173*4717a36fSMatthias Schiffer pinctrl-0 = <&main_gpio1_hog_pins>; 174*4717a36fSMatthias Schiffer gpio-line-names = 175*4717a36fSMatthias Schiffer "", "", "", "", /* 0-3 */ 176*4717a36fSMatthias Schiffer "", "", "", "", /* 4-7 */ 177*4717a36fSMatthias Schiffer "", "", "", "", /* 8-11 */ 178*4717a36fSMatthias Schiffer "", "", "", "", /* 12-15 */ 179*4717a36fSMatthias Schiffer "", "", "", "", /* 16-19 */ 180*4717a36fSMatthias Schiffer "", "", "", "", /* 20-23 */ 181*4717a36fSMatthias Schiffer "", "", "", "", /* 24-27 */ 182*4717a36fSMatthias Schiffer "", "", "", "", /* 28-31 */ 183*4717a36fSMatthias Schiffer "", "", "", "", /* 32-35 */ 184*4717a36fSMatthias Schiffer "", "", "", "", /* 36-39 */ 185*4717a36fSMatthias Schiffer "", "", "", "", /* 40-43 */ 186*4717a36fSMatthias Schiffer "", "", "", "", /* 44-47 */ 187*4717a36fSMatthias Schiffer "", "", "", "", /* 48-51 */ 188*4717a36fSMatthias Schiffer "", "", "", "ADC_SYNC", /* 52-55 */ 189*4717a36fSMatthias Schiffer "", "", "ADC_RST#", "ADC_DATA_RDY", /* 56-59 */ 190*4717a36fSMatthias Schiffer "", "", "", "", /* 60-63 */ 191*4717a36fSMatthias Schiffer "", "", "", "ADC_INT#", /* 64-67 */ 192*4717a36fSMatthias Schiffer "BG95_PWRKEY", "BG95_RESET"; /* 68- */ 193*4717a36fSMatthias Schiffer 194*4717a36fSMatthias Schiffer line50-hog { 195*4717a36fSMatthias Schiffer /* See also usb0 */ 196*4717a36fSMatthias Schiffer gpio-hog; 197*4717a36fSMatthias Schiffer gpios = <50 0>; 198*4717a36fSMatthias Schiffer line-name = "USB0_VBUS_OC#"; 199*4717a36fSMatthias Schiffer input; 200*4717a36fSMatthias Schiffer }; 201*4717a36fSMatthias Schiffer 202*4717a36fSMatthias Schiffer line54-hog { 203*4717a36fSMatthias Schiffer gpio-hog; 204*4717a36fSMatthias Schiffer gpios = <54 0>; 205*4717a36fSMatthias Schiffer line-name = "PRG0_MDIO_SWITCH"; 206*4717a36fSMatthias Schiffer output-low; 207*4717a36fSMatthias Schiffer }; 208*4717a36fSMatthias Schiffer 209*4717a36fSMatthias Schiffer line70-hog { 210*4717a36fSMatthias Schiffer gpio-hog; 211*4717a36fSMatthias Schiffer gpios = <70 0>; 212*4717a36fSMatthias Schiffer line-name = "PHY_INT#"; 213*4717a36fSMatthias Schiffer input; 214*4717a36fSMatthias Schiffer }; 215*4717a36fSMatthias Schiffer}; 216*4717a36fSMatthias Schiffer 217*4717a36fSMatthias Schiffer&main_mcan0 { 218*4717a36fSMatthias Schiffer pinctrl-names = "default"; 219*4717a36fSMatthias Schiffer pinctrl-0 = <&main_mcan0_pins>; 220*4717a36fSMatthias Schiffer status = "okay"; 221*4717a36fSMatthias Schiffer}; 222*4717a36fSMatthias Schiffer 223*4717a36fSMatthias Schiffer&main_mcan1 { 224*4717a36fSMatthias Schiffer pinctrl-names = "default"; 225*4717a36fSMatthias Schiffer pinctrl-0 = <&main_mcan1_pins>; 226*4717a36fSMatthias Schiffer status = "okay"; 227*4717a36fSMatthias Schiffer}; 228*4717a36fSMatthias Schiffer 229*4717a36fSMatthias Schiffer&main_spi0 { 230*4717a36fSMatthias Schiffer pinctrl-names = "default"; 231*4717a36fSMatthias Schiffer pinctrl-0 = <&main_spi0_pins>; 232*4717a36fSMatthias Schiffer ti,pindir-d0-out-d1-in; 233*4717a36fSMatthias Schiffer status = "okay"; 234*4717a36fSMatthias Schiffer 235*4717a36fSMatthias Schiffer /* adc@0: NXP NAFE13388 */ 236*4717a36fSMatthias Schiffer}; 237*4717a36fSMatthias Schiffer 238*4717a36fSMatthias Schiffer/* UART/USB adapter port 1 */ 239*4717a36fSMatthias Schiffer&main_uart0 { 240*4717a36fSMatthias Schiffer pinctrl-names = "default"; 241*4717a36fSMatthias Schiffer pinctrl-0 = <&main_uart0_pins>; 242*4717a36fSMatthias Schiffer status = "okay"; 243*4717a36fSMatthias Schiffer}; 244*4717a36fSMatthias Schiffer 245*4717a36fSMatthias Schiffer/* 246*4717a36fSMatthias Schiffer * IOT Module - GNSS UART 247*4717a36fSMatthias Schiffer * 248*4717a36fSMatthias Schiffer * Note: We expect usage of a SYSFW that does not reserve UART1 for debug traces 249*4717a36fSMatthias Schiffer */ 250*4717a36fSMatthias Schiffer&main_uart1 { 251*4717a36fSMatthias Schiffer pinctrl-names = "default"; 252*4717a36fSMatthias Schiffer pinctrl-0 = <&main_uart1_pins>; 253*4717a36fSMatthias Schiffer status = "okay"; 254*4717a36fSMatthias Schiffer}; 255*4717a36fSMatthias Schiffer 256*4717a36fSMatthias Schiffer/* RS485 port */ 257*4717a36fSMatthias Schiffer&main_uart2 { 258*4717a36fSMatthias Schiffer pinctrl-names = "default"; 259*4717a36fSMatthias Schiffer pinctrl-0 = <&main_uart2_pins>; 260*4717a36fSMatthias Schiffer linux,rs485-enabled-at-boot-time; 261*4717a36fSMatthias Schiffer rs485-rts-active-low; 262*4717a36fSMatthias Schiffer status = "okay"; 263*4717a36fSMatthias Schiffer}; 264*4717a36fSMatthias Schiffer 265*4717a36fSMatthias Schiffer/* Bluetooth module */ 266*4717a36fSMatthias Schiffer&main_uart3 { 267*4717a36fSMatthias Schiffer pinctrl-names = "default"; 268*4717a36fSMatthias Schiffer pinctrl-0 = <&main_uart3_pins>; 269*4717a36fSMatthias Schiffer /* 270*4717a36fSMatthias Schiffer * Left disabled for now, until a way to deal with drivers and firmware 271*4717a36fSMatthias Schiffer * for the combined WLAN/BT module has been figured out 272*4717a36fSMatthias Schiffer */ 273*4717a36fSMatthias Schiffer}; 274*4717a36fSMatthias Schiffer 275*4717a36fSMatthias Schiffer/* IOT module - Main UART */ 276*4717a36fSMatthias Schiffer&main_uart4 { 277*4717a36fSMatthias Schiffer pinctrl-names = "default"; 278*4717a36fSMatthias Schiffer pinctrl-0 = <&main_uart4_pins>; 279*4717a36fSMatthias Schiffer status = "okay"; 280*4717a36fSMatthias Schiffer}; 281*4717a36fSMatthias Schiffer 282*4717a36fSMatthias Schiffer/* IOT module - DBG UART */ 283*4717a36fSMatthias Schiffer&main_uart5 { 284*4717a36fSMatthias Schiffer pinctrl-names = "default"; 285*4717a36fSMatthias Schiffer pinctrl-0 = <&main_uart5_pins>; 286*4717a36fSMatthias Schiffer status = "okay"; 287*4717a36fSMatthias Schiffer}; 288*4717a36fSMatthias Schiffer 289*4717a36fSMatthias Schiffer&main0_thermal { 290*4717a36fSMatthias Schiffer trips { 291*4717a36fSMatthias Schiffer main0_active0: trip-active0 { 292*4717a36fSMatthias Schiffer temperature = <40000>; 293*4717a36fSMatthias Schiffer hysteresis = <5000>; 294*4717a36fSMatthias Schiffer type = "active"; 295*4717a36fSMatthias Schiffer }; 296*4717a36fSMatthias Schiffer 297*4717a36fSMatthias Schiffer main0_active1: trip-active1 { 298*4717a36fSMatthias Schiffer temperature = <48000>; 299*4717a36fSMatthias Schiffer hysteresis = <3000>; 300*4717a36fSMatthias Schiffer type = "active"; 301*4717a36fSMatthias Schiffer }; 302*4717a36fSMatthias Schiffer 303*4717a36fSMatthias Schiffer main0_active2: trip-active2 { 304*4717a36fSMatthias Schiffer temperature = <60000>; 305*4717a36fSMatthias Schiffer hysteresis = <10000>; 306*4717a36fSMatthias Schiffer type = "active"; 307*4717a36fSMatthias Schiffer }; 308*4717a36fSMatthias Schiffer }; 309*4717a36fSMatthias Schiffer 310*4717a36fSMatthias Schiffer cooling-maps { 311*4717a36fSMatthias Schiffer map1 { 312*4717a36fSMatthias Schiffer trip = <&main0_active0>; 313*4717a36fSMatthias Schiffer cooling-device = <&fan0 1 1>; 314*4717a36fSMatthias Schiffer }; 315*4717a36fSMatthias Schiffer 316*4717a36fSMatthias Schiffer map2 { 317*4717a36fSMatthias Schiffer trip = <&main0_active1>; 318*4717a36fSMatthias Schiffer cooling-device = <&fan0 2 2>; 319*4717a36fSMatthias Schiffer }; 320*4717a36fSMatthias Schiffer 321*4717a36fSMatthias Schiffer map3 { 322*4717a36fSMatthias Schiffer trip = <&main0_active2>; 323*4717a36fSMatthias Schiffer cooling-device = <&fan0 3 3>; 324*4717a36fSMatthias Schiffer }; 325*4717a36fSMatthias Schiffer }; 326*4717a36fSMatthias Schiffer}; 327*4717a36fSMatthias Schiffer 328*4717a36fSMatthias Schiffer&main1_thermal { 329*4717a36fSMatthias Schiffer trips { 330*4717a36fSMatthias Schiffer main1_active0: trip-active0 { 331*4717a36fSMatthias Schiffer temperature = <40000>; 332*4717a36fSMatthias Schiffer hysteresis = <5000>; 333*4717a36fSMatthias Schiffer type = "active"; 334*4717a36fSMatthias Schiffer }; 335*4717a36fSMatthias Schiffer 336*4717a36fSMatthias Schiffer main1_active1: trip-active1 { 337*4717a36fSMatthias Schiffer temperature = <48000>; 338*4717a36fSMatthias Schiffer hysteresis = <3000>; 339*4717a36fSMatthias Schiffer type = "active"; 340*4717a36fSMatthias Schiffer }; 341*4717a36fSMatthias Schiffer 342*4717a36fSMatthias Schiffer main1_active2: trip-active2 { 343*4717a36fSMatthias Schiffer temperature = <60000>; 344*4717a36fSMatthias Schiffer hysteresis = <10000>; 345*4717a36fSMatthias Schiffer type = "active"; 346*4717a36fSMatthias Schiffer }; 347*4717a36fSMatthias Schiffer }; 348*4717a36fSMatthias Schiffer 349*4717a36fSMatthias Schiffer cooling-maps { 350*4717a36fSMatthias Schiffer map1 { 351*4717a36fSMatthias Schiffer trip = <&main1_active0>; 352*4717a36fSMatthias Schiffer cooling-device = <&fan0 1 1>; 353*4717a36fSMatthias Schiffer }; 354*4717a36fSMatthias Schiffer 355*4717a36fSMatthias Schiffer map2 { 356*4717a36fSMatthias Schiffer trip = <&main1_active1>; 357*4717a36fSMatthias Schiffer cooling-device = <&fan0 2 2>; 358*4717a36fSMatthias Schiffer }; 359*4717a36fSMatthias Schiffer 360*4717a36fSMatthias Schiffer map3 { 361*4717a36fSMatthias Schiffer trip = <&main1_active2>; 362*4717a36fSMatthias Schiffer cooling-device = <&fan0 3 3>; 363*4717a36fSMatthias Schiffer }; 364*4717a36fSMatthias Schiffer }; 365*4717a36fSMatthias Schiffer}; 366*4717a36fSMatthias Schiffer 367*4717a36fSMatthias Schiffer&mcu_gpio0 { 368*4717a36fSMatthias Schiffer pinctrl-names = "default"; 369*4717a36fSMatthias Schiffer pinctrl-0 = <&mcu_gpio0_pins>; 370*4717a36fSMatthias Schiffer}; 371*4717a36fSMatthias Schiffer 372*4717a36fSMatthias Schiffer&mcu_i2c0 { 373*4717a36fSMatthias Schiffer pinctrl-names = "default"; 374*4717a36fSMatthias Schiffer pinctrl-0 = <&mcu_i2c0_pins>; 375*4717a36fSMatthias Schiffer /* Left disabled: not functional without external pullup */ 376*4717a36fSMatthias Schiffer}; 377*4717a36fSMatthias Schiffer 378*4717a36fSMatthias Schiffer&mcu_spi0 { 379*4717a36fSMatthias Schiffer pinctrl-names = "default"; 380*4717a36fSMatthias Schiffer pinctrl-0 = <&mcu_spi0_pins>; 381*4717a36fSMatthias Schiffer ti,pindir-d0-out-d1-in; 382*4717a36fSMatthias Schiffer status = "okay"; 383*4717a36fSMatthias Schiffer}; 384*4717a36fSMatthias Schiffer 385*4717a36fSMatthias Schiffer/* UART/USB adapter port 2 */ 386*4717a36fSMatthias Schiffer&mcu_uart0 { 387*4717a36fSMatthias Schiffer pinctrl-names = "default"; 388*4717a36fSMatthias Schiffer pinctrl-0 = <&mcu_uart0_pins>; 389*4717a36fSMatthias Schiffer status = "okay"; 390*4717a36fSMatthias Schiffer}; 391*4717a36fSMatthias Schiffer 392*4717a36fSMatthias Schiffer/* Pin header */ 393*4717a36fSMatthias Schiffer&mcu_uart1 { 394*4717a36fSMatthias Schiffer pinctrl-names = "default"; 395*4717a36fSMatthias Schiffer pinctrl-0 = <&mcu_uart1_pins>; 396*4717a36fSMatthias Schiffer status = "okay"; 397*4717a36fSMatthias Schiffer}; 398*4717a36fSMatthias Schiffer 399*4717a36fSMatthias Schiffer&serdes_ln_ctrl { 400*4717a36fSMatthias Schiffer idle-states = <AM64_SERDES0_LANE0_USB>; 401*4717a36fSMatthias Schiffer}; 402*4717a36fSMatthias Schiffer 403*4717a36fSMatthias Schiffer&serdes0 { 404*4717a36fSMatthias Schiffer serdes0_usb_link: phy@0 { 405*4717a36fSMatthias Schiffer reg = <0>; 406*4717a36fSMatthias Schiffer #phy-cells = <0>; 407*4717a36fSMatthias Schiffer resets = <&serdes_wiz0 1>; 408*4717a36fSMatthias Schiffer cdns,num-lanes = <1>; 409*4717a36fSMatthias Schiffer cdns,phy-type = <PHY_TYPE_USB3>; 410*4717a36fSMatthias Schiffer }; 411*4717a36fSMatthias Schiffer}; 412*4717a36fSMatthias Schiffer 413*4717a36fSMatthias Schiffer&sdhci1 { 414*4717a36fSMatthias Schiffer pinctrl-names = "default"; 415*4717a36fSMatthias Schiffer pinctrl-0 = <&main_mmc1_pins>; 416*4717a36fSMatthias Schiffer bus-width = <4>; 417*4717a36fSMatthias Schiffer cd-gpios = <&main_gpio1 77 GPIO_ACTIVE_LOW>; 418*4717a36fSMatthias Schiffer disable-wp; 419*4717a36fSMatthias Schiffer no-mmc; 420*4717a36fSMatthias Schiffer ti,driver-strength-ohm = <50>; 421*4717a36fSMatthias Schiffer ti,fails-without-test-cd; 422*4717a36fSMatthias Schiffer /* Enabled by overlay */ 423*4717a36fSMatthias Schiffer status = "disabled"; 424*4717a36fSMatthias Schiffer}; 425*4717a36fSMatthias Schiffer 426*4717a36fSMatthias Schiffer&tscadc0 { 427*4717a36fSMatthias Schiffer adc { 428*4717a36fSMatthias Schiffer ti,adc-channels = <0 1 2 3 4 5 6 7>; 429*4717a36fSMatthias Schiffer }; 430*4717a36fSMatthias Schiffer}; 431*4717a36fSMatthias Schiffer 432*4717a36fSMatthias Schiffer&usb0 { 433*4717a36fSMatthias Schiffer /* 434*4717a36fSMatthias Schiffer * The CDNS USB driver currently doesn't support overcurrent GPIOs, 435*4717a36fSMatthias Schiffer * so there is no overcurrent detection. The OC pin is configured 436*4717a36fSMatthias Schiffer * as a GPIO hog instead. 437*4717a36fSMatthias Schiffer */ 438*4717a36fSMatthias Schiffer pinctrl-names = "default"; 439*4717a36fSMatthias Schiffer pinctrl-0 = <&main_usb0_pins>; 440*4717a36fSMatthias Schiffer dr_mode = "otg"; 441*4717a36fSMatthias Schiffer maximum-speed = "super-speed"; 442*4717a36fSMatthias Schiffer phys = <&serdes0_usb_link>; 443*4717a36fSMatthias Schiffer phy-names = "cdns3,usb3-phy"; 444*4717a36fSMatthias Schiffer}; 445*4717a36fSMatthias Schiffer 446*4717a36fSMatthias Schiffer&usbss0 { 447*4717a36fSMatthias Schiffer ti,vbus-divider; 448*4717a36fSMatthias Schiffer}; 449*4717a36fSMatthias Schiffer 450*4717a36fSMatthias Schiffer&main_pmx0 { 451*4717a36fSMatthias Schiffer cpsw_pins: cpsw-pins { 452*4717a36fSMatthias Schiffer pinctrl-single,pins = < 453*4717a36fSMatthias Schiffer /* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */ 454*4717a36fSMatthias Schiffer AM64X_IOPAD(0x01cc, PIN_INPUT, 4) 455*4717a36fSMatthias Schiffer /* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */ 456*4717a36fSMatthias Schiffer AM64X_IOPAD(0x01d4, PIN_INPUT, 4) 457*4717a36fSMatthias Schiffer /* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */ 458*4717a36fSMatthias Schiffer AM64X_IOPAD(0x01d8, PIN_INPUT, 4) 459*4717a36fSMatthias Schiffer /* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */ 460*4717a36fSMatthias Schiffer AM64X_IOPAD(0x01f4, PIN_INPUT, 4) 461*4717a36fSMatthias Schiffer /* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */ 462*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0188, PIN_INPUT, 4) 463*4717a36fSMatthias Schiffer /* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */ 464*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0184, PIN_INPUT, 4) 465*4717a36fSMatthias Schiffer /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */ 466*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) 467*4717a36fSMatthias Schiffer /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */ 468*4717a36fSMatthias Schiffer AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) 469*4717a36fSMatthias Schiffer /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */ 470*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) 471*4717a36fSMatthias Schiffer /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */ 472*4717a36fSMatthias Schiffer AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) 473*4717a36fSMatthias Schiffer /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */ 474*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) 475*4717a36fSMatthias Schiffer /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */ 476*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) 477*4717a36fSMatthias Schiffer >; 478*4717a36fSMatthias Schiffer }; 479*4717a36fSMatthias Schiffer 480*4717a36fSMatthias Schiffer cpsw_mdio_pins: cpsw-mdio-pins { 481*4717a36fSMatthias Schiffer pinctrl-single,pins = < 482*4717a36fSMatthias Schiffer /* (R21) GPMC0_CSn3.GPIO0_44 - RESET_RGMII1# */ 483*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00b4, PIN_OUTPUT, 7) 484*4717a36fSMatthias Schiffer 485*4717a36fSMatthias Schiffer /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */ 486*4717a36fSMatthias Schiffer AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) 487*4717a36fSMatthias Schiffer /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */ 488*4717a36fSMatthias Schiffer AM64X_IOPAD(0x01f8, PIN_INPUT, 4) 489*4717a36fSMatthias Schiffer >; 490*4717a36fSMatthias Schiffer }; 491*4717a36fSMatthias Schiffer 492*4717a36fSMatthias Schiffer epwm5_pins: epwm5-pins { 493*4717a36fSMatthias Schiffer pinctrl-single,pins = < 494*4717a36fSMatthias Schiffer /* (W19) GPMC0_WAIT0.EHRPWM5_B */ 495*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0098, PIN_OUTPUT, 3) 496*4717a36fSMatthias Schiffer >; 497*4717a36fSMatthias Schiffer }; 498*4717a36fSMatthias Schiffer 499*4717a36fSMatthias Schiffer /* Digital IOs */ 500*4717a36fSMatthias Schiffer main_gpio0_digital_pins: main-gpio0-digital-pins { 501*4717a36fSMatthias Schiffer pinctrl-single,pins = < 502*4717a36fSMatthias Schiffer /* (W20) GPMC0_AD11.GPIO0_26 - EN_DIG_OUT_1 */ 503*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0068, PIN_OUTPUT, 7) 504*4717a36fSMatthias Schiffer /* (W21) GPMC0_AD12.GPIO0_27 - STATUS_OUT_1 */ 505*4717a36fSMatthias Schiffer AM64X_IOPAD(0x006c, PIN_INPUT, 7) 506*4717a36fSMatthias Schiffer /* (V18) GPMC0_AD13.GPIO0_28 - EN_DIG_OUT_2 */ 507*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0070, PIN_OUTPUT, 7) 508*4717a36fSMatthias Schiffer /* (Y21) GPMC0_AD14.GPIO0_29 - STATUS_OUT_2 */ 509*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0074, PIN_INPUT, 7) 510*4717a36fSMatthias Schiffer /* (Y20) GPMC0_AD15.GPIO0_30 - EN_DIG_OUT_3 */ 511*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0078, PIN_OUTPUT, 7) 512*4717a36fSMatthias Schiffer /* (T21) GPMC0_WEn.GPIO0_34 - STATUS_OUT_3 */ 513*4717a36fSMatthias Schiffer AM64X_IOPAD(0x008c, PIN_INPUT, 7) 514*4717a36fSMatthias Schiffer /* (P17) GPMC0_BE0n_CLE.GPIO0_35 - EN_DIG_OUT_4 */ 515*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0090, PIN_OUTPUT, 7) 516*4717a36fSMatthias Schiffer /* (Y18) GPMC0_WAIT1.GPIO0_38 - STATUS_OUT_4 */ 517*4717a36fSMatthias Schiffer AM64X_IOPAD(0x009c, PIN_INPUT, 7) 518*4717a36fSMatthias Schiffer /* (N16) GPMC0_WPn.GPIO0_39 - DIG_IN_1 */ 519*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00a0, PIN_INPUT, 7) 520*4717a36fSMatthias Schiffer /* (N17) GPMC0_DIR.GPIO0_40 - DIG_IN_2 */ 521*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00a4, PIN_INPUT, 7) 522*4717a36fSMatthias Schiffer /* (R19) GPMC0_CSn0.GPIO0_41 - DIG_IN_3 */ 523*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00a8, PIN_INPUT, 7) 524*4717a36fSMatthias Schiffer /* (R20) GPMC0_CSn1.GPIO0_42 - DIG_IN_4 */ 525*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00ac, PIN_INPUT, 7) 526*4717a36fSMatthias Schiffer >; 527*4717a36fSMatthias Schiffer }; 528*4717a36fSMatthias Schiffer 529*4717a36fSMatthias Schiffer main_gpio0_hog_pins: main-gpio0-hog-pins { 530*4717a36fSMatthias Schiffer pinctrl-single,pins = < 531*4717a36fSMatthias Schiffer /* (P19) GPMC0_CSn2.GPIO0_43 - MMC1_CTRL */ 532*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00b0, PIN_OUTPUT, 7) 533*4717a36fSMatthias Schiffer >; 534*4717a36fSMatthias Schiffer }; 535*4717a36fSMatthias Schiffer 536*4717a36fSMatthias Schiffer main_gpio1_hog_pins: main-gpio1-hog-pins { 537*4717a36fSMatthias Schiffer pinctrl-single,pins = < 538*4717a36fSMatthias Schiffer /* (B15) SPI1_D0.GPIO1_50 - USB0_VBUS_OC# */ 539*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0228, PIN_INPUT, 7) 540*4717a36fSMatthias Schiffer /* (B16) UART0_CTSn.GPIO1_54 - PRG0_MDIO_SWITCH */ 541*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0238, PIN_OUTPUT, 7) 542*4717a36fSMatthias Schiffer /* (C19) EXTINTn.GPIO1_70 - PHY_INT# */ 543*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0278, PIN_INPUT, 7) 544*4717a36fSMatthias Schiffer >; 545*4717a36fSMatthias Schiffer }; 546*4717a36fSMatthias Schiffer 547*4717a36fSMatthias Schiffer main_mcan0_pins: main-mcan0-pins { 548*4717a36fSMatthias Schiffer pinctrl-single,pins = < 549*4717a36fSMatthias Schiffer /* (B17) MCAN0_RX */ 550*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0254, PIN_INPUT, 0) 551*4717a36fSMatthias Schiffer /* (A17) MCAN0_TX */ 552*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0250, PIN_OUTPUT, 0) 553*4717a36fSMatthias Schiffer >; 554*4717a36fSMatthias Schiffer }; 555*4717a36fSMatthias Schiffer 556*4717a36fSMatthias Schiffer main_mcan1_pins: main-mcan1-pins { 557*4717a36fSMatthias Schiffer pinctrl-single,pins = < 558*4717a36fSMatthias Schiffer /* (D17) MCAN1_RX */ 559*4717a36fSMatthias Schiffer AM64X_IOPAD(0x025c, PIN_INPUT, 0) 560*4717a36fSMatthias Schiffer /* (C17) MCAN1_TX */ 561*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0258, PIN_OUTPUT, 0) 562*4717a36fSMatthias Schiffer >; 563*4717a36fSMatthias Schiffer }; 564*4717a36fSMatthias Schiffer 565*4717a36fSMatthias Schiffer main_mmc1_pins: main-mmc1-pins { 566*4717a36fSMatthias Schiffer pinctrl-single,pins = < 567*4717a36fSMatthias Schiffer /* (J19) MMC1_CMD */ 568*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0294, PIN_INPUT, 0) 569*4717a36fSMatthias Schiffer /* (L20) MMC1_CLK */ 570*4717a36fSMatthias Schiffer AM64X_IOPAD(0x028c, PIN_INPUT, 0) 571*4717a36fSMatthias Schiffer /* (K21) MMC1_DAT0 */ 572*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0288, PIN_INPUT, 0) 573*4717a36fSMatthias Schiffer /* (L21) MMC1_DAT1 */ 574*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0284, PIN_INPUT, 0) 575*4717a36fSMatthias Schiffer /* (K19) MMC1_DAT2 */ 576*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0280, PIN_INPUT, 0) 577*4717a36fSMatthias Schiffer /* (K18) MMC1_DAT3 */ 578*4717a36fSMatthias Schiffer AM64X_IOPAD(0x027c, PIN_INPUT, 0) 579*4717a36fSMatthias Schiffer /* (D19) MMC1_SDCD.GPIO1_77 */ 580*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0298, PIN_INPUT, 7) 581*4717a36fSMatthias Schiffer /* (#N/A) MMC1_CLKLB */ 582*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0290, PIN_INPUT, 0) 583*4717a36fSMatthias Schiffer >; 584*4717a36fSMatthias Schiffer }; 585*4717a36fSMatthias Schiffer 586*4717a36fSMatthias Schiffer main_mmc1_reg_pins: main-mmc1-reg-pins { 587*4717a36fSMatthias Schiffer pinctrl-single,pins = < 588*4717a36fSMatthias Schiffer /* (C13) SPI0_CS1.GPIO1_43 - MMC1_SD_EN */ 589*4717a36fSMatthias Schiffer AM64X_IOPAD(0x020c, PIN_OUTPUT, 7) 590*4717a36fSMatthias Schiffer >; 591*4717a36fSMatthias Schiffer }; 592*4717a36fSMatthias Schiffer 593*4717a36fSMatthias Schiffer main_mmc1_wifi_pwrseq_pins: main-mmc1-wifi-pwrseq-pins { 594*4717a36fSMatthias Schiffer pinctrl-single,pins = < 595*4717a36fSMatthias Schiffer /* (V19) GPMC0_AD8.GPIO0_23 - WIFI-BT_EN */ 596*4717a36fSMatthias Schiffer AM64X_IOPAD(0x005c, PIN_OUTPUT, 7) 597*4717a36fSMatthias Schiffer >; 598*4717a36fSMatthias Schiffer }; 599*4717a36fSMatthias Schiffer 600*4717a36fSMatthias Schiffer main_spi0_pins: main-spi0-pins { 601*4717a36fSMatthias Schiffer pinctrl-single,pins = < 602*4717a36fSMatthias Schiffer /* (D13) SPI0_CLK */ 603*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0210, PIN_OUTPUT, 0) 604*4717a36fSMatthias Schiffer /* (D12) SPI0_CS0 */ 605*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0208, PIN_OUTPUT, 0) 606*4717a36fSMatthias Schiffer /* (A13) SPI0_D0 */ 607*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0214, PIN_OUTPUT, 0) 608*4717a36fSMatthias Schiffer /* (A14) SPI0_D1 */ 609*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0218, PIN_INPUT, 0) 610*4717a36fSMatthias Schiffer >; 611*4717a36fSMatthias Schiffer }; 612*4717a36fSMatthias Schiffer 613*4717a36fSMatthias Schiffer main_spi0_adc_pins: main-spi0-adc-pins { 614*4717a36fSMatthias Schiffer pinctrl-single,pins = < 615*4717a36fSMatthias Schiffer /* (A16) UART0_RTSn.GPIO1_55 - ADC_SYNC */ 616*4717a36fSMatthias Schiffer AM64X_IOPAD(0x023c, PIN_INPUT, 7) 617*4717a36fSMatthias Schiffer /* (D16) UART1_CTSn.GPIO1_58 - ADC_RST# */ 618*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0248, PIN_OUTPUT, 7) 619*4717a36fSMatthias Schiffer /* (E16) UART1_RTSn.GPIO1_59 - ADC_DATA_RDY */ 620*4717a36fSMatthias Schiffer AM64X_IOPAD(0x024c, PIN_INPUT, 7) 621*4717a36fSMatthias Schiffer /* (B19) I2C1_SDA.GPIO1_67 - ADC_INT# */ 622*4717a36fSMatthias Schiffer AM64X_IOPAD(0x026c, PIN_INPUT, 7) 623*4717a36fSMatthias Schiffer >; 624*4717a36fSMatthias Schiffer }; 625*4717a36fSMatthias Schiffer 626*4717a36fSMatthias Schiffer main_uart0_pins: main-uart0-pins { 627*4717a36fSMatthias Schiffer pinctrl-single,pins = < 628*4717a36fSMatthias Schiffer /* (D15) UART0_RXD */ 629*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0230, PIN_INPUT, 0) 630*4717a36fSMatthias Schiffer /* (C16) UART0_TXD */ 631*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) 632*4717a36fSMatthias Schiffer >; 633*4717a36fSMatthias Schiffer }; 634*4717a36fSMatthias Schiffer 635*4717a36fSMatthias Schiffer main_uart1_pins: main-uart1-pins { 636*4717a36fSMatthias Schiffer pinctrl-single,pins = < 637*4717a36fSMatthias Schiffer /* (E15) UART1_RXD */ 638*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0240, PIN_INPUT, 0) 639*4717a36fSMatthias Schiffer /* (E14) UART1_TXD */ 640*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0244, PIN_OUTPUT, 0) 641*4717a36fSMatthias Schiffer >; 642*4717a36fSMatthias Schiffer }; 643*4717a36fSMatthias Schiffer 644*4717a36fSMatthias Schiffer main_uart2_pins: main-uart2-pins { 645*4717a36fSMatthias Schiffer pinctrl-single,pins = < 646*4717a36fSMatthias Schiffer /* (T18) GPMC0_AD2.UART2_RTSn */ 647*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0044, PIN_OUTPUT, 2) 648*4717a36fSMatthias Schiffer /* (T20) GPMC0_AD0.UART2_RXD */ 649*4717a36fSMatthias Schiffer AM64X_IOPAD(0x003c, PIN_INPUT, 2) 650*4717a36fSMatthias Schiffer /* (U21) GPMC0_AD1.UART2_TXD */ 651*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0040, PIN_OUTPUT, 2) 652*4717a36fSMatthias Schiffer >; 653*4717a36fSMatthias Schiffer }; 654*4717a36fSMatthias Schiffer 655*4717a36fSMatthias Schiffer main_uart3_pins: main-uart3-pins { 656*4717a36fSMatthias Schiffer pinctrl-single,pins = < 657*4717a36fSMatthias Schiffer /* (T17) GPMC0_AD9.UART3_CTSn */ 658*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0060, PIN_INPUT, 2) 659*4717a36fSMatthias Schiffer /* (U19) GPMC0_AD5.UART3_RTSn */ 660*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0050, PIN_OUTPUT, 2) 661*4717a36fSMatthias Schiffer /* (U20) GPMC0_AD3.UART3_RXD */ 662*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0048, PIN_INPUT, 2) 663*4717a36fSMatthias Schiffer /* (U18) GPMC0_AD4.UART3_TXD */ 664*4717a36fSMatthias Schiffer AM64X_IOPAD(0x004c, PIN_OUTPUT, 2) 665*4717a36fSMatthias Schiffer >; 666*4717a36fSMatthias Schiffer }; 667*4717a36fSMatthias Schiffer 668*4717a36fSMatthias Schiffer main_uart4_pins: main-uart4-pins { 669*4717a36fSMatthias Schiffer pinctrl-single,pins = < 670*4717a36fSMatthias Schiffer /* (R16) GPMC0_AD10.UART4_CTSn */ 671*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0064, PIN_INPUT, 2) 672*4717a36fSMatthias Schiffer /* (R17) GPMC0_CLK.UART4_RTSn */ 673*4717a36fSMatthias Schiffer AM64X_IOPAD(0x007c, PIN_OUTPUT, 2) 674*4717a36fSMatthias Schiffer /* (V20) GPMC0_AD6.UART4_RXD */ 675*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0054, PIN_INPUT, 2) 676*4717a36fSMatthias Schiffer /* (V21) GPMC0_AD7.UART4_TXD */ 677*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0058, PIN_OUTPUT, 2) 678*4717a36fSMatthias Schiffer 679*4717a36fSMatthias Schiffer /* Control GPIOs for IOT Module connected to UART4 */ 680*4717a36fSMatthias Schiffer /* (D18) ECAP0_IN_APWM_OUT.GPIO1_68 - BG95_PWRKEY */ 681*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0270, PIN_OUTPUT, 7) 682*4717a36fSMatthias Schiffer /* (A19) EXT_REFCLK1.GPIO1_69 - BG95_RESET */ 683*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0274, PIN_OUTPUT, 7) 684*4717a36fSMatthias Schiffer >; 685*4717a36fSMatthias Schiffer }; 686*4717a36fSMatthias Schiffer 687*4717a36fSMatthias Schiffer main_uart5_pins: main-uart5-pins { 688*4717a36fSMatthias Schiffer pinctrl-single,pins = < 689*4717a36fSMatthias Schiffer /* (P16) GPMC0_ADVn_ALE.UART5_RXD */ 690*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0084, PIN_INPUT, 2) 691*4717a36fSMatthias Schiffer /* (R18) GPMC0_OEn_REn.UART5_TXD */ 692*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0088, PIN_OUTPUT, 2) 693*4717a36fSMatthias Schiffer >; 694*4717a36fSMatthias Schiffer }; 695*4717a36fSMatthias Schiffer 696*4717a36fSMatthias Schiffer main_usb0_pins: main-usb0-pins { 697*4717a36fSMatthias Schiffer pinctrl-single,pins = < 698*4717a36fSMatthias Schiffer /* (E19) USB0_DRVVBUS */ 699*4717a36fSMatthias Schiffer AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) 700*4717a36fSMatthias Schiffer >; 701*4717a36fSMatthias Schiffer }; 702*4717a36fSMatthias Schiffer 703*4717a36fSMatthias Schiffer pru_icssg1_mdio_pins: pru-icssg1-mdio-pins { 704*4717a36fSMatthias Schiffer pinctrl-single,pins = < 705*4717a36fSMatthias Schiffer /* (A15) SPI1_D1.GPIO1_51 - RESET_PRG1_RGMII1# */ 706*4717a36fSMatthias Schiffer AM64X_IOPAD(0x022c, PIN_OUTPUT, 7) 707*4717a36fSMatthias Schiffer /* (B14) SPI1_CS0.GPIO1_47 - RESET_PRG1_RGMII2# */ 708*4717a36fSMatthias Schiffer AM64X_IOPAD(0x021c, PIN_OUTPUT, 7) 709*4717a36fSMatthias Schiffer 710*4717a36fSMatthias Schiffer /* (Y6) PRG1_MDIO0_MDC */ 711*4717a36fSMatthias Schiffer AM64X_IOPAD(0x015c, PIN_OUTPUT, 0) 712*4717a36fSMatthias Schiffer /* (AA6) PRG1_MDIO0_MDIO */ 713*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0158, PIN_INPUT, 0) 714*4717a36fSMatthias Schiffer >; 715*4717a36fSMatthias Schiffer }; 716*4717a36fSMatthias Schiffer 717*4717a36fSMatthias Schiffer pru_icssg1_rgmii1_pins: pru-icssg1-rgmii1-pins { 718*4717a36fSMatthias Schiffer pinctrl-single,pins = < 719*4717a36fSMatthias Schiffer /* (Y7) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */ 720*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00b8, PIN_INPUT, 2) 721*4717a36fSMatthias Schiffer /* (U8) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */ 722*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00bc, PIN_INPUT, 2) 723*4717a36fSMatthias Schiffer /* (W8) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */ 724*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00c0, PIN_INPUT, 2) 725*4717a36fSMatthias Schiffer /* (V8) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */ 726*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00c4, PIN_INPUT, 2) 727*4717a36fSMatthias Schiffer /* (AA7) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */ 728*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00d0, PIN_INPUT, 2) 729*4717a36fSMatthias Schiffer /* (Y8) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */ 730*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00c8, PIN_INPUT, 2) 731*4717a36fSMatthias Schiffer /* (AA8) PRG1_PRU0_GPO11.PRG1_RGMII1_TD0 */ 732*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00e4, PIN_OUTPUT, 2) 733*4717a36fSMatthias Schiffer /* (U9) PRG1_PRU0_GPO12.PRG1_RGMII1_TD1 */ 734*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00e8, PIN_OUTPUT, 2) 735*4717a36fSMatthias Schiffer /* (W9) PRG1_PRU0_GPO13.PRG1_RGMII1_TD2 */ 736*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00ec, PIN_OUTPUT, 2) 737*4717a36fSMatthias Schiffer /* (AA9) PRG1_PRU0_GPO14.PRG1_RGMII1_TD3 */ 738*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00f0, PIN_OUTPUT, 2) 739*4717a36fSMatthias Schiffer /* (V9) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */ 740*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00f8, PIN_OUTPUT, 2) 741*4717a36fSMatthias Schiffer /* (Y9) PRG1_PRU0_GPO15.PRG1_RGMII1_TX_CTL */ 742*4717a36fSMatthias Schiffer AM64X_IOPAD(0x00f4, PIN_OUTPUT, 2) 743*4717a36fSMatthias Schiffer >; 744*4717a36fSMatthias Schiffer }; 745*4717a36fSMatthias Schiffer 746*4717a36fSMatthias Schiffer pru_icssg1_rgmii2_pins: pru-icssg1-rgmii2-pins { 747*4717a36fSMatthias Schiffer pinctrl-single,pins = < 748*4717a36fSMatthias Schiffer /* (W11) PRG1_PRU1_GPO0.PRG1_RGMII2_RD0 */ 749*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0108, PIN_INPUT, 2) 750*4717a36fSMatthias Schiffer /* (V11) PRG1_PRU1_GPO1.PRG1_RGMII2_RD1 */ 751*4717a36fSMatthias Schiffer AM64X_IOPAD(0x010c, PIN_INPUT, 2) 752*4717a36fSMatthias Schiffer /* (AA12) PRG1_PRU1_GPO2.PRG1_RGMII2_RD2 */ 753*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0110, PIN_INPUT, 2) 754*4717a36fSMatthias Schiffer /* (Y12) PRG1_PRU1_GPO3.PRG1_RGMII2_RD3 */ 755*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0114, PIN_INPUT, 2) 756*4717a36fSMatthias Schiffer /* (U11) PRG1_PRU1_GPO6.PRG1_RGMII2_RXC */ 757*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0120, PIN_INPUT, 2) 758*4717a36fSMatthias Schiffer /* (W12) PRG1_PRU1_GPO4.PRG1_RGMII2_RX_CTL */ 759*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0118, PIN_INPUT, 2) 760*4717a36fSMatthias Schiffer /* (AA10) PRG1_PRU1_GPO11.PRG1_RGMII2_TD0 */ 761*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0134, PIN_OUTPUT, 2) 762*4717a36fSMatthias Schiffer /* (V10) PRG1_PRU1_GPO12.PRG1_RGMII2_TD1 */ 763*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0138, PIN_OUTPUT, 2) 764*4717a36fSMatthias Schiffer /* (U10) PRG1_PRU1_GPO13.PRG1_RGMII2_TD2 */ 765*4717a36fSMatthias Schiffer AM64X_IOPAD(0x013c, PIN_OUTPUT, 2) 766*4717a36fSMatthias Schiffer /* (AA11) PRG1_PRU1_GPO14.PRG1_RGMII2_TD3 */ 767*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0140, PIN_OUTPUT, 2) 768*4717a36fSMatthias Schiffer /* (Y10) PRG1_PRU1_GPO16.PRG1_RGMII2_TXC */ 769*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0148, PIN_OUTPUT, 2) 770*4717a36fSMatthias Schiffer /* (Y11) PRG1_PRU1_GPO15.PRG1_RGMII2_TX_CTL */ 771*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0144, PIN_OUTPUT, 2) 772*4717a36fSMatthias Schiffer >; 773*4717a36fSMatthias Schiffer }; 774*4717a36fSMatthias Schiffer 775*4717a36fSMatthias Schiffer pwm_fan_pins: pwm-fan-pins { 776*4717a36fSMatthias Schiffer pinctrl-single,pins = < 777*4717a36fSMatthias Schiffer /* (T19) GPMC0_BE1n.EHRPWM5_A */ 778*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0094, PIN_OUTPUT, 3) 779*4717a36fSMatthias Schiffer /* (C14) SPI1_CLK.GPIO1_49 - FAN_RPM */ 780*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0224, PIN_INPUT, 7) 781*4717a36fSMatthias Schiffer >; 782*4717a36fSMatthias Schiffer }; 783*4717a36fSMatthias Schiffer 784*4717a36fSMatthias Schiffer pwm_fan_reg_pins: pwm-fan-reg-pins { 785*4717a36fSMatthias Schiffer pinctrl-single,pins = < 786*4717a36fSMatthias Schiffer /* (D14) SPI1_CS1.GPIO1_48 - FAN_PWR */ 787*4717a36fSMatthias Schiffer AM64X_IOPAD(0x0220, PIN_OUTPUT, 7) 788*4717a36fSMatthias Schiffer >; 789*4717a36fSMatthias Schiffer }; 790*4717a36fSMatthias Schiffer}; 791*4717a36fSMatthias Schiffer 792*4717a36fSMatthias Schiffer&mcu_pmx0 { 793*4717a36fSMatthias Schiffer mcu_gpio_keys_pins: mcu-gpio-keys-pins { 794*4717a36fSMatthias Schiffer pinctrl-single,pins = < 795*4717a36fSMatthias Schiffer /* (A7) MCU_SPI1_CS0.MCU_GPIO0_5 */ 796*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0014, PIN_INPUT, 7) 797*4717a36fSMatthias Schiffer >; 798*4717a36fSMatthias Schiffer }; 799*4717a36fSMatthias Schiffer 800*4717a36fSMatthias Schiffer mcu_gpio_leds_pins: mcu-gpio-leds-pins { 801*4717a36fSMatthias Schiffer pinctrl-single,pins = < 802*4717a36fSMatthias Schiffer /* (C7) MCU_SPI1_D0.MCU_GPIO0_8 */ 803*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0020, PIN_OUTPUT, 7) 804*4717a36fSMatthias Schiffer /* (C8) MCU_SPI1_D1.MCU_GPIO0_9 */ 805*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0024, PIN_OUTPUT, 7) 806*4717a36fSMatthias Schiffer >; 807*4717a36fSMatthias Schiffer }; 808*4717a36fSMatthias Schiffer 809*4717a36fSMatthias Schiffer mcu_gpio0_pins: mcu-gpio0-pins { 810*4717a36fSMatthias Schiffer pinctrl-single,pins = < 811*4717a36fSMatthias Schiffer /* (E8) MCU_UART0_RTSn.MCU_GPIO0_0 */ 812*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0034, PIN_INPUT, 7) 813*4717a36fSMatthias Schiffer /* (D8) MCU_UART0_CTSn.MCU_GPIO0_1 */ 814*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0030, PIN_INPUT, 7) 815*4717a36fSMatthias Schiffer /* (B7) MCU_SPI1_CS1.MCU_GPIO0_6 */ 816*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0018, PIN_INPUT, 7) 817*4717a36fSMatthias Schiffer /* (D7) MCU_SPI1_CLK.MCU_GPIO0_7 */ 818*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x001c, PIN_INPUT, 7) 819*4717a36fSMatthias Schiffer /* (A11) MCU_I2C1_SCL.MCU_GPIO0_20 */ 820*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0050, PIN_INPUT, 7) 821*4717a36fSMatthias Schiffer /* (B10) MCU_I2C1_SDA.MCU_GPIO0_21 */ 822*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0054, PIN_INPUT, 7) 823*4717a36fSMatthias Schiffer >; 824*4717a36fSMatthias Schiffer }; 825*4717a36fSMatthias Schiffer 826*4717a36fSMatthias Schiffer mcu_i2c0_pins: mcu-i2c0-pins { 827*4717a36fSMatthias Schiffer pinctrl-single,pins = < 828*4717a36fSMatthias Schiffer /* (E9) MCU_I2C0_SCL */ 829*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0048, PIN_INPUT, 0) 830*4717a36fSMatthias Schiffer /* (A10) MCU_I2C0_SDA */ 831*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x004c, PIN_INPUT, 0) 832*4717a36fSMatthias Schiffer >; 833*4717a36fSMatthias Schiffer }; 834*4717a36fSMatthias Schiffer 835*4717a36fSMatthias Schiffer mcu_spi0_pins: mcu-spi0-pins { 836*4717a36fSMatthias Schiffer pinctrl-single,pins = < 837*4717a36fSMatthias Schiffer /* (E6) MCU_SPI0_CLK */ 838*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0008, PIN_OUTPUT, 0) 839*4717a36fSMatthias Schiffer /* (D6) MCU_SPI0_CS0 */ 840*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0000, PIN_OUTPUT, 0) 841*4717a36fSMatthias Schiffer /* (C6) MCU_SPI0_CS1 */ 842*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0004, PIN_OUTPUT, 0) 843*4717a36fSMatthias Schiffer /* (E7) MCU_SPI0_D0 */ 844*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x000c, PIN_OUTPUT, 0) 845*4717a36fSMatthias Schiffer /* (B6) MCU_SPI0_D1 */ 846*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0010, PIN_INPUT, 0) 847*4717a36fSMatthias Schiffer >; 848*4717a36fSMatthias Schiffer }; 849*4717a36fSMatthias Schiffer 850*4717a36fSMatthias Schiffer mcu_uart0_pins: mcu-uart0-pins { 851*4717a36fSMatthias Schiffer pinctrl-single,pins = < 852*4717a36fSMatthias Schiffer /* (A9) MCU_UART0_RXD */ 853*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0028, PIN_INPUT, 0) 854*4717a36fSMatthias Schiffer /* (A8) MCU_UART0_TXD */ 855*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x002c, PIN_OUTPUT, 0) 856*4717a36fSMatthias Schiffer >; 857*4717a36fSMatthias Schiffer }; 858*4717a36fSMatthias Schiffer 859*4717a36fSMatthias Schiffer mcu_uart1_pins: mcu-uart1-pins { 860*4717a36fSMatthias Schiffer pinctrl-single,pins = < 861*4717a36fSMatthias Schiffer /* (B8) MCU_UART1_CTSn */ 862*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0040, PIN_INPUT, 0) 863*4717a36fSMatthias Schiffer /* (B9) MCU_UART1_RTSn */ 864*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0044, PIN_OUTPUT, 0) 865*4717a36fSMatthias Schiffer /* (C9) MCU_UART1_RXD */ 866*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x0038, PIN_INPUT, 0) 867*4717a36fSMatthias Schiffer /* (D9) MCU_UART1_TXD */ 868*4717a36fSMatthias Schiffer AM64X_MCU_IOPAD(0x003c, PIN_OUTPUT, 0) 869*4717a36fSMatthias Schiffer >; 870*4717a36fSMatthias Schiffer }; 871*4717a36fSMatthias Schiffer}; 872