Part Number: AM62L
Other Parts Discussed in Thread: AM625
TI专家您好
我在使用AM62L32的板子,使用11.02.08的SDK编译内核,出现了无法通过NFS加载根文件系统的情况。
所有的配置为
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
[ 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 >; };