AM62L: AM62L32 11.02.08 的kernel NFS加载根文件系统问题

Part Number: AM62L
Other Parts Discussed in Thread: AM625

TI专家您好

我在使用AM62L32的板子,使用11.02.08的SDK编译内核,出现了无法通过NFS加载根文件系统的情况。

所有的配置为

make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- O=out_am62 defconfig ti_arm64_prune.config ti_rt.config,后不进行任何其他配置。直接编译出Image
使用同样的设备树。设备树文件在file里

11.02.08的内核,PHY为YT8531S,内核启动后,显示link up,1Gbps,但是不能进入到rootfs。

11.02.08的内核,AM6254可进入NFS,phy为yt8521,可以进入。

11.01.xx的内核,AM62L32的板子不可以NFS加载rootfs

11.00.17的内核,AM62L32的板子可以通过NFS加载rootfs

11.02.08的内核的部分log如下所示:
[    3.169762] m_can_platform 20701000.can: m_can device registered (irq=261, version=32)
[    3.171643] m_can_platform 20711000.can: m_can device registered (irq=262, version=32)
[    3.173669] m_can_platform 20721000.can: m_can device registered (irq=263, version=32)
[    3.174708] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00103, cpsw version 0x6BA80103 Ports: 3 quirks:00000006
[    3.175222] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
[    3.209274] davinci_mdio 8000f00.mdio: davinci mdio revision 17.7, bus freq 1000000
[    3.217507] davinci_mdio 8000f00.mdio: phy[5]: device 8000f00.mdio:05, driver YT8531S Gigabit Ethernet
[    3.217524] davinci_mdio 8000f00.mdio: phy[6]: device 8000f00.mdio:06, driver YT8531S Gigabit Ethernet
[    3.217701] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
[    3.217711] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512, Policers 32
[    3.221295] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010d, freq:200000000, add_val:4 pps:1
[    3.270635] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 96
[    3.282008] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    3.282306] zero gadget.0: Gadget Zero, version: Cinco de Mayo 2008
[    3.282317] zero gadget.0: zero ready
[    3.282529] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 1
[    3.282690] xhci-hcd xhci-hcd.2.auto: USB3 root hub has no ports
[    3.282698] xhci-hcd xhci-hcd.2.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000808020000010
[    3.283437] xhci-hcd xhci-hcd.2.auto: irq 275, io mem 0x31100000
[    3.284557] hub 1-0:1.0: USB hub found
[    3.284597] hub 1-0:1.0: 1 port detected
[    6.322579] rtc-ti-k3 2b1f0000.rtc: Configured RTC !
[    6.323495] rtc-ti-k3 2b1f0000.rtc: Failed to lock(-110)!
[    6.323530] rtc-ti-k3 2b1f0000.rtc: probe with driver rtc-ti-k3 failed with error -110
[    6.330643] mmc0: CQHCI version 5.10
[    6.331645] mmc1: CQHCI version 5.10
[    6.381980] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
[    6.381980] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[    6.396281] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:05] driver [YT8531S Gigabit Ethernet] (irq=POLL)
[    6.396304] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
[    6.401795] 8021q: adding VLAN 0 to HW filter on device eth0
[    6.463794] mmc1: new ultra high speed SDR104 SDHC card at address aaaa
[    6.464673] mmcblk1: mmc1:aaaa SC16G 14.8 GiB
[    6.467876]  mmcblk1: p1 p2
[    6.552477] mmc0: Failed to initialize a non-removable card
[    9.509042] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[    9.525268] IP-Config: Complete:
[    9.525294]      device=eth0, hwaddr=30:30:d0:97:29:3d, ipaddr=192.168.13.179, mask=255.255.0.0, gw=192.168.13.1
[    9.525306]      host=192.168.13.179, domain=, nis-domain=(none)
[    9.525309]      bootserver=192.168.13.179, rootserver=192.168.13.182, rootpath=
[    9.525564] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    9.528545] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    9.529232] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[    9.529434] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    9.529449] cfg80211: failed to load regulatory.db
[    9.529553] clk: Disabling unused clocks
[    9.534108] PM: genpd: Disabling unused power domains
[    9.534458] ALSA device list:
[    9.534463]   #0: Loopback 1
[    9.534469]   #1: AM62x-SKEVM
[    9.600880] md: Waiting for all devices to be available before autodetect
[    9.600892] md: If you don't use raid, use raid=noautodetect
[    9.600896] md: Autodetecting RAID arrays.
[    9.600899] md: autorun ...
[    9.600902] md: ... autorun DONE.
[   19.940871] platform 30200000.dss: deferred probe pending: tidss: port 0 probe failed
[  124.387583] VFS
** replaying previous printk message **
[  124.387583] VFS: Unable to mount root fs via NFS.
[  124.387776] devtmpfs: mounted
[  124.388784] Freeing unused kernel memory: 1472K
[  124.388903] Run /sbin/init as init process
[  124.388907]   with arguments:
[  124.388909]     /sbin/init
[  124.388912]   with environment:
[  124.388913]     HOME=/
[  124.388916]     TERM=linux
[  124.388961] Run /etc/init as init process
[  124.388964]   with arguments:
[  124.388966]     /etc/init
[  124.388968]   with environment:
[  124.388970]     HOME=/
[  124.388972]     TERM=linux
[  124.388982] Run /bin/init as init process
[  124.388985]   with arguments:
[  124.388987]     /bin/init
[  124.388989]   with environment:
[  124.388991]     HOME=/
[  124.388993]     TERM=linux
[  124.389003] Run /bin/sh as init process
[  124.389006]   with arguments:
[  124.389008]     /bin/sh
[  124.389010]   with environment:
[  124.389012]     HOME=/
[  124.389014]     TERM=linux
[  124.389025] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
[  124.489886] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.57-rt10-01395-gb55c76863125-dirty #14
[  124.499262] Hardware name: AM62L3 (DT)
[  124.503000] Call trace:
[  124.505436]  0xffff800080018598
[  124.508566]  0xffff8000800185e0
[  124.511696]  0xffff8000812cd1d4
[  124.514824]  0xffff8000812cd204
[  124.517953]  0xffff8000812ae840
[  124.521082]  0xffff8000812d05dc
[  124.524211]  0xffff800080014810
[  124.527342] SMP: stopping secondary CPUs
[  124.531258] Kernel Offset: disabled
[  124.534733] CPU features: 0x00,00000080,00000000,4200400b
[  124.540119] Memory Limit: none
[  124.543367] ---[ end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. ]---

 

请教一下,11.02.08还需要特殊配置内核吗,没有分析出是哪里的问题

下面是完整的dts文件

// SPDX-License-Identifier: GPL-2.0-only or MIT
/*
 * Device Tree file for the AM62L3 Evaluation Module
 * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
 *
 * Technical Reference Manual: www.ti.com/.../sprujb4
 */

/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 "k3-am62l3.dtsi"
#include "k3-pinctrl.h"

/ {
	compatible = "ti,am62l3-evm", "ti,am62l3";
	model = "AM62L3";

	aliases {
		mmc0 = &sdhci0;
		mmc1 = &sdhci1;
		mmc2 = &sdhci2;
		serial0 = &main_uart0;
		serial1 = &main_uart1;
		serial2 = &main_uart2;
		serial3 = &main_uart3;
		serial4 = &main_uart4;
		serial5 = &main_uart5;
		serial6 = &main_uart6;
		serial7 = &wkup_uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
#if 1
		bootargs = "noinitrd earlycon rootwait ip=192.168.13.179:192.168.13.179:192.168.13.1:255.255.0.0::eth0:off root=/dev/nfs nfsroot=192.168.13.182:/home/rocky/nfs-am625/rootfs,port=2049,tcp,v4,nolock rw rootwait";
#else
		bootargs = "noinitrd root=/dev/mmcblk1p2 rw rootfstype=ext4 rootwait";
#endif
	};

	memory@80000000 {
		reg = <0x00000000 0x80000000 0x00000000 0x20000000>;
		device_type = "memory";
		bootph-all;
	};

	transceiver1: can-phy0 {
		compatible = "ti,tcan1042";
		#phy-cells = <0>;
		max-bitrate = <5000000>;
	};

	transceiver2: can-phy1 {
		compatible = "ti,tcan1042";
		#phy-cells = <0>;
		max-bitrate = <5000000>;
	};

	transceiver3: can-phy2 {
		compatible = "ti,tcan1042";
		#phy-cells = <0>;
		max-bitrate = <5000000>;
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&usr_led_pins_default>;

		led-0 {
			label = "am62-sk:green:heartbeat";
			gpios = <&main_gpio0 123 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
			function = LED_FUNCTION_HEARTBEAT;
			default-state = "on";
		};
	};

	vmain_pd: regulator-0 {
		/* TPS65988 PD CONTROLLER OUTPUT */
		bootph-all;
		compatible = "regulator-fixed";
		regulator-name = "vmain_pd";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_3v3_sys: regulator-1 {
		/* output of LM61460-Q1 */
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_sys";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vmain_pd>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_3v3_sd: regulator-2 {
		/* TPS22918DBVR */
		bootph-all;
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_sd";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		enable-active-high;
		vin-supply = <&vcc_3v3_sys>;
		/* Tgpio = <&exp1 3 GPIO_ACTIVE_HIGH>; */
	};

	vcc_1v8: regulator-3 {
		/* output of TPS6282518DMQ */
		compatible = "regulator-fixed";
		regulator-name = "vcc_1v8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&vcc_3v3_sys>;
		regulator-always-on;
		regulator-boot-on;
	};

	bt_host_wake: regulator-5 {
		compatible = "regulator-fixed";
		regulator-name = "bt_host_wake";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		enable-active-high;
		regulator-always-on;
		regulator-boot-on;
		vin-supply = <&vcc_3v3_sys>;
		gpios = <&main_gpio0 7 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&bt_host_wake_pins_default>;
	};

	wifi_host_wake: regulator-6 {
		compatible = "regulator-fixed";
		regulator-name = "wifi_host_wake";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		enable-active-high;
		regulator-always-on;
		regulator-boot-on;
		vin-supply = <&vcc_3v3_sys>;
		gpios = <&main_gpio0 52 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&wlan_gpio_pins_default>;
	};

	tlv320_mclk: clk-0 {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <12000000>;
	};

	codec_audio: sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "AM62x-SKEVM";
		simple-audio-card,widgets =
			/* "Microphone", "Mic Jack", */
			/* "Headphone", "Headphone Jack", */
			"Line", "Line In",
			"Line Out", "Line Out";
		simple-audio-card,routing =
			/* "Headphone Jack",	"HPLOUT", */
			/* "Headphone Jack",	"HPROUT", */
			/* "MIC3R",		"Microphone Jack", */
			/* "LINE2L",               "Mic Jack", */
			/* "LINE2R",               "Mic Jack"; */
			"LINE1L",               "Line In",
			"LINE1R",               "Line In",			
			"Line Out",		"LLOUT",
			"Line Out",		"RLOUT";
		/* simple-audio-card,mclk-fs = <256>; */
		/* simple-audio-card,format = "i2s"; */
		simple-audio-card,format = "dsp_b";
		simple-audio-card,bitclock-master = <&sound_master>;
		simple-audio-card,frame-master = <&sound_master>;
		simple-audio-card,bitclock-inversion;

		simple-audio-card,cpu {
			sound-dai = <&mcasp0>;
		};

		sound_master: simple-audio-card,codec {
			sound-dai = <&tlv320aic3106>;
			clocks = <&tlv320_mclk>;
		};
	};
		
	mipi_backlight: mipi-backlight {
		compatible = "pwm-backlight";
		pwms = <&epwm0 1 50000 0>;
		status = "okay";
		brightness-levels =
			< 0  1  2  3  4  5  6  7  8  9
			10 11 12 13 14 15 16 17 18 19
			20 21 22 23 24 25 26 27 28 29
			30 31 32 33 34 35 36 37 38 39
			40 41 42 43 44 45 46 47 48 49
			50 51 52 53 54 55 56 57 58 59
			60 61 62 63 64 65 66 67 68 69
			70 71 72 73 74 75 76 77 78 79
			80 81 82 83 84 85 86 87 88 89
			90 91 92 93 94 95 96 97 98 99
			100>;
		default-brightness-level = <80>;
	};

	panel0 {
		compatible = "raspberrypi,7inch-dsi", "simple-panel";
		backlight = <&mipi_backlight>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&panel_bridge_out>;
			};
		};
	};
};

&pmx0 {
	wkup_uart0_pins_default: wkup-uart0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0008, PIN_INPUT, 0) /* (W23) WKUP_UART0_CTSn */
			AM62LX_IOPAD(0x000c, PIN_OUTPUT, 0) /* (W22) WKUP_UART0_RTSn */
			AM62LX_IOPAD(0x0000, PIN_INPUT, 0) /* (Y22) WKUP_UART0_RXD */
			AM62LX_IOPAD(0x0004, PIN_OUTPUT, 0) /* (AA23) WKUP_UART0_TXD */
		>;
		bootph-all;
	};

	main_uart0_pins_default: main-uart0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01b8, PIN_OUTPUT, 0) /* (C13) UART0_TXD */
			AM62LX_IOPAD(0x01b4, PIN_INPUT, 0) /* (D13) UART0_RXD */
		>;
		bootph-all;
	};

	main_uart0_wakeup_pins: main-uart0-wakeup-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01b8, PIN_OUTPUT, 0) /* (C13) UART0_TXD */
			AM62LX_IOPAD(0x01b4, PIN_INPUT | PIN_WKUP_EN, 0) /* (D13) UART0_RXD */
		>;
	};

	main_uart1_pins_default: main-uart1-default-pins {
		pinctrl-single,pins = <
			/* AM62LX_IOPAD(0x0180, PIN_INPUT, 2)*/ /* (A8) MCASP0_AXR3.UART1_CTSn */
			/* AM62LX_IOPAD(0x0184, PIN_OUTPUT, 2)*/ /* (B10) MCASP0_AXR2.UART1_RTSn */
			AM62LX_IOPAD(0x0198, PIN_INPUT, 2) /* (C11) MCASP0_AFSR.UART1_RXD */
			AM62LX_IOPAD(0x019c, PIN_OUTPUT, 2) /* (A12) MCASP0_ACLKR.UART1_TXD */
		>;
		bootph-all;
	};
#if 0
	main_uart2_pins_default: main-uart2-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01bc, PIN_INPUT, 3) /* (B14) UART0_CTSn.UART2_RXD */
			AM62LX_IOPAD(0x01c0, PIN_OUTPUT, 3) /* (B13) UART0_RTSn.UART2_TXD */
		>;
		bootph-all;
	};
#endif
	wkup_i2c0_pins_default: wkup-i2c0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0010, PIN_INPUT_PULLUP, 0) /* (AB22) WKUP_I2C0_SCL */
			AM62LX_IOPAD(0x0014, PIN_INPUT_PULLUP, 0) /* (AA22) WKUP_I2C0_SDA */
		>;
	};

	main_i2c0_pins_default: main-i2c0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01cc, PIN_INPUT_PULLUP, 0) /* (B7) I2C0_SCL */
			AM62LX_IOPAD(0x01d0, PIN_INPUT_PULLUP, 0) /* (A7) I2C0_SDA */
		>;
		bootph-all;
	};

	main_i2c1_pins_default: main-i2c1-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01d4, PIN_INPUT_PULLUP, 0) /* (D7) I2C1_SCL */
			AM62LX_IOPAD(0x01d8, PIN_INPUT_PULLUP, 0) /* (A6) I2C1_SDA */
		>;
		bootph-all;
	};

	main_i2c2_pins_default: main-i2c2-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01dc, PIN_INPUT_PULLUP, 0) /* (B8) I2C2_SCL */
			AM62LX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (D8) I2C2_SDA */
		>;
	};

	ospi0_pins_default: ospi0-default-pins {
		bootph-all;
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x003c, PIN_OUTPUT, 0) /* (D22) OSPI0_CLK */
			AM62LX_IOPAD(0x0068, PIN_OUTPUT, 0) /* (C20) OSPI0_CSn0 */
			/* AM62LX_IOPAD(0x0074, PIN_OUTPUT, 0) */ /* (C23) OSPI0_CSn3 */
			AM62LX_IOPAD(0x0048, PIN_INPUT, 0) /* (C22) OSPI0_D0 */
			AM62LX_IOPAD(0x004c, PIN_INPUT, 0) /* (D21) OSPI0_D1 */
			AM62LX_IOPAD(0x0050, PIN_INPUT, 0) /* (E23) OSPI0_D2 */
			AM62LX_IOPAD(0x0054, PIN_INPUT, 0) /* (D23) OSPI0_D3 */
			/* AM62LX_IOPAD(0x0058, PIN_INPUT, 0) */ /* (F21) OSPI0_D4 */
			/* AM62LX_IOPAD(0x005c, PIN_INPUT, 0) */ /* (F19) OSPI0_D5 */
			/* AM62LX_IOPAD(0x0060, PIN_INPUT, 0) */ /* (G20) OSPI0_D6 */
			/* AM62LX_IOPAD(0x0064, PIN_INPUT, 0) */ /* (F20) OSPI0_D7 */
			/* AM62LX_IOPAD(0x0044, PIN_INPUT, 0) */ /* (E22) OSPI0_DQS */
			/* AM62LX_IOPAD(0x0040, PIN_INPUT, 0) */ /* (E18) OSPI0_LBCLKO */
		>;
	};

	main_gpio0_ioexp_intr_pins_default: main-gpio0-ioexp-intr-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01b0, PIN_INPUT, 7) /* (B12) SPI0_D1.GPIO0_91 */
		>;
		bootph-all;
	};

	usr_led_pins_default: usr-led-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0238, PIN_OUTPUT, 7) /* (D24) MMC1_SDWP.GPIO0_123 */
		>;
	};

	main_mmc0_pins_default: main-mmc0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0214, PIN_INPUT, 0) /* (D2) MMC0_CMD */
			AM62LX_IOPAD(0x020c, PIN_OUTPUT, 0) /* (B2) MMC0_CLK */
			AM62LX_IOPAD(0x0208, PIN_INPUT, 0) /* (D3) MMC0_DAT0 */
			AM62LX_IOPAD(0x0204, PIN_INPUT_PULLUP, 0) /* (D4) MMC0_DAT1 */
			AM62LX_IOPAD(0x0200, PIN_INPUT_PULLUP, 0) /* (C1) MMC0_DAT2 */
			AM62LX_IOPAD(0x01fc, PIN_INPUT_PULLUP, 0) /* (C2) MMC0_DAT3 */
			AM62LX_IOPAD(0x01f8, PIN_INPUT_PULLUP, 0) /* (C4) MMC0_DAT4 */
			AM62LX_IOPAD(0x01f4, PIN_INPUT_PULLUP, 0) /* (B3) MMC0_DAT5 */
			AM62LX_IOPAD(0x01f0, PIN_INPUT_PULLUP, 0) /* (A3) MMC0_DAT6 */
			AM62LX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B4) MMC0_DAT7 */
		>;
		bootph-all;
	};

	main_mmc1_pins_default: main-mmc1-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0230, PIN_INPUT, 0) /* (Y3) MMC1_CMD */
			AM62LX_IOPAD(0x0228, PIN_OUTPUT, 0) /* (Y2) MMC1_CLK */
			AM62LX_IOPAD(0x0224, PIN_INPUT, 0) /* (AA1) MMC1_DAT0 */
			AM62LX_IOPAD(0x0220, PIN_INPUT, 0) /* (Y4) MMC1_DAT1 */
			AM62LX_IOPAD(0x021c, PIN_INPUT, 0) /* (AA2) MMC1_DAT2 */
			AM62LX_IOPAD(0x0218, PIN_INPUT, 0) /* (AB2) MMC1_DAT3 */
			AM62LX_IOPAD(0x0234, PIN_INPUT, 0) /* (B6) MMC1_SDCD */
		>;
		bootph-all;
	};

	main_mmc2_pins_default: main-mmc2-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x010c, PIN_INPUT, 0) /* (U23) MMC2_CMD */
			AM62LX_IOPAD(0x0104, PIN_OUTPUT, 0) /* (R23) MMC2_CLK */
			AM62LX_IOPAD(0x0108, PIN_INPUT, 0) /* () MMC2_CLKLB */
			AM62LX_IOPAD(0x0100, PIN_INPUT, 0) /* (U22) MMC2_DAT0 */
			AM62LX_IOPAD(0x00fc, PIN_INPUT, 0) /* (T22) MMC2_DAT1 */
			AM62LX_IOPAD(0x00f8, PIN_INPUT, 0) /* (T23) MMC2_DAT2 */
			AM62LX_IOPAD(0x00f4, PIN_INPUT, 0) /* (R22) MMC2_DAT3 */
		>;
	};

	gpmc0_pins_default: gpmc0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0078, PIN_INPUT, 0) /* (L22) GPMC0_AD0 */
			AM62LX_IOPAD(0x007c, PIN_INPUT, 0) /* (L23) GPMC0_AD1 */
			AM62LX_IOPAD(0x0080, PIN_INPUT, 0) /* (K22) GPMC0_AD2 */
			AM62LX_IOPAD(0x0084, PIN_INPUT, 0) /* (J23) GPMC0_AD3 */
			AM62LX_IOPAD(0x0088, PIN_INPUT, 0) /* (K23) GPMC0_AD4 */
			AM62LX_IOPAD(0x008c, PIN_INPUT, 0) /* (H22) GPMC0_AD5 */
			AM62LX_IOPAD(0x0090, PIN_INPUT, 0) /* (H23) GPMC0_AD6 */
			AM62LX_IOPAD(0x0094, PIN_INPUT, 0) /* (J22) GPMC0_AD7 */
			AM62LX_IOPAD(0x00d4, PIN_INPUT, 0) /* (N23) GPMC0_WAIT0 */
			AM62LX_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (L21) GPMC0_CLK */
			AM62LX_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (L20) GPMC0_CSn0 */
			AM62LX_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (N19) GPMC0_ADVn_ALE */
			AM62LX_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (N20) GPMC0_OEn_REn */
			AM62LX_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (M19) GPMC0_WEn */
			// AM62LX_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (P23) GPMC0_BE0n_CLE */
			// AM62LX_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (N21) GPMC0_WPn */
		>;
	};

	main_mcan0_pins_default: main-mcan0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01c8, PIN_INPUT, 0) /* (B15) MCAN0_RX */
			AM62LX_IOPAD(0x01c4, PIN_OUTPUT, 0) /* (B16) MCAN0_TX */
		>;
	};

	main_mcan1_pins_default: main-mcan1-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0180, PIN_INPUT, 5) /* (A8) MCASP0_AXR3.MCAN1_RX */
			AM62LX_IOPAD(0x0184, PIN_OUTPUT, 5) /* (B10) MCASP0_AXR2.MCAN1_TX */
		>;
	};

	main_mcan2_pins_default: main-mcan2-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01bc, PIN_INPUT, 6) /* (B14) UART0_CTSn.MCAN2_RX */
			AM62LX_IOPAD(0x01c0, PIN_OUTPUT, 6) /* (B13) UART0_RTSn.MCAN2_TX */
		>;
	};
	
	rgmii1_pins_default: rgmii1-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0138, PIN_INPUT, 0) /* (Y8) RGMII1_RD0 */
			AM62LX_IOPAD(0x013c, PIN_INPUT, 0) /* (AA6) RGMII1_RD1 */
			AM62LX_IOPAD(0x0140, PIN_INPUT, 0) /* (AA8) RGMII1_RD2 */
			AM62LX_IOPAD(0x0144, PIN_INPUT, 0) /* (W8) RGMII1_RD3 */
			AM62LX_IOPAD(0x0134, PIN_INPUT, 0) /* (Y7) RGMII1_RXC */
			AM62LX_IOPAD(0x0130, PIN_INPUT, 0) /* (Y6) RGMII1_RX_CTL */
			AM62LX_IOPAD(0x0120, PIN_OUTPUT, 0) /* (AC10) RGMII1_TD0 */
			AM62LX_IOPAD(0x0124, PIN_OUTPUT, 0) /* (W13) RGMII1_TD1 */
			AM62LX_IOPAD(0x0128, PIN_OUTPUT, 0) /* (Y11) RGMII1_TD2 */
			AM62LX_IOPAD(0x012c, PIN_OUTPUT, 0) /* (AA11) RGMII1_TD3 */
			AM62LX_IOPAD(0x011c, PIN_OUTPUT, 0) /* (W11) RGMII1_TXC */
			AM62LX_IOPAD(0x0118, PIN_OUTPUT, 0) /* (AB11) RGMII1_TX_CTL */
		>;
	};

	rgmii2_pins_default: rgmii2-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0170, PIN_INPUT, 0) /* (AB9) RGMII2_RD0 */
			AM62LX_IOPAD(0x0174, PIN_INPUT, 0) /* (AC9) RGMII2_RD1 */
			AM62LX_IOPAD(0x0178, PIN_INPUT, 0) /* (AB10) RGMII2_RD2 */
			AM62LX_IOPAD(0x017c, PIN_INPUT, 0) /* (AB8) RGMII2_RD3 */
			AM62LX_IOPAD(0x016c, PIN_INPUT, 0) /* (AC7) RGMII2_RXC */
			AM62LX_IOPAD(0x0168, PIN_INPUT, 0) /* (AC8) RGMII2_RX_CTL */
			AM62LX_IOPAD(0x0158, PIN_OUTPUT, 0) /* (AC12) RGMII2_TD0 */
			AM62LX_IOPAD(0x015c, PIN_OUTPUT, 0) /* (AB13) RGMII2_TD1 */
			AM62LX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (AA12) RGMII2_TD2 */
			AM62LX_IOPAD(0x0164, PIN_OUTPUT, 0) /* (AA13) RGMII2_TD3 */
			AM62LX_IOPAD(0x0154, PIN_OUTPUT, 0) /* (Y13) RGMII2_TXC */
			AM62LX_IOPAD(0x0150, PIN_OUTPUT, 0) /* (AB12) RGMII2_TX_CTL */
		>;
	};

	mdio1_pins_default: mdio1-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x014c, PIN_OUTPUT, 0) /* (AC15) MDIO0_MDC */
			AM62LX_IOPAD(0x0148, PIN_INPUT, 0) /* (AC13) MDIO0_MDIO */
		>;
	};

	phy_reset_pins_default: phy-reset-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01a0, PIN_INPUT, 7) /* (E11) SPI0_CS0.GPIO0_87 */
			AM62LX_IOPAD(0x01a8, PIN_INPUT, 7) /* (E13) SPI0_CLK.GPIO0_89 */
		>;
	};

	typec1_int_pins_default: typec1-int-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01ac, PIN_INPUT, 7) /* (E12) SPI0_D0.GPIO0_90 */
		>;
	};
	
	main_usb1_default_pins: main-usb1-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0248, PIN_INPUT | PIN_DS_PULLUD_ENABLE | PIN_DS_PULL_UP, 0) /* (A5) USB1_DRVVBUS */
		>;
	};

	main_mcasp0_pins_default: main-mcasp0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0190, PIN_INPUT, 0) /* (A11) MCASP0_ACLKX */
			AM62LX_IOPAD(0x0194, PIN_INPUT, 0) /* (B11) MCASP0_AFSX */
			AM62LX_IOPAD(0x018c, PIN_INPUT, 0) /* (B9) MCASP0_AXR0 */
			AM62LX_IOPAD(0x0188, PIN_INPUT, 0) /* (A9) MCASP0_AXR1 */
		>;
	};

	main_epwm0_pins_default: main-epwm0-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01a4, PIN_OUTPUT, 2) /* (D11) SPI0_CS1.EHRPWM0_B */
		>;
	};

	main_gt911_pins_default: main-gt911-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0060, PIN_INPUT, 7) /* (G20) OSPI0_D6.GPIO0_9 */
		>;
	};

	pmic_irq_pins_default: pmic-irq-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x01e8, PIN_INPUT, 0) /* (C8) EXTINTn */
		>;
	};

	bt_host_wake_pins_default: bt-host-wake-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0058, PIN_INPUT, 7) /* (F21) OSPI0_D4.GPIO0_7 */
		>;
	};

	wlan_gpio_pins_default: wlan-gpio-default-pins {
		pinctrl-single,pins = <
			AM62LX_IOPAD(0x0114, PIN_INPUT, 7) /* (T21) MMC2_SDWP.GPIO0_52 */
		>;
		bootph-all;
	};
};

&wkup_uart0_interconnect {
	status = "okay";
};
#if 0
&wkup_uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_uart0_pins_default>;
	uart-has-rtscts;
	status = "okay";
	bootph-all;
};
#endif
&main_uart0 {
	status = "okay";
	// pinctrl-names = "default", "wakeup";
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart0_pins_default>;
	// pinctrl-1 = <&main_uart0_wakeup_pins>;
	// wakeup-source  = <&system_deep_sleep>;
	bootph-all;
};

&main_uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart1_pins_default>;
	status = "okay";
	bootph-all;
};
#if 0
&main_uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart2_pins_default>;
	status = "okay";
	bootph-all;
};
#endif
&main_i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c0_pins_default>;
	clock-frequency = <400000>;
	bootph-all;

	eeprom@50 {
		compatible = "atmel,24c256";
		reg = <0x50>;
	};

	rtc@51 {
		compatible = "lk,lk8563t";
		reg = <0x51>;
		#clock-cells = <0>;
		clock-frequency = <32768>;
		clock-output-names = "lk8563t-clkout";
	};

	gt911: gt911@14 {
		compatible = "goodix,gt911";
		reg = <0x14>;
		pinctrl-names = "default";
		pinctrl-0 = <&main_gt911_pins_default>;
		interrupt-parent = <&main_gpio0>;
		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
		esd-recovery-timeout-ms = <2000>;
		irq-gpios = <&main_gpio0 9 GPIO_ACTIVE_HIGH>;
		/* reset-gpios = <&exp_gpio 3 GPIO_ACTIVE_HIGH>; */
		status = "okay";
	};

	tlv320aic3106: audio-codec@18 {
		#sound-dai-cells = <0>;
		compatible = "ti,tlv320aic3106";
		reg = <0x18>;
		ai3x-micbias-vg = <1>;	/* 2.0V */

		/* Regulators */
		AVDD-supply = <&vcc_3v3_sys>;
		IOVDD-supply = <&vcc_3v3_sys>;
		DRVDD-supply = <&vcc_3v3_sys>;
		DVDD-supply = <&vcc_1v8>;
		status = "okay";
	};
};

&main_i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c1_pins_default>;
	clock-frequency = <100000>;
	bootph-all;

	ptn5110: tcpc@52 {
		compatible = "nxp,ptn5110", "tcpci";
		pinctrl-names = "default";
		pinctrl-0 = <&typec1_int_pins_default>;
		reg = <0x52>;
		interrupt-parent = <&main_gpio0>;
		interrupts = <90 IRQ_TYPE_EDGE_FALLING>;
		status = "okay";

		connector {
			compatible = "usb-c-connector";
			label = "X17";
			power-role = "dual";
			data-role = "dual";
			try-power-role = "sink";
			typec-power-opmode = "default";
			pd-disable;
			self-powered;

			port {
				usb_con_hs: endpoint {
					remote-endpoint = <&usb0_hs_ep>;
				};
			};
		};
	};
};

&main_i2c2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c2_pins_default>;
	clock-frequency = <400000>;
	
	exp_gpio: gpio@20 {
		compatible = "nxp,pca9555";
		reg = <0x20>;
		gpio-controller;
		#gpio-cells = <2>;
		bootph-all;
	};
};

&wkup_i2c0 {
	clock-frequency = <400000>;
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_i2c0_pins_default>;
	status = "okay";

	tps65214: pmic@30 {
		status = "disabled";
		compatible = "ti,tps65214";
		reg = <0x30>;
		interrupt-parent = <&gic500>;
		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
		pinctrl-0 = <&pmic_irq_pins_default>;
		ti,power-button;

		buck1-supply = <&vmain_pd>;
		buck2-supply = <&vmain_pd>;
		buck3-supply = <&vmain_pd>;
		ldo1-supply = <&vmain_pd>;
		ldo2-supply = <&vmain_pd>;

		regulators {
			buck1_reg: buck1 {
				regulator-name = "VDD_CORE";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <750000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck2_reg: buck2 {
				regulator-name = "DVDD_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck3_reg: buck3 {
				regulator-name = "VDD_LPDDR4";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1100000>;
				regulator-always-on;
				regulator-boot-on;
			};

			ldo1_reg: ldo1 {
				regulator-name = "VDD_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			ldo2_reg: ldo2 {
				regulator-name = "VDDA_V75";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <750000>;
				regulator-always-on;
				regulator-boot-on;
			};
		};
	};
};

&main_gpio0 {
	status = "okay";
	bootph-all;
	pinctrl-names = "default";
};

&wkup_gpio0 {
	status = "okay";
	bootph-all;
};

&main_gpio2 {
	status = "okay";
	bootph-all;
};

&sdhci0 {
	/* eMMC */
	non-removable;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc0_pins_default>;
	status = "okay";
	bootph-all;
};

&sdhci1 {
	/* SD/MMC */
	vmmc-supply = <&vcc_3v3_sd>;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc1_pins_default>;
	status = "okay";
	bootph-all;
	disable-wp;
};

&sdhci2 {
	/* WIFI */
	#address-cells = <2>;
	#size-cells = <1>;
	bootph-all;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc2_pins_default>;
	bus-width = <4>;
	non-removable;
	ti,fails-without-test-cd;
	cap-power-off-card;
	keep-power-in-suspend;
	ti,driver-strength-ohm = <50>;
	/* mmc-pwrseq = <&wifi_pwrseq>; */
	status = "disabled";

	brcmf: wifi@1 {
		#address-cells = <2>;
		#size-cells = <1>;
		reg = <0x0 0x1 0x1000>;
		compatible = "brcm,bcm4329-fmac";
		status = "okay";
	};
};

&ospi0 {
	bootph-all;
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&ospi0_pins_default>;

	ospi0_nand: flash@0 {
		bootph-all;
		compatible = "spi-nand";
		reg = <0x0>;
		spi-tx-bus-width = <4>;
		spi-rx-bus-width = <4>;
		spi-max-frequency = <25000000>;
		cdns,tshsl-ns = <60>;
		cdns,tsd2d-ns = <60>;
		cdns,tchsh-ns = <60>;
		cdns,tslch-ns = <60>;
		cdns,read-delay = <4>;
		cdns,phy-mode;

		partitions {
			bootph-all;
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "ospi0_nand.tiboot3";
				reg = <0x0 0x80000>;	/* 512KB */
			};

			partition@80000 {
				label = "ospi0_nand.tispl";
				reg = <0x80000 0x200000>;	/* 2MB */
			};

			partition@280000 {
				label = "ospi0_nand.u-boot";
				reg = <0x280000 0x380000>;	/* 3.5MB */
			};

			partition@600000 {
				label = "ospi0_nand.kernel";
				reg = <0x600000 0x3F00000>; /* 63MB */
			};

			partition@4500000 {
				label = "ospi0_nand.dtb";
				reg = <0x4500000 0x100000>;	/* 1MB */
			};

			partition@4600000 {
				label = "ospi0_nand.rootfs";
				reg = <0x4600000 0x1B800000>;	/* 440MB */
			};

			partition@1fe00000 {
				bootph-all;
				label = "ospi0_nand.phypattern";
				reg = <0x1fe00000 0x100000>; /* 1MB */
			};
		};
	};
};

&dss {
	status = "okay";
	bootph-all;
};

&dss_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	port@0 {
		reg = <0>;

		dpi_out: endpoint {
			remote-endpoint = <&dsi0_in>;
		};
	};
};

&dphy_tx0 {
	status = "okay";
	bootph-all;
};

&dsi0 {
	status = "okay";
	bootph-all;
	#address-cells = <1>;
	#size-cells = <0>;

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			dsi0_out: endpoint {
				remote-endpoint = <&panel_bridge_in>;
			};
		};

		port@1 {
			reg = <1>;
			dsi0_in: endpoint {
				remote-endpoint = <&dpi_out>;
			};
		};
	};

	bridge@0 {
		compatible = "myir,mipi101c";
		reg = <0>;
		vddc-supply = <&vcc_3v3_sys>;
		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				panel_bridge_in: endpoint {
					remote-endpoint = <&dsi0_out>;
				};
			};

			port@1 {
				reg = <1>;
				panel_bridge_out: endpoint {
					remote-endpoint = <&panel_in>;
				};
			};
		};
	};
};

&epwm0 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_epwm0_pins_default>;
	status = "okay";
};

&tscadc0 {
	status = "okay";

	adc {
		ti,adc-channels = <0 1 2 3>;
	};
};


&main_mcan0 {
	/* RX p3 & TX p2 of J16 */
	pinctrl-names = "default";
	pinctrl-0 = <&main_mcan0_pins_default>;
	phys = <&transceiver1>;
	status = "okay";
};

&main_mcan1 {
	/* RX p3 & TX p2 of J6 */
	pinctrl-names = "default";
	pinctrl-0 = <&main_mcan1_pins_default>;
	phys = <&transceiver2>;
	status = "okay";
};

&main_mcan2 {
	/* RX p3 & TX p2 of J18 */
	pinctrl-names = "default";
	pinctrl-0 = <&main_mcan2_pins_default>;
	phys = <&transceiver3>;
	status = "okay";
};

&cpsw3g {
	pinctrl-names = "default";
	pinctrl-0 = <&rgmii1_pins_default>,
		    <&rgmii2_pins_default>,
		    <&phy_reset_pins_default>;
	cpts@3d000 {
		/* MAP HW3_TS_PUSH to GENF1 */
		ti,pps = <2 1>;
	};
};

&cpsw_port1 {
	bootph-all;
	phy-mode = "rgmii-rxid";
	phy-handle = <&cpsw3g_phy0>;
};

&cpsw_port2 {
	bootph-all;
	phy-mode = "rgmii-rxid";
	phy-handle = <&cpsw3g_phy1>;
};

&cpsw3g_mdio {
	pinctrl-names = "default";
	pinctrl-0 = <&mdio1_pins_default>;
	status = "okay";
	cpsw3g_phy0: ethernet-phy@5 {
		bootph-all;
		reg = <5>;
		// compatible = "ethernet-phy-ieee802.3-c22";
		// rx-internal-delay-ps = <2100>;
		// tx-internal-delay-ps = <150>;
		// motorcomm,clk-out-frequency-hz = <0>;
		// motorcomm,keep-pll-enabled;
		// motorcomm,auto-sleep-disabled;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
		ti,min-output-impedance;

		// reset-gpios = <&main_gpio0 87 GPIO_ACTIVE_LOW>;
		// reset-assert-us = <15000>;
		// reset-deassert-us = <50000>;
	};

	cpsw3g_phy1: ethernet-phy@6 {
		bootph-all;
		reg = <6>;
		// compatible = "ethernet-phy-ieee802.3-c22";
		// rx-internal-delay-ps = <2100>;
		// tx-internal-delay-ps = <150>;
		// motorcomm,clk-out-frequency-hz = <0>;
		// motorcomm,keep-pll-enabled;
		// motorcomm,auto-sleep-disabled;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
		ti,min-output-impedance;

		// reset-gpios = <&main_gpio0 89 GPIO_ACTIVE_LOW>;
		// reset-assert-us = <15000>;
		// reset-deassert-us = <50000>;
	};
};

&elm0 {
	// status = "okay";
};

&gpmc0 {
	/*
	 * status = "okay";
	 * disable dss when enabling this
	 */
	status = "disabled";
	pinctrl-names = "default";
	pinctrl-0 = <&gpmc0_pins_default>;
	#address-cells = <2>;
	#size-cells = <1>;
	ranges = <0 0 0x00 0x51000000 0x01000000>; /* CS0 space. Min partition = 16MB */

	bram@0,0 {
		compatible = "am62l,gpmc-bram";
		reg = <0 0x0 0x01000000>;
		bank-width = <2>;
		gpmc,mux-add-data = <2>;
		gpmc,burst-length = <16>;
		gpmc,burst-read;
		gpmc,burst-write;
		gpmc,page-burst-access-ns = <0>;
		gpmc,sync-clk-ps = <0>;
		gpmc,cs-on-ns = <7>;
		gpmc,cs-rd-off-ns = <120>;
		gpmc,cs-wr-off-ns = <120>;
		gpmc,adv-on-ns = <7>;
		gpmc,adv-rd-off-ns = <15>;
		gpmc,adv-wr-off-ns = <15>;
		gpmc,we-on-ns = <30>;
		gpmc,we-off-ns = <93>;
		gpmc,oe-on-ns = <28>;
		gpmc,oe-off-ns = <120>;
		gpmc,access-ns = <120>;
		gpmc,rd-cycle-ns = <120>;
		gpmc,wr-cycle-ns = <120>;
		gpmc,bus-turnaround-ns = <0>;
		gpmc,cycle2cycle-delay-ns = <0>;
		gpmc,clk-activation-ns = <0>;
		gpmc,wr-access-ns = <112>;
		gpmc,wr-data-mux-bus-ns = <52>;
	};
};

&usbss0 {
	status = "okay";
	ti,vbus-divider;
};

&usb0 {
	usb-role-switch;

	port {
		usb0_hs_ep: endpoint {
			remote-endpoint = <&usb_con_hs>;
		};
	};
};

&usbss1 {
	status = "okay";
	ti,vbus-divider;
};

&usb1 {
	dr_mode = "host";
};

&mcasp0 {

	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_mcasp0_pins_default>;
   
	#sound-dai-cells = <0>;
	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <2>;
	/* 16 serializers */
	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
	       1 2 0 0
	       0 0 0 0
	       0 0 0 0
	       0 0 0 0
	>;
};