// 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 , D-82229 Seefeld, Germany. * Author: Nora Schiffer */ /dts-v1/; #include #include #include #include #include #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 = ; 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 = ; function = LED_FUNCTION_INDICATOR; }; led-2 { gpios = <&main_gpio0 42 GPIO_ACTIVE_HIGH>; color = ; function = LED_FUNCTION_INDICATOR; }; }; panel: panel { pinctrl-names = "default"; pinctrl-0 = <&lvds_panel_pins>; enable-gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>; power-supply = <®_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 = <®_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 = <®_3v3_sd_pins>; regulator-name = "V_3V3_SD"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; enable-active-high; vin-supply = <®_3v3>; gpio = <&main_gpio1 8 GPIO_ACTIVE_HIGH>; bootph-all; }; reg_lvds_pwr: regulator-lvds-pwr { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <®_lvds_pwr_pins>; regulator-name = "LVDS0_PWR"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; vin-supply = <®_3v3>; gpio = <&main_gpio0 61 GPIO_ACTIVE_HIGH>; }; reg_pwm_fan: regulator-pwm-fan { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <®_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 = ; ti,clk-output-sel = ; }; 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 = ; ti,clk-output-sel = ; }; }; &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 = <®_1v8>; ldoin-supply = <®_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"; }; ®_sd { pinctrl-names = "default"; pinctrl-0 = <®_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 = <®_3v3_sd>; vqmmc-supply = <®_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 = <®_3v3>; vdda-supply = <®_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) >; }; };