Files
linux-kernel/linux-7.2.3/arch/arm64/boot/dts/ti/k3-am625-tqma62xx-mba62xx.dts
2026-09-06 12:53:21 -06:00

1034 lines
24 KiB
Devicetree

// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (c) 2023-2026 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany.
* Author: Nora Schiffer
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/pwm/pwm.h>
#include "k3-am625-tqma62xx.dtsi"
/ {
compatible = "tq,am625-tqma6254-mba62xx", "tq,am625-tqma6254",
"ti,am625";
model = "TQ-Systems TQMa62xx SoM on MBa62xx carrier board";
chassis-type = "embedded";
aliases {
can0 = &mcu_mcan0;
can1 = &mcu_mcan1;
ethernet0 = &cpsw_port1;
ethernet1 = &cpsw_port2;
i2c1 = &main_i2c1;
mmc1 = &sdhci1;
mmc2 = &sdhci2;
serial0 = &main_uart0;
serial1 = &mcu_uart0;
spi1 = &main_spi0;
usb0 = &usb0;
usb1 = &usb1;
};
chosen {
stdout-path = &main_uart0;
};
backlight: backlight {
compatible = "pwm-backlight";
pinctrl-names = "default";
pinctrl-0 = <&backlight_pins>;
enable-gpios = <&main_gpio0 38 GPIO_ACTIVE_HIGH>;
/* Enabled by display overlays */
status = "disabled";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&gpio_key_pins>;
user-button {
label = "USER_BUTTON";
linux,code = <BTN_0>;
gpios = <&main_gpio0 40 GPIO_ACTIVE_LOW>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&gpio_led_pins>;
led-1 {
gpios = <&main_gpio0 41 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_INDICATOR;
};
led-2 {
gpios = <&main_gpio0 42 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_YELLOW>;
function = LED_FUNCTION_INDICATOR;
};
};
panel: panel {
pinctrl-names = "default";
pinctrl-0 = <&lvds_panel_pins>;
enable-gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>;
power-supply = <&reg_lvds_pwr>;
/* Completed and enabled by display overlays */
status = "disabled";
};
fan0: pwm-fan {
compatible = "pwm-fan";
pinctrl-names = "default";
pinctrl-0 = <&pwm_fan_pins>;
fan-supply = <&reg_pwm_fan>;
#cooling-cells = <2>;
/* typical 25 kHz -> 40.000 nsec */
pwms = <&epwm0 1 40000 PWM_POLARITY_INVERTED>;
cooling-levels = <0 32 64 128 196 240>;
pulses-per-revolution = <2>;
interrupt-parent = <&main_gpio1>;
interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
/*
* 4-pin connector for optional fan - disabled by default, as
* PWM period may need to be adjusted for the used fan
*/
status = "disabled";
};
wifi_pwrseq: pwrseq-wifi {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&main_mmc2_pwrseq_pins>;
reset-gpios = <&main_gpio0 44 GPIO_ACTIVE_HIGH>;
};
reg_1v8: regulator-1v8 {
compatible = "regulator-fixed";
regulator-name = "V_1V8_MBA";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
reg_3v3_sd: regulator-3v3-sd {
/* TPS22963CYZTP */
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&reg_3v3_sd_pins>;
regulator-name = "V_3V3_SD";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
vin-supply = <&reg_3v3>;
gpio = <&main_gpio1 8 GPIO_ACTIVE_HIGH>;
bootph-all;
};
reg_lvds_pwr: regulator-lvds-pwr {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&reg_lvds_pwr_pins>;
regulator-name = "LVDS0_PWR";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
vin-supply = <&reg_3v3>;
gpio = <&main_gpio0 61 GPIO_ACTIVE_HIGH>;
};
reg_pwm_fan: regulator-pwm-fan {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&reg_pwm_fan_pins>;
regulator-name = "FAN_PWR";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
gpio = <&main_gpio0 62 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
sound: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "tqm-tlv320aic32";
simple-audio-card,widgets =
"Line Out", "Line Out",
"Line In", "Line In",
"Microphone", "Microphone Jack";
simple-audio-card,routing =
"Line Out", "LOL",
"Line Out", "LOR",
"IN1_L", "Line In",
"IN1_R", "Line In",
"IN3_L", "Microphone Jack",
"Microphone Jack", "Mic Bias";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
simple-audio-card,cpu {
sound-dai = <&mcasp1>;
};
sound_master: simple-audio-card,codec {
sound-dai = <&tlv320aic32x4>;
clocks = <&audio_refclk0>;
};
};
};
&audio_refclk0 {
/* Set parent to POSTDIV1_16FFT_MAIN_1_HSDIVOUT6, for 96MHz clock output */
assigned-clock-parents = <&k3_clks 157 7>;
};
&cpsw3g {
pinctrl-names = "default";
pinctrl-0 = <&main_rgmii1_pins>, <&main_rgmii2_pins>;
status = "okay";
};
&cpsw_port1 {
phy-mode = "rgmii-id";
phy-handle = <&cpsw3g_phy0>;
};
&cpsw_port2 {
phy-mode = "rgmii-id";
phy-handle = <&cpsw3g_phy3>;
};
&cpsw3g_mdio {
pinctrl-names = "default";
pinctrl-0 = <&main_mdio1_pins>;
status = "okay";
cpsw3g_phy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x0>;
reset-gpios = <&main_gpio1 11 GPIO_ACTIVE_LOW>;
reset-assert-us = <1000>;
reset-deassert-us = <1000>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
};
cpsw3g_phy3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x3>;
reset-gpios = <&main_gpio1 12 GPIO_ACTIVE_LOW>;
reset-assert-us = <1000>;
reset-deassert-us = <1000>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
};
};
&dss {
pinctrl-names = "default";
pinctrl-0 = <&dss_pins>;
};
&epwm0 {
status = "okay";
};
&epwm1 {
status = "okay";
};
&main_gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&main_gpio0_pins>, <&main_gpio0_pr0_pins>;
gpio-line-names =
"", "", "", "", /* 0-3 */
"", "", "", "", /* 4-7 */
"", "", "", "", /* 8-11 */
"ADC_SYNC", "ADC_RST#", "ADC_DATA_RDY", "", /* 12-15 */
"", "", "", "", /* 16-19 */
"", "", "", "", /* 20-23 */
"", "", "", "", /* 24-27 */
"", "", "", "", /* 28-31 */
"", "", "", "", /* 32-35 */
"", "", "", "BG95_PWRKEY", /* 36-39 */
"", "", "", "BG95_RESET", /* 40-43 */
"", "", "", "", /* 44-47 */
"", "", "", "", /* 48-51 */
"", "", "", "", /* 52-55 */
"", "", "", "", /* 56-59 */
"", "", "", "", /* 60-63 */
"", "", "", "", /* 64-67 */
"", "", "", "", /* 68-71 */
"ADC_INT"; /* 72- */
bootph-all;
};
&main_gpio1 {
pinctrl-names = "default";
pinctrl-0 = <&main_gpio1_pins>, <&main_gpio1_pr0_pins>;
bootph-all;
/* No overcurrent handling in USB host driver - pin is hogged for now */
line7-hog {
gpio-hog;
gpios = <7 GPIO_ACTIVE_HIGH>;
line-name = "USB0_VBUS_OC#";
input;
};
};
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins>;
clock-frequency = <400000>;
status = "okay";
tlv320aic32x4: audio-codec@18 {
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
pinctrl-names = "default";
pinctrl-0 = <&audio_codec_pins>;
#sound-dai-cells = <0>;
clock-names = "mclk";
clocks = <&audio_refclk0>;
reset-gpios = <&main_gpio0 33 GPIO_ACTIVE_LOW>;
iov-supply = <&reg_1v8>;
ldoin-supply = <&reg_3v3>;
};
};
&main_spi0 {
pinctrl-names = "default";
pinctrl-0 = <&main_spi0_pins>;
ti,pindir-d0-out-d1-in;
status = "okay";
/* adc@0: NXP NAFE13388 */
};
&main0_thermal {
trips {
main0_active0: trip-active0 {
temperature = <40000>;
hysteresis = <5000>;
type = "active";
};
main0_active1: trip-active1 {
temperature = <48000>;
hysteresis = <3000>;
type = "active";
};
main0_active2: trip-active2 {
temperature = <60000>;
hysteresis = <10000>;
type = "active";
};
};
cooling-maps {
map1 {
trip = <&main0_active0>;
cooling-device = <&fan0 1 1>;
};
map2 {
trip = <&main0_active1>;
cooling-device = <&fan0 2 2>;
};
map3 {
trip = <&main0_active2>;
cooling-device = <&fan0 3 3>;
};
};
};
&main1_thermal {
trips {
main1_active0: trip-active0 {
temperature = <40000>;
hysteresis = <5000>;
type = "active";
};
main1_active1: trip-active1 {
temperature = <48000>;
hysteresis = <3000>;
type = "active";
};
main1_active2: trip-active2 {
temperature = <60000>;
hysteresis = <10000>;
type = "active";
};
};
cooling-maps {
map1 {
trip = <&main1_active0>;
cooling-device = <&fan0 1 1>;
};
map2 {
trip = <&main1_active1>;
cooling-device = <&fan0 2 2>;
};
map3 {
trip = <&main1_active2>;
cooling-device = <&fan0 3 3>;
};
};
};
/* Main console */
&main_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_pins>;
bootph-all;
status = "okay";
};
/*
* IOT module - GNSS UART
*
* Board configuration must not enable UART trace output for TIFS firmware
*/
&main_uart1 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart1_pins>;
/* IOT module uses USB by default, UART can be enabled as fallback */
status = "disabled";
};
/* Bluetooth module */
&main_uart2 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart2_pins>;
/* Bluetooth module uses SDIO by default, UART can be enabled as fallback */
status = "disabled";
};
/* IOT module - main UART */
&main_uart5 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart5_pins>;
/* IOT module uses USB by default, UART can be enabled as fallback */
status = "disabled";
};
&mcasp1 {
pinctrl-names = "default";
pinctrl-0 = <&main_mcasp1_pins>;
#sound-dai-cells = <0>;
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
1 0 2 0
0 0 0 0
0 0 0 0
0 0 0 0
>;
tx-num-evt = <0>;
rx-num-evt = <0>;
status = "okay";
};
&mcu_gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&mcu_gpio0_pins>;
gpio-line-names =
"EN_DIG_OUT_1", "EN_DIG_OUT_2", "STATUS_OUT_1", "STATUS_OUT_2", /* 0-3 */
"EN_DIG_OUT_3", "", "", "V_VPP_EN", /* 4-7 */
"", "", "", "EN_DIG_OUT_4", /* 8-11 */
"STATUS_OUT_3", "", "", "", /* 12-15 */
"", "STATUS_OUT_4", "DIG_IN_1", "DIG_IN_2", /* 16-19 */
"DIG_IN_3", "", "", "DIG_IN_4"; /* 20-23 */
bootph-all;
};
&mcu_mcan0 {
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan0_pins>;
status = "okay";
};
&mcu_mcan1 {
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan1_pins>;
status = "okay";
};
&mcu_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&mcu_uart0_pins>;
rs485-rts-active-low;
linux,rs485-enabled-at-boot-time;
status = "okay";
};
&reg_sd {
pinctrl-names = "default";
pinctrl-0 = <&reg_sd_pins>;
gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
bootph-all;
status = "okay";
};
&sdhci1 {
/* SD-card */
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins>;
vmmc-supply = <&reg_3v3_sd>;
vqmmc-supply = <&reg_sd>;
bus-width = <4>;
disable-wp;
no-mmc;
no-sdio;
bootph-all;
ti,driver-strength-ohm = <50>;
status = "okay";
};
&sdhci2 {
/* WLAN */
pinctrl-names = "default";
pinctrl-0 = <&main_mmc2_pins>;
mmc-pwrseq = <&wifi_pwrseq>;
keep-power-in-suspend;
cap-power-off-card;
bus-width = <4>;
non-removable;
no-mmc;
no-sd;
ti,driver-strength-ohm = <50>;
ti,fails-without-test-cd;
status = "okay";
};
&usbss0 {
bootph-all;
ti,vbus-divider;
status = "okay";
};
&usbss1 {
ti,vbus-divider;
status = "okay";
};
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&main_usb0_pins>;
dr_mode = "otg";
usb-role-switch;
bootph-all;
connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
id-gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
type = "micro";
};
};
&usb1 {
pinctrl-names = "default";
pinctrl-0 = <&main_usb1_hub_pins>;
#address-cells = <1>;
#size-cells = <0>;
dr_mode = "host";
usb1_hub_2_0: hub@1 {
compatible = "usb424,2514";
reg = <1>;
reset-gpios = <&main_gpio1 23 GPIO_ACTIVE_HIGH>;
vdd-supply = <&reg_3v3>;
vdda-supply = <&reg_3v3>;
};
};
&wkup_uart0 {
/* WKUP UART0 is used by DM firmware */
status = "reserved";
};
&main_pmx0 {
audio_codec_pins: audio-codec-pins {
pinctrl-single,pins = <
/* (L24) GPMC0_OEn_REn.GPIO0_33 */
AM62X_IOPAD(0x088, PIN_OUTPUT, 7)
/* (A15) UART0_CTSn.AUDIO_EXT_REFCLK0 */
AM62X_IOPAD(0x1d0, PIN_OUTPUT, 5)
>;
};
backlight_pins: backlight-pins {
pinctrl-single,pins = <
/* (V25) GPMC0_WAIT1.GPIO0_38 */
AM62X_IOPAD(0x009c, PIN_OUTPUT, 7)
/* (E18) MCASP0_AXR0.EHRPWM1_B */
AM62X_IOPAD(0x01a0, PIN_OUTPUT, 6)
>;
};
dss_pins: dss-pins {
pinctrl-single,pins = <
/* (AA5) OLDI0_A0N */
AM62X_IOPAD(0x0260, PIN_OUTPUT, 0)
/* (Y6) OLDI0_A0P */
AM62X_IOPAD(0x025c, PIN_OUTPUT, 0)
/* (AD3) OLDI0_A1N */
AM62X_IOPAD(0x0268, PIN_OUTPUT, 0)
/* (AB4) OLDI0_A1P */
AM62X_IOPAD(0x0264, PIN_OUTPUT, 0)
/* (Y8) OLDI0_A2N */
AM62X_IOPAD(0x0270, PIN_OUTPUT, 0)
/* (AA8) OLDI0_A2P */
AM62X_IOPAD(0x026c, PIN_OUTPUT, 0)
/* (AB6) OLDI0_A3N */
AM62X_IOPAD(0x0278, PIN_OUTPUT, 0)
/* (AA7) OLDI0_A3P */
AM62X_IOPAD(0x0274, PIN_OUTPUT, 0)
/* (AC6) OLDI0_A4N */
AM62X_IOPAD(0x0280, PIN_OUTPUT, 0)
/* (AC5) OLDI0_A4P */
AM62X_IOPAD(0x027c, PIN_OUTPUT, 0)
/* (AE5) OLDI0_A5N */
AM62X_IOPAD(0x0288, PIN_OUTPUT, 0)
/* (AD6) OLDI0_A5P */
AM62X_IOPAD(0x0284, PIN_OUTPUT, 0)
/* (AE6) OLDI0_A6N */
AM62X_IOPAD(0x0290, PIN_OUTPUT, 0)
/* (AD7) OLDI0_A6P */
AM62X_IOPAD(0x028c, PIN_OUTPUT, 0)
/* (AD8) OLDI0_A7N */
AM62X_IOPAD(0x0298, PIN_OUTPUT, 0)
/* (AE7) OLDI0_A7P */
AM62X_IOPAD(0x0294, PIN_OUTPUT, 0)
/* (AD4) OLDI0_CLK0N */
AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0)
/* (AE3) OLDI0_CLK0P */
AM62X_IOPAD(0x029c, PIN_OUTPUT, 0)
/* (AE4) OLDI0_CLK1N */
AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0)
/* (AD5) OLDI0_CLK1P */
AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0)
>;
};
csi_clk_pins: csi-clk-pins {
pinctrl-single,pins = <
/* (B18) MCASP0_AXR1.EHRPWM1_A */
AM62X_IOPAD(0x019c, PIN_OUTPUT, 6)
>;
};
gpio_key_pins: gpio-key-pins {
pinctrl-single,pins = <
/* (M22) GPMC0_DIR.GPIO0_40 */
AM62X_IOPAD(0x0a4, PIN_INPUT, 7)
>;
};
gpio_led_pins: gpio-led-pins {
pinctrl-single,pins = <
/* (M21) GPMC0_CSn0.GPIO0_41 */
AM62X_IOPAD(0x0a8, PIN_OUTPUT, 7)
/* (L21) GPMC0_CSn1.GPIO0_42 */
AM62X_IOPAD(0x0ac, PIN_OUTPUT, 7)
>;
};
lvds_panel_pins: lvds-panel-pins {
pinctrl-single,pins = <
/* (N20) GPMC0_BE1n.GPIO0_36 - LVDS0_RESET# */
AM62X_IOPAD(0x0094, PIN_OUTPUT, 7)
>;
};
main_gpio0_pins: main-gpio0-pins {
pinctrl-single,pins = <
/* Control GPIOs for IOT Module */
/* (K25) GPMC0_WPn.GPIO0_39 - BG95_PWRKEY */
AM62X_IOPAD(0x0a0, PIN_OUTPUT, 7)
/* (K22) GPMC0_CSn2.GPIO0_43 - BG95_RESET */
AM62X_IOPAD(0x0b0, PIN_OUTPUT, 7)
>;
};
main_gpio0_pr0_pins: main-gpio0-pr0-pins {
pinctrl-single,pins = <
/* (N24) GPMC0_AD2.GPIO0_17 */
AM62X_IOPAD(0x0044, PIN_INPUT, 7)
/* (N25) GPMC0_AD3.GPIO0_18 */
AM62X_IOPAD(0x0048, PIN_INPUT, 7)
/* (P24) GPMC0_AD4.GPIO0_19 */
AM62X_IOPAD(0x004c, PIN_INPUT, 7)
/* (P22) GPMC0_AD5.GPIO0_20 */
AM62X_IOPAD(0x0050, PIN_INPUT, 7)
/* (W25) VOUT0_DATA2.GPIO0_47 */
AM62X_IOPAD(0x00c0, PIN_INPUT, 7)
/* (W24) VOUT0_DATA3.GPIO0_48 */
AM62X_IOPAD(0x00c4, PIN_INPUT, 7)
/* (Y25) VOUT0_DATA4.GPIO0_49 */
AM62X_IOPAD(0x00c8, PIN_INPUT, 7)
/* (Y24) VOUT0_DATA5.GPIO0_50 */
AM62X_IOPAD(0x00cc, PIN_INPUT, 7)
>;
};
main_gpio1_pins: main-gpio1-pins {
pinctrl-single,pins = <
/* (B19) MCASP0_AXR3.GPIO1_7 - USB0_VBUS_OC# */
AM62X_IOPAD(0x0194, PIN_INPUT, 7)
>;
};
main_gpio1_pr0_pins: main-gpio1-pr0-pins {
pinctrl-single,pins = <
/* (C15) MCAN0_TX.GPIO1_24 */
AM62X_IOPAD(0x01d8, PIN_INPUT, 7)
/* (E15) MCAN0_RX.GPIO1_25 */
AM62X_IOPAD(0x01dc, PIN_INPUT, 7)
>;
};
main_i2c1_pins: main-i2c1-pins {
pinctrl-single,pins = <
/* (B17) I2C1_SCL */
AM62X_IOPAD(0x1e8, PIN_INPUT, 0)
/* (A17) I2C1_SDA */
AM62X_IOPAD(0x1ec, PIN_INPUT, 0)
>;
};
main_mcasp1_pins: main-mcasp1-pins {
pinctrl-single,pins = <
/* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */
AM62X_IOPAD(0x090, PIN_INPUT, 2)
/* (U23) GPMC0_WAIT0.MCASP1_AFSX */
AM62X_IOPAD(0x098, PIN_INPUT, 2)
/* (L25) GPMC0_WEN.MCASP1_AXR0 */
AM62X_IOPAD(0x08c, PIN_OUTPUT, 2)
/* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */
AM62X_IOPAD(0x084, PIN_INPUT, 2)
>;
};
main_mmc1_pins: main-mmc1-pins {
pinctrl-single,pins = <
/* (A21) MMC1_CMD */
AM62X_IOPAD(0x23c, PIN_INPUT, 0)
/* (B22) MMC1_CLK */
AM62X_IOPAD(0x234, PIN_INPUT, 0)
/* (A22) MMC1_DAT0 */
AM62X_IOPAD(0x230, PIN_INPUT, 0)
/* (B21) MMC1_DAT1 */
AM62X_IOPAD(0x22c, PIN_INPUT, 0)
/* (C21) MMC1_DAT2 */
AM62X_IOPAD(0x228, PIN_INPUT, 0)
/* (D22) MMC1_DAT3 */
AM62X_IOPAD(0x224, PIN_INPUT, 0)
/* (D17) MMC1_SDCD */
AM62X_IOPAD(0x240, PIN_INPUT, 0)
>;
bootph-all;
};
main_mmc2_pins: main-mmc2-pins {
pinctrl-single,pins = <
/* (C24) MMC2_CMD */
AM62X_IOPAD(0x120, PIN_INPUT, 0)
/* (D25) MMC2_CLK */
AM62X_IOPAD(0x118, PIN_INPUT, 0)
/* (B24) MMC2_DAT0 */
AM62X_IOPAD(0x114, PIN_INPUT, 0)
/* (C25) MMC2_DAT1 */
AM62X_IOPAD(0x110, PIN_INPUT, 0)
/* (E23) MMC2_DAT2 */
AM62X_IOPAD(0x10c, PIN_INPUT, 0)
/* (D24) MMC2_DAT3 */
AM62X_IOPAD(0x108, PIN_INPUT, 0)
/* (#N/A) MMC2_CLKB */
AM62X_IOPAD(0x11c, PIN_INPUT, 0)
>;
};
main_mmc2_pwrseq_pins: main-mmc2-pwrseq-pins {
pinctrl-single,pins = <
/* (K24) GPMC0_CSn3.GPIO0_44 - WIFI-BT_EN */
AM62X_IOPAD(0x00b4, PIN_OUTPUT, 7)
>;
};
main_mdio1_pins: main-mdio1-pins {
pinctrl-single,pins = <
/* (B20) MCASP0_ACLKX.GPIO1_11 - RESET_RGMII1# */
AM62X_IOPAD(0x1a4, PIN_OUTPUT, 7)
/* (D20) MCASP0_AFSX.GPIO1_12 - RESET_RGMII2# */
AM62X_IOPAD(0x1a8, PIN_OUTPUT, 7)
/* (AD24) MDIO0_MDC */
AM62X_IOPAD(0x160, PIN_OUTPUT, 0)
/* (AB22) MDIO0_MDIO */
AM62X_IOPAD(0x15c, PIN_INPUT, 0)
>;
};
main_rgmii1_pins: main-rgmii1-pins {
pinctrl-single,pins = <
/* (AB17) RGMII1_RD0 */
AM62X_IOPAD(0x14c, PIN_INPUT, 0)
/* (AC17) RGMII1_RD1 */
AM62X_IOPAD(0x150, PIN_INPUT, 0)
/* (AB16) RGMII1_RD2 */
AM62X_IOPAD(0x154, PIN_INPUT, 0)
/* (AA15) RGMII1_RD3 */
AM62X_IOPAD(0x158, PIN_INPUT, 0)
/* (AD17) RGMII1_RXC */
AM62X_IOPAD(0x148, PIN_INPUT, 0)
/* (AE17) RGMII1_RX_CTL */
AM62X_IOPAD(0x144, PIN_INPUT, 0)
/* (AE20) RGMII1_TD0 */
AM62X_IOPAD(0x134, PIN_OUTPUT, 0)
/* (AD20) RGMII1_TD1 */
AM62X_IOPAD(0x138, PIN_OUTPUT, 0)
/* (AE18) RGMII1_TD2 */
AM62X_IOPAD(0x13c, PIN_OUTPUT, 0)
/* (AD18) RGMII1_TD3 */
AM62X_IOPAD(0x140, PIN_OUTPUT, 0)
/* (AE19) RGMII1_TXC */
AM62X_IOPAD(0x130, PIN_OUTPUT, 0)
/* (AD19) RGMII1_TX_CTL */
AM62X_IOPAD(0x12c, PIN_OUTPUT, 0)
>;
};
main_rgmii2_pins: main-rgmii2-pins {
pinctrl-single,pins = <
/* (AE23) RGMII2_RD0 */
AM62X_IOPAD(0x184, PIN_INPUT, 0)
/* (AB20) RGMII2_RD1 */
AM62X_IOPAD(0x188, PIN_INPUT, 0)
/* (AC21) RGMII2_RD2 */
AM62X_IOPAD(0x18c, PIN_INPUT, 0)
/* (AE22) RGMII2_RD3 */
AM62X_IOPAD(0x190, PIN_INPUT, 0)
/* (AD23) RGMII2_RXC */
AM62X_IOPAD(0x180, PIN_INPUT, 0)
/* (AD22) RGMII2_RX_CTL */
AM62X_IOPAD(0x17c, PIN_INPUT, 0)
/* (Y18) RGMII2_TD0 */
AM62X_IOPAD(0x16c, PIN_OUTPUT, 0)
/* (AA18) RGMII2_TD1 */
AM62X_IOPAD(0x170, PIN_OUTPUT, 0)
/* (AD21) RGMII2_TD2 */
AM62X_IOPAD(0x174, PIN_OUTPUT, 0)
/* (AC20) RGMII2_TD3 */
AM62X_IOPAD(0x178, PIN_OUTPUT, 0)
/* (AE21) RGMII2_TXC */
AM62X_IOPAD(0x168, PIN_OUTPUT, 0)
/* (AA19) RGMII2_TX_CTL */
AM62X_IOPAD(0x164, PIN_OUTPUT, 0)
>;
};
main_spi0_pins: main-spi0-pins {
pinctrl-single,pins = <
/* (A14) SPI0_CLK */
AM62X_IOPAD(0x1bc, PIN_OUTPUT, 0)
/* (A13) SPI0_CS0 */
AM62X_IOPAD(0x1b4, PIN_OUTPUT, 0)
/* (B13) SPI0_D0 */
AM62X_IOPAD(0x1c0, PIN_OUTPUT, 0)
/* (B14) SPI0_D1 */
AM62X_IOPAD(0x1c4, PIN_INPUT, 0)
>;
};
main_spi0_adc_pins: main-spi0-adc-pins {
pinctrl-single,pins = <
/* (G21) OSPI0_CSn1.GPIO0_12 - ADC_SYNC */
AM62X_IOPAD(0x030, PIN_INPUT, 7)
/* (H21) OSPI0_CSn2.GPIO0_13 - ADC_RST# */
AM62X_IOPAD(0x034, PIN_OUTPUT, 7)
/* (E24) OSPI0_CSn3.GPIO0_14 - ADC_DATA_RDY */
AM62X_IOPAD(0x038, PIN_INPUT, 7)
/* (B23) MMC2_SDWP.GPIO0_72 - ADC_INT# */
AM62X_IOPAD(0x128, PIN_INPUT, 7)
>;
};
main_uart0_pins: main-uart0-pins {
pinctrl-single,pins = <
/* (D14) UART0_RXD */
AM62X_IOPAD(0x1c8, PIN_INPUT, 0)
/* (E14) UART0_TXD */
AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0)
>;
bootph-all;
};
main_uart1_pins: main-uart1-pins {
pinctrl-single,pins = <
/* (E19) MCASP0_AFSR.UART1_RXD */
AM62X_IOPAD(0x1ac, PIN_INPUT, 2)
/* (A20) MCASP0_ACLKR.UART1_TXD */
AM62X_IOPAD(0x1b0, PIN_OUTPUT, 2)
>;
};
main_uart2_pins: main-uart2-pins {
pinctrl-single,pins = <
/* (U22) VOUT0_DATA0.UART2_RXD */
AM62X_IOPAD(0x0b8, PIN_INPUT, 4)
/* (V24) VOUT0_DATA1.UART2_TXD */
AM62X_IOPAD(0x0bc, PIN_OUTPUT, 4)
/* (AC24) VOUT0_PCLK.UART2_CTS# */
AM62X_IOPAD(0x104, PIN_INPUT, 4)
/* (AC25) VOUT0_VSYNC.UART2_RTS# */
AM62X_IOPAD(0x100, PIN_OUTPUT, 4)
>;
};
main_uart5_pins: main-uart5-pins {
pinctrl-single,pins = <
/* (Y23) VOUT0_DATA6.UART5_RXD */
AM62X_IOPAD(0x0d0, PIN_INPUT, 4)
/* (AA25) VOUT0_DATA7.UART5_TXD */
AM62X_IOPAD(0x0d4, PIN_OUTPUT, 4)
>;
};
main_usb0_pins: main-usb0-pins {
pinctrl-single,pins = <
/* (C20) USB0_DRVVBUS */
AM62X_IOPAD(0x254, PIN_OUTPUT, 0)
/* (A23) MMC2_SDCD.GPIO0_71 */
AM62X_IOPAD(0x124, PIN_INPUT, 7)
>;
};
main_usb1_hub_pins: main-usb1-hub-pins {
pinctrl-single,pins = <
/* (B15) UART0_RTSn.GPIO1_23 - USB_HUB_RESET */
AM62X_IOPAD(0x01d4, PIN_OUTPUT, 7)
>;
};
pwm_fan_pins: pwm-fan-pins {
pinctrl-single,pins = <
/* (C13) SPI0_CS1.EHRPWM0_B - FAN_PWM */
AM62X_IOPAD(0x01b8, PIN_OUTPUT, 2)
/* (A18) EXT_REFCLK1.GPIO1_30 - FAN_RPM */
AM62X_IOPAD(0x01f0, PIN_INPUT, 7)
>;
};
reg_3v3_sd_pins: reg-3v3-sd-pins {
pinctrl-single,pins = <
/* (A19) MCASP0_AXR2.GPIO1_8 */
AM62X_IOPAD(0x198, PIN_OUTPUT, 7)
>;
bootph-all;
};
reg_lvds_pwr_pins: reg-lvds-pwr-pins {
pinctrl-single,pins = <
/* (AB24) VOUT0_HSYNC.GPIO0_61 */
AM62X_IOPAD(0x00f8, PIN_OUTPUT, 7)
>;
};
reg_pwm_fan_pins: reg-pwm-fan-pins {
pinctrl-single,pins = <
/* (Y20) VOUT0_DE.GPIO0_62 */
AM62X_IOPAD(0x00fc, PIN_OUTPUT, 7)
>;
};
reg_sd_pins: reg-sd-pins {
pinctrl-single,pins = <
/* (P25) GPMC0_CLK.GPIO0_31 */
AM62X_IOPAD(0x07c, PIN_OUTPUT, 7)
>;
bootph-all;
};
};
&mcu_pmx0 {
mcu_gpio0_pins: mcu-gpio0-pins {
pinctrl-single,pins = <
/* (E8) MCU_SPI0_CS0.MCU_GPIO0_0 - EN_DIG_OUT1 */
AM62X_MCU_IOPAD(0x000, PIN_OUTPUT, 7)
/* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 - EN_DIG_OUT2 */
AM62X_MCU_IOPAD(0x004, PIN_OUTPUT, 7)
/* (A7) MCU_SPI0_CLK.MCU_GPIO0_2 - STATUS_OUT1 */
AM62X_MCU_IOPAD(0x008, PIN_INPUT, 7)
/* (D9) MCU_SPI0_D0.MCU_GPIO0_3 - STATUS_OUT2 */
AM62X_MCU_IOPAD(0x00c, PIN_INPUT, 7)
/* (C9) MCU_SPI0_D1.MCU_GPIO0_4 - EN_DIG_OUT3 */
AM62X_MCU_IOPAD(0x010, PIN_OUTPUT, 7)
/* (C6) WKUP_UART0_CTSn.MCU_GPIO0_11 - EN_DIG_OUT4 */
AM62X_MCU_IOPAD(0x02c, PIN_OUTPUT, 7)
/* (A4) WKUP_UART0_RTSn.MCU_GPIO0_12 - STATUS_OUT3 */
AM62X_MCU_IOPAD(0x030, PIN_INPUT, 7)
/* (A8) MCU_I2C0_SCL.MCU_GPIO0_17 - STATUS_OUT4 */
AM62X_MCU_IOPAD(0x044, PIN_INPUT, 7)
/* (D10) MCU_I2C0_SDA.MCU_GPIO0_18 - DIG_IN_1 */
AM62X_MCU_IOPAD(0x048, PIN_INPUT, 7)
/* (B9) WKUP_I2C0_SCL.MCU_GPIO0_19 - DIG_IN_2 */
AM62X_MCU_IOPAD(0x04c, PIN_INPUT, 7)
/* (A9) WKUP_I2C0_SDA.MCU_GPIO0_20 - DIG_IN_3 */
AM62X_MCU_IOPAD(0x050, PIN_INPUT, 7)
/* (A12) WKUP_CLKOUT0.MCU_GPIO0_23 - DIG_IN_4 */
AM62X_MCU_IOPAD(0x084, PIN_INPUT, 7)
/* (A6) MCU_UART0_CTSn.MCU_GPIO0_7 - V_VPP_EN */
AM62X_MCU_IOPAD(0x01c, PIN_OUTPUT, 7)
>;
};
mcu_mcan0_pins: mcu-mcan0-pins {
pinctrl-single,pins = <
/* (B3) MCU_MCAN0_RX */
AM62X_MCU_IOPAD(0x038, PIN_INPUT, 0)
/* (D6) MCU_MCAN0_TX */
AM62X_MCU_IOPAD(0x034, PIN_OUTPUT, 0)
>;
};
mcu_mcan1_pins: mcu-mcan1-pins {
pinctrl-single,pins = <
/* (D4) MCU_MCAN1_RX */
AM62X_MCU_IOPAD(0x040, PIN_INPUT, 0)
/* (E5) MCU_MCAN1_TX */
AM62X_MCU_IOPAD(0x03c, PIN_OUTPUT, 0)
>;
};
mcu_uart0_pins: mcu-uart0-pins {
pinctrl-single,pins = <
/* (B5) MCU_UART0_RXD */
AM62X_MCU_IOPAD(0x014, PIN_INPUT, 0)
/* (A5) MCU_UART0_TXD */
AM62X_MCU_IOPAD(0x018, PIN_OUTPUT, 0)
/* (B6) MCU_UART0_RTS# */
AM62X_MCU_IOPAD(0x020, PIN_OUTPUT, 0)
>;
};
};