Lines Matching +full:oc +full:- +full:delay +full:- +full:us
1 // SPDX-License-Identifier: GPL-2.0-only OR MIT
3 * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
4 * Copyright (c) 2022-2024 TQ-Systems GmbH <[email protected]-group.com>, D-82229 Seefeld, Germany.
7 /dts-v1/;
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/leds/common.h>
12 #include <dt-bindings/net/ti-dp83867.h>
13 #include <dt-bindings/phy/phy.h>
14 #include <dt-bindings/pwm/pwm.h>
15 #include "k3-serdes.h"
17 #include "k3-am642-tqma64xxl.dtsi"
20 compatible = "tq,am642-tqma6442l-mbax4xxl", "tq,am642-tqma6442l",
22 model = "TQ-Systems TQMa64xxL SoM on MBax4xxL carrier board";
23 chassis-type = "embedded";
44 stdout-path = &main_uart0;
47 gpio-keys {
48 compatible = "gpio-keys";
49 pinctrl-names = "default";
50 pinctrl-0 = <&mcu_gpio_keys_pins>;
52 user-button {
59 gpio-leds {
60 compatible = "gpio-leds";
61 pinctrl-names = "default";
62 pinctrl-0 = <&mcu_gpio_leds_pins>;
64 led-0 {
69 led-1 {
76 icssg1_eth: icssg1-eth {
77 compatible = "ti,am642-icssg-prueth";
78 pinctrl-names = "default";
79 pinctrl-0 = <&pru_icssg1_rgmii1_pins>, <&pru_icssg1_rgmii2_pins>;
80 interrupt-parent = <&icssg1_intc>;
82 interrupt-names = "tx_ts0", "tx_ts1";
93 dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
94 "tx1-0", "tx1-1", "tx1-2", "tx1-3",
97 firmware-name = "ti-pruss/am64x-sr2-pru0-prueth-fw.elf",
98 "ti-pruss/am64x-sr2-rtu0-prueth-fw.elf",
99 "ti-pruss/am64x-sr2-txpru0-prueth-fw.elf",
100 "ti-pruss/am64x-sr2-pru1-prueth-fw.elf",
101 "ti-pruss/am64x-sr2-rtu1-prueth-fw.elf",
102 "ti-pruss/am64x-sr2-txpru1-prueth-fw.elf";
104 ti,pruss-gp-mux-sel = <2>, /* MII mode */
110 ti,mii-g-rt = <&icssg1_mii_g_rt>;
111 ti,mii-rt = <&icssg1_mii_rt>;
114 ethernet-ports {
115 #address-cells = <1>;
116 #size-cells = <0>;
120 phy-handle = <&icssg1_phy0c>;
121 phy-mode = "rgmii-id";
123 local-mac-address = [00 00 00 00 00 00];
128 phy-handle = <&icssg1_phy03>;
129 phy-mode = "rgmii-id";
131 local-mac-address = [00 00 00 00 00 00];
136 fan0: pwm-fan {
137 compatible = "pwm-fan";
138 pinctrl-names = "default";
139 pinctrl-0 = <&pwm_fan_pins>;
140 fan-supply = <®_pwm_fan>;
141 #cooling-cells = <2>;
142 /* typical 25 kHz -> 40.000 nsec */
144 cooling-levels = <0 32 64 128 196 240>;
145 pulses-per-revolution = <2>;
146 interrupt-parent = <&main_gpio1>;
151 wifi_pwrseq: pwrseq-wifi {
152 compatible = "mmc-pwrseq-simple";
153 pinctrl-names = "default";
154 pinctrl-0 = <&main_mmc1_wifi_pwrseq_pins>;
155 reset-gpios = <&main_gpio0 23 GPIO_ACTIVE_LOW>;
158 reg_pwm_fan: regulator-pwm-fan {
159 compatible = "regulator-fixed";
160 pinctrl-names = "default";
161 pinctrl-0 = <&pwm_fan_reg_pins>;
162 regulator-name = "FAN_PWR";
163 regulator-min-microvolt = <12000000>;
164 regulator-max-microvolt = <12000000>;
166 enable-active-high;
169 reg_sd: regulator-sd {
170 compatible = "regulator-fixed";
171 pinctrl-names = "default";
172 pinctrl-0 = <&main_mmc1_reg_pins>;
173 regulator-name = "V_3V3_SD";
174 regulator-min-microvolt = <3300000>;
175 regulator-max-microvolt = <3300000>;
177 enable-active-high;
182 pinctrl-names = "default";
183 pinctrl-0 = <&cpsw_pins>;
188 phy-mode = "rgmii-rxid";
189 phy-handle = <&cpsw3g_phy0>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&cpsw_mdio_pins>;
198 cpsw3g_phy0: ethernet-phy@0 {
199 compatible = "ethernet-phy-ieee802.3-c22";
201 reset-gpios = <&main_gpio0 44 GPIO_ACTIVE_LOW>;
202 reset-assert-us = <1000>;
203 reset-deassert-us = <1000>;
204 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
205 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
210 pinctrl-names = "default";
211 pinctrl-0 = <&epwm5_pins>;
216 pinctrl-names = "default";
217 pinctrl-0 = <&pru_icssg1_mdio_pins>;
220 /* phy-mode is fixed up to rgmii-rxid by prueth driver to account for
221 * the SoC integration, so the only rx-internal-delay and no
222 * tx-internal-delay is set for the PHYs.
225 icssg1_phy03: ethernet-phy@3 {
226 compatible = "ethernet-phy-ieee802.3-c22";
228 reset-gpios = <&main_gpio1 47 GPIO_ACTIVE_LOW>;
229 reset-assert-us = <1000>;
230 reset-deassert-us = <1000>;
231 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
232 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
235 icssg1_phy0c: ethernet-phy@c {
236 compatible = "ethernet-phy-ieee802.3-c22";
238 reset-gpios = <&main_gpio1 51 GPIO_ACTIVE_LOW>;
239 reset-assert-us = <1000>;
240 reset-deassert-us = <1000>;
241 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
242 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
248 pinctrl-names = "default";
249 pinctrl-0 = <&main_gpio0_digital_pins>,
251 gpio-line-names =
252 "", "", "", "", /* 0-3 */
253 "", "", "", "", /* 4-7 */
254 "", "", "", "", /* 8-11 */
255 "", "", "", "", /* 12-15 */
256 "", "", "", "", /* 16-19 */
257 "", "", "", "", /* 20-23 */
258 "", "", "EN_DIG_OUT_1", "STATUS_OUT_1", /* 24-27 */
259 "EN_DIG_OUT_2", "STATUS_OUT_2", "EN_SIG_OUT_3", "", /* 28-31 */
260 "", "", "STATUS_OUT_3", "EN_DIG_OUT_4", /* 32-35 */
261 "", "", "STATUS_OUT_4", "DIG_IN_1", /* 36-39 */
262 "DIG_IN_2", "DIG_IN_3", "DIG_IN_4"; /* 40- */
266 pinctrl-names = "default";
267 pinctrl-0 = <&main_gpio1_hog_pins>,
269 gpio-line-names =
270 "", "", "", "", /* 0-3 */
271 "", "", "", "", /* 4-7 */
272 "", "", "", "", /* 8-11 */
273 "", "", "", "", /* 12-15 */
274 "", "", "", "", /* 16-19 */
275 "", "", "", "", /* 20-23 */
276 "", "", "", "", /* 24-27 */
277 "", "", "", "", /* 28-31 */
278 "", "", "", "", /* 32-35 */
279 "", "", "", "", /* 36-39 */
280 "", "", "", "", /* 40-43 */
281 "", "", "", "", /* 44-47 */
282 "", "", "", "", /* 48-51 */
283 "", "", "", "ADC_SYNC", /* 52-55 */
284 "", "", "ADC_RST#", "ADC_DATA_RDY", /* 56-59 */
285 "", "", "", "", /* 60-63 */
286 "", "", "", "ADC_INT#", /* 64-67 */
287 "BG95_PWRKEY", "BG95_RESET"; /* 68- */
289 line50-hog {
291 gpio-hog;
293 line-name = "USB0_VBUS_OC#";
297 line54-hog {
298 gpio-hog;
300 line-name = "PRG0_MDIO_SWITCH";
301 output-low;
304 line70-hog {
305 gpio-hog;
307 line-name = "PHY_INT#";
313 pinctrl-names = "default";
314 pinctrl-0 = <&main_mcan0_pins>;
319 pinctrl-names = "default";
320 pinctrl-0 = <&main_mcan1_pins>;
325 pinctrl-names = "default";
326 pinctrl-0 = <&main_spi0_pins>;
327 ti,pindir-d0-out-d1-in;
335 pinctrl-names = "default";
336 pinctrl-0 = <&main_uart0_pins>;
341 * IOT Module - GNSS UART
346 pinctrl-names = "default";
347 pinctrl-0 = <&main_uart1_pins>;
353 pinctrl-names = "default";
354 pinctrl-0 = <&main_uart2_pins>;
355 linux,rs485-enabled-at-boot-time;
356 rs485-rts-active-low;
362 pinctrl-names = "default";
363 pinctrl-0 = <&main_uart3_pins>;
370 /* IOT module - Main UART */
372 pinctrl-names = "default";
373 pinctrl-0 = <&main_uart4_pins>;
377 /* IOT module - DBG UART */
379 pinctrl-names = "default";
380 pinctrl-0 = <&main_uart5_pins>;
386 main0_active0: trip-active0 {
392 main0_active1: trip-active1 {
398 main0_active2: trip-active2 {
405 cooling-maps {
408 cooling-device = <&fan0 1 1>;
413 cooling-device = <&fan0 2 2>;
418 cooling-device = <&fan0 3 3>;
425 main1_active0: trip-active0 {
431 main1_active1: trip-active1 {
437 main1_active2: trip-active2 {
444 cooling-maps {
447 cooling-device = <&fan0 1 1>;
452 cooling-device = <&fan0 2 2>;
457 cooling-device = <&fan0 3 3>;
463 pinctrl-names = "default";
464 pinctrl-0 = <&mcu_gpio0_pins>;
468 pinctrl-names = "default";
469 pinctrl-0 = <&mcu_i2c0_pins>;
474 pinctrl-names = "default";
475 pinctrl-0 = <&mcu_spi0_pins>;
476 ti,pindir-d0-out-d1-in;
482 pinctrl-names = "default";
483 pinctrl-0 = <&mcu_uart0_pins>;
489 pinctrl-names = "default";
490 pinctrl-0 = <&mcu_uart1_pins>;
495 idle-states = <AM64_SERDES0_LANE0_USB>;
501 #phy-cells = <0>;
503 cdns,num-lanes = <1>;
504 cdns,phy-type = <PHY_TYPE_USB3>;
509 pinctrl-names = "default";
510 pinctrl-0 = <&main_mmc1_pins>;
511 bus-width = <4>;
512 cd-gpios = <&main_gpio1 77 GPIO_ACTIVE_LOW>;
513 disable-wp;
514 no-mmc;
515 ti,fails-without-test-cd;
522 ti,adc-channels = <0 1 2 3 4 5 6 7>;
529 * so there is no overcurrent detection. The OC pin is configured
532 pinctrl-names = "default";
533 pinctrl-0 = <&main_usb0_pins>;
535 maximum-speed = "super-speed";
537 phy-names = "cdns3,usb3-phy";
541 ti,vbus-divider;
545 cpsw_pins: cpsw-pins {
546 pinctrl-single,pins = <
574 cpsw_mdio_pins: cpsw-mdio-pins {
575 pinctrl-single,pins = <
576 /* (R21) GPMC0_CSn3.GPIO0_44 - RESET_RGMII1# */
586 epwm5_pins: epwm5-pins {
587 pinctrl-single,pins = <
594 main_gpio0_digital_pins: main-gpio0-digital-pins {
595 pinctrl-single,pins = <
596 /* (W20) GPMC0_AD11.GPIO0_26 - EN_DIG_OUT_1 */
598 /* (W21) GPMC0_AD12.GPIO0_27 - STATUS_OUT_1 */
600 /* (V18) GPMC0_AD13.GPIO0_28 - EN_DIG_OUT_2 */
602 /* (Y21) GPMC0_AD14.GPIO0_29 - STATUS_OUT_2 */
604 /* (Y20) GPMC0_AD15.GPIO0_30 - EN_DIG_OUT_3 */
606 /* (T21) GPMC0_WEn.GPIO0_34 - STATUS_OUT_3 */
608 /* (P17) GPMC0_BE0n_CLE.GPIO0_35 - EN_DIG_OUT_4 */
610 /* (Y18) GPMC0_WAIT1.GPIO0_38 - STATUS_OUT_4 */
612 /* (N16) GPMC0_WPn.GPIO0_39 - DIG_IN_1 */
614 /* (N17) GPMC0_DIR.GPIO0_40 - DIG_IN_2 */
616 /* (R19) GPMC0_CSn0.GPIO0_41 - DIG_IN_3 */
618 /* (R20) GPMC0_CSn1.GPIO0_42 - DIG_IN_4 */
623 main_gpio0_hog_pins: main-gpio0-hog-pins {
624 pinctrl-single,pins = <
625 /* (P19) GPMC0_CSn2.GPIO0_43 - MMC1_CTRL */
630 main_gpio1_hog_pins: main-gpio1-hog-pins {
631 pinctrl-single,pins = <
632 /* (B15) SPI1_D0.GPIO1_50 - USB0_VBUS_OC# */
634 /* (B16) UART0_CTSn.GPIO1_54 - PRG0_MDIO_SWITCH */
636 /* (C19) EXTINTn.GPIO1_70 - PHY_INT# */
641 main_gpio1_pru_pins: main-gpio1-pru-pins {
642 pinctrl-single,pins = <
714 main_mcan0_pins: main-mcan0-pins {
715 pinctrl-single,pins = <
723 main_mcan1_pins: main-mcan1-pins {
724 pinctrl-single,pins = <
732 main_mmc1_pins: main-mmc1-pins {
733 pinctrl-single,pins = <
753 main_mmc1_reg_pins: main-mmc1-reg-pins {
754 pinctrl-single,pins = <
755 /* (C13) SPI0_CS1.GPIO1_43 - MMC1_SD_EN */
760 main_mmc1_wifi_pwrseq_pins: main-mmc1-wifi-pwrseq-pins {
761 pinctrl-single,pins = <
762 /* (V19) GPMC0_AD8.GPIO0_23 - WIFI-BT_EN */
767 main_spi0_pins: main-spi0-pins {
768 pinctrl-single,pins = <
780 main_spi0_adc_pins: main-spi0-adc-pins {
781 pinctrl-single,pins = <
782 /* (A16) UART0_RTSn.GPIO1_55 - ADC_SYNC */
784 /* (D16) UART1_CTSn.GPIO1_58 - ADC_RST# */
786 /* (E16) UART1_RTSn.GPIO1_59 - ADC_DATA_RDY */
788 /* (B19) I2C1_SDA.GPIO1_67 - ADC_INT# */
793 main_uart0_pins: main-uart0-pins {
794 pinctrl-single,pins = <
802 main_uart1_pins: main-uart1-pins {
803 pinctrl-single,pins = <
811 main_uart2_pins: main-uart2-pins {
812 pinctrl-single,pins = <
822 main_uart3_pins: main-uart3-pins {
823 pinctrl-single,pins = <
835 main_uart4_pins: main-uart4-pins {
836 pinctrl-single,pins = <
847 /* (D18) ECAP0_IN_APWM_OUT.GPIO1_68 - BG95_PWRKEY */
849 /* (A19) EXT_REFCLK1.GPIO1_69 - BG95_RESET */
854 main_uart5_pins: main-uart5-pins {
855 pinctrl-single,pins = <
863 main_usb0_pins: main-usb0-pins {
864 pinctrl-single,pins = <
870 pru_icssg1_mdio_pins: pru-icssg1-mdio-pins {
871 pinctrl-single,pins = <
872 /* (A15) SPI1_D1.GPIO1_51 - RESET_PRG1_RGMII1# */
874 /* (B14) SPI1_CS0.GPIO1_47 - RESET_PRG1_RGMII2# */
884 pru_icssg1_rgmii1_pins: pru-icssg1-rgmii1-pins {
885 pinctrl-single,pins = <
913 pru_icssg1_rgmii2_pins: pru-icssg1-rgmii2-pins {
914 pinctrl-single,pins = <
942 pwm_fan_pins: pwm-fan-pins {
943 pinctrl-single,pins = <
946 /* (C14) SPI1_CLK.GPIO1_49 - FAN_RPM */
951 pwm_fan_reg_pins: pwm-fan-reg-pins {
952 pinctrl-single,pins = <
953 /* (D14) SPI1_CS1.GPIO1_48 - FAN_PWR */
960 mcu_gpio_keys_pins: mcu-gpio-keys-pins {
961 pinctrl-single,pins = <
967 mcu_gpio_leds_pins: mcu-gpio-leds-pins {
968 pinctrl-single,pins = <
976 mcu_gpio0_pins: mcu-gpio0-pins {
977 pinctrl-single,pins = <
993 mcu_i2c0_pins: mcu-i2c0-pins {
994 pinctrl-single,pins = <
1002 mcu_spi0_pins: mcu-spi0-pins {
1003 pinctrl-single,pins = <
1017 mcu_uart0_pins: mcu-uart0-pins {
1018 pinctrl-single,pins = <
1026 mcu_uart1_pins: mcu-uart1-pins {
1027 pinctrl-single,pins = <