Hi all,
How to config am3352 to run one MAC -> 2 port?
We can ping successfully in eth0 only, but it's no rx data in eth1. The following table is shown the test result.
Description | Ping from eth0 | Ping from eth1 |
Without dual_emac cpsw_emac0's phy id = 2 cpsw_emac1's phy id = 3 |
OK in port 1 | No eth1 |
dual_emac = 1 cpsw_emac0's phy id = 2 cpsw_emac0's phy id = 3 |
OK in port 1 | No Rx |
dual_emac = 1 cpsw_emac0's phy id = 3 cpsw_emac0's phy id = 2 |
OK in port 2 | No Rx |
Attached log and dts
U-Boot 2018.01 (Dec 25 2019 - 09:33:27 +0800) CPU : AM335X-GP rev 2.1 Model: TI AM335x EVM DRAM: 512 MiB NAND: 2048 MiB MMC: OMAP SD/MMC: 0 ** Bad device mmc 0 ** Using default environment <ethaddr> not set. Validating first E-fuse MAC Net: cpsw, usb_ether Hit any key to stop autoboot: 0 Booting from nand ... NAND read: device 0 offset 0x200000, size 0x80000 524288 bytes read: OK NAND read: device 0 offset 0x400000, size 0xa00000 10485760 bytes read: OK NAND read: device 0 offset 0x1800000, size 0x1800000 Skipping bad block 0x02d00000 Skipping bad block 0x02d80000 25165824 bytes read: OK ## Flattened Device Tree blob at 80f80000 Booting using the fdt blob at 0x80f80000 Loading Device Tree to 9def8000, end 9df0506a ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.9.59 (jason@jason-vb) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #121 PREEMPT Mon Feb 24 15:19:26 CST 2020 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt:Machine model: TI AM335x EVM [ 0.000000] efi: Getting EFI parameters from FDT: [ 0.000000] efi: UEFI not found. [ 0.000000] cma: Reserved 48 MiB at 0x9a800000 [ 0.000000] Memory policy: Data cache writeback [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] AM335X ES2.1 (neon) [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129920 [ 0.000000] Kernel command line: console=ttyS0,115200n8 consoleblank=0 vt.global_cursor_default=0 mem=512M root=/dev/ram0 rw rootfstype=ext4 initrd=0x81000000,64M ramdisk_size=67108864 [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Memory: 390308K/524288K available (9216K kernel code, 310K rwdata, 2696K rodata, 1024K init, 321K bss, 84828K reserved, 49152K cma-reserved, 0K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xe0800000 - 0xff800000 ( 496 MB) [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc0a00000 (10208 kB) [ 0.000000] .init : 0xc0d00000 - 0xc0e00000 (1024 kB) [ 0.000000] .data : 0xc0e00000 - 0xc0e4d840 ( 311 kB) [ 0.000000] .bss : 0xc0e4d840 - 0xc0e9dd54 ( 322 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 32. [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz [ 0.000020] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns [ 0.000048] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000061] OMAP clocksource: timer1 at 24000000 Hz [ 0.000288] clocksource_probe: no matching clocksources found [ 0.000499] Console: colour dummy device 80x30 [ 0.000547] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032) [ 0.118788] pid_max: default: 32768 minimum: 301 [ 0.118959] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.118974] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.120007] CPU: Testing write buffer coherency: ok [ 0.120474] Setting up static identity map for 0x80100000 - 0x80100060 [ 0.121594] EFI services will not be available. [ 0.123411] devtmpfs: initialized [ 0.140949] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3 [ 0.141400] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.141434] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.146016] pinctrl core: initialized pinctrl subsystem [ 0.147637] NET: Registered protocol family 16 [ 0.150439] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.170000] omap_hwmod: debugss: _wait_target_disable failed [ 0.235310] OMAP GPIO hardware version 0.1 [ 0.255855] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_default, deferring probe [ 0.258694] No ATAGs? [ 0.258719] hw-breakpoint: debug architecture 0x4 unsupported. [ 0.310278] edma 49000000.edma: TI EDMA DMA engine driver [ 0.315498] SCSI subsystem initialized [ 0.315893] usbcore: registered new interface driver usbfs [ 0.315982] usbcore: registered new interface driver hub [ 0.316113] usbcore: registered new device driver usb [ 0.316664] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c0_pins_default, deferring probe [ 0.316842] media: Linux media interface: v0.10 [ 0.316914] Linux video capture interface: v2.00 [ 0.316975] pps_core: LinuxPPS API ver. 1 registered [ 0.316985] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.317018] PTP clock support registered [ 0.317069] EDAC MC: Ver: 3.0.0 [ 0.318445] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400 [ 0.319723] Bluetooth: Core ver 2.22 [ 0.319791] NET: Registered protocol family 31 [ 0.319803] Bluetooth: HCI device and connection manager initialized [ 0.319828] Bluetooth: HCI socket layer initialized [ 0.319845] Bluetooth: L2CAP socket layer initialized [ 0.319888] Bluetooth: SCO socket layer initialized [ 0.321092] nfc: nfc_init: NFC Core ver 0.1 [ 0.321177] NET: Registered protocol family 39 [ 0.321708] clocksource: Switched to clocksource timer1 [ 0.335913] NET: Registered protocol family 2 [ 0.336899] TCP established hash table entries: 4096 (order: 2, 16384 bytes) [ 0.336970] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 0.337032] TCP: Hash tables configured (established 4096 bind 4096) [ 0.337120] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.337146] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.337320] NET: Registered protocol family 1 [ 0.338073] Trying to unpack rootfs image as initramfs... [ 0.339101] rootfs image is not initramfs (no cpio magic); looks like an initrd [ 0.877591] Freeing initrd memory: 65536K [ 0.878330] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available [ 0.881962] workingset: timestamp_bits=14 max_order=17 bucket_order=3 [ 0.892808] ntfs: driver 2.1.32 [Flags: R/O]. [ 0.893206] jffs2: version 2.2. (NAND) (SUMMARY) c 2001-2006 Red Hat, Inc. [ 0.900468] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246) [ 0.900495] io scheduler noop registered [ 0.900505] io scheduler deadline registered [ 0.900696] io scheduler cfq registered (default) [ 0.902901] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568 [ 0.907292] backlight supply power not found, using dummy regulator [ 0.990999] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled [ 0.996372] console [ttyS0] disabled [ 0.996492] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250 [ 1.615786] console [ttyS0] enabled [ 1.620764] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a 8250 [ 1.631012] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 160, base_baud = 3000000) is a 8250 [ 1.641145] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 161, base_baud = 3000000) is a 8250 [ 1.651258] 481aa000.serial: ttyS5 at MMIO 0x481aa000 (irq = 162, base_baud = 3000000) is a 8250 [ 1.662665] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20 [ 1.669469] [drm] Initialized [ 1.673297] panel panel: found backlight [ 1.678596] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 1.685338] [drm] No driver support for vblank timestamp query. [ 1.721672] Console: switching to colour frame buffer device 100x30 [ 1.741391] tilcdc 4830e000.lcdc: fb0: frame buffer device [ 1.774989] brd: module loaded [ 1.786888] loop: module loaded [ 1.793252] mtdoops: mtd device (mtddev=name/number) must be supplied [ 1.803435] libphy: Fixed MDIO Bus: probed [ 1.808309] CAN device driver interface [ 1.813711] c_can_platform 481cc000.can: c_can_platform device registered (regs=fa1cc000, irq=166) [ 1.824037] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=167) [ 1.901797] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6 [ 1.907939] davinci_mdio 4a101000.mdio: detected phy mask ffffffc1 [ 1.917758] libphy: 4a101000.mdio: probed [ 1.921959] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Micrel KSZ886X Switch [ 1.931280] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver Micrel KSZ886X Switch [ 1.940626] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver Micrel KSZ886X Switch [ 1.950048] davinci_mdio 4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver Micrel KSZ886X Switch [ 1.959396] davinci_mdio 4a101000.mdio: phy[5]: device 4a101000.mdio:05, driver Micrel KSZ886X Switch [ 1.969720] cpsw 4a100000.ethernet: Detected MACID = 04:79:b7:96:d3:4a [ 1.976602] cpsw 4a100000.ethernet: device node lookup for pps timer failed [ 1.983684] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies) [ 1.992415] cpsw 4a100000.ethernet: cpsw: Detected MACID = 04:79:b7:96:d3:4c [ 2.001157] PPP generic driver version 2.4.2 [ 2.005929] PPP BSD Compression module registered [ 2.010663] PPP Deflate Compression module registered [ 2.015800] PPP MPPE Compression module registered [ 2.020665] NET: Registered protocol family 24 [ 2.025432] usbcore: registered new interface driver cdc_ether [ 2.031419] usbcore: registered new interface driver rndis_host [ 2.038275] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 2.044900] ehci-pci: EHCI PCI platform driver [ 2.049532] ehci-platform: EHCI generic platform driver [ 2.055100] ehci-omap: OMAP-EHCI Host Controller driver [ 2.061086] usbcore: registered new interface driver cdc_acm [ 2.066871] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters [ 2.075021] usbcore: registered new interface driver cdc_wdm [ 2.080814] usbcore: registered new interface driver usbtmc [ 2.086547] usbcore: registered new interface driver usb-storage [ 2.092698] usbcore: registered new interface driver ums-sddr09 [ 2.098697] usbcore: registered new interface driver ums-sddr55 [ 2.104723] usbcore: registered new interface driver ums-usbat [ 2.110772] usbcore: registered new interface driver usbserial [ 2.116757] usbcore: registered new interface driver usbserial_generic [ 2.123434] usbserial: USB Serial support registered for generic [ 2.129530] usbcore: registered new interface driver ftdi_sio [ 2.135380] usbserial: USB Serial support registered for FTDI USB Serial Device [ 2.142832] usbcore: registered new interface driver ipw [ 2.148223] usbserial: USB Serial support registered for IPWireless converter [ 2.155506] usbcore: registered new interface driver option [ 2.161158] usbserial: USB Serial support registered for GSM modem (1-port) [ 2.168259] usbcore: registered new interface driver pl2303 [ 2.173936] usbserial: USB Serial support registered for pl2303 [ 2.179936] usbcore: registered new interface driver qcserial [ 2.185816] usbserial: USB Serial support registered for Qualcomm USB modem [ 2.195469] 47401300.usb-phy supply vcc not found, using dummy regulator [ 2.207888] 47401b00.usb-phy supply vcc not found, using dummy regulator [ 2.228646] mousedev: PS/2 mouse device common for all mice [ 2.234905] i2c /dev entries driver [ 2.240969] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec [ 2.259710] ISDN subsystem Rev: 1.1.2.3/[ 2.263596] 1.1.2.2/ 1.1.2.3/[ 2.266508] none/ 1.1.2.2[ 2.269061] [ 2.270704] Modular ISDN core version 1.1.29 [ 2.275396] NET: Registered protocol family 34 [ 2.279865] gigaset: Driver for Gigaset 307x [ 2.284188] gigaset: Kernel CAPI interface [ 2.290319] sdhci: Secure Digital Host Controller Interface driver [ 2.296623] random: fast init done [ 2.300053] sdhci: Copyright(c) Pierre Ossman [ 2.305847] omap_hsmmc 48060000.mmc: Got CD GPIO [ 2.312183] Synopsys Designware Multimedia Card Interface Driver [ 2.319137] VUB300 Driver rom wait states = 1C irqpoll timeout = 0400[ 2.326156] usbcore: registered new interface driver vub300 [ 2.332028] usbcore: registered new interface driver ushc [ 2.337835] sdhci-pltfm: SDHCI platform and OF driver helper [ 2.344352] ledtrig-cpu: registered to indicate activity on CPUs [ 2.350744] usbcore: registered new interface driver usbhid [ 2.356391] usbhid: USB HID core driver [ 2.362261] Netfilter messages via NETLINK v0.30. [ 2.367140] ip_set: protocol 6 [ 2.370501] ip_tables: (C) 2000-2006 Netfilter Core Team [ 2.375906] Initializing XFRM netlink socket [ 2.380914] NET: Registered protocol family 10 [ 2.387375] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 2.392927] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 2.400000] NET: Registered protocol family 17 [ 2.404566] NET: Registered protocol family 15 [ 2.409183] Bridge firewalling registered [ 2.413250] Ebtables v2.0 registered [ 2.416842] can: controller area network core (rev 20120528 abi 9) [ 2.423167] NET: Registered protocol family 29 [ 2.427719] can: raw protocol (rev 20120528) [ 2.432040] can: broadcast manager protocol (rev 20161123 t) [ 2.437738] can: netlink gateway (rev 20130117) max_hops=1 [ 2.443808] NET: Registered protocol family 36 [ 2.448318] Key type dns_resolver registered [ 2.452964] omap_voltage_late_init: Voltage driver support not added [ 2.466956] omap-gpmc 50000000.gpmc: GPMC revision 6.0 [ 2.472424] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000 [ 2.480947] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0x48 [ 2.487558] nand: Micron MT29F16G08ABACAWP [ 2.491681] nand: 2048 MiB, SLC, erase size: 512 KiB, page size: 4096, OOB size: 224 [ 2.499538] using OMAP_ECC_BCH16_CODE_HW ECC scheme [ 2.504667] 15 ofpart partitions found on MTD device omap2-nand.0 [ 2.510792] Creating 15 MTD partitions on "omap2-nand.0": [ 2.516302] 0x000000000000-0x000000080000 : "NAND.SPL" [ 2.523412] 0x000000080000-0x000000100000 : "NAND.SPL.backup1" [ 2.530958] 0x000000100000-0x000000180000 : "NAND.SPL.backup2" [ 2.538584] 0x000000180000-0x000000200000 : "NAND.SPL.backup3" [ 2.546241] 0x000000200000-0x000000280000 : "NAND.kernel-fdt" [ 2.553532] 0x000000280000-0x000000380000 : "NAND.u-boot" [ 2.560511] 0x000000380000-0x000000400000 : "NAND.u-boot-env" [ 2.567916] 0x000000400000-0x000000e00000 : "Primary kernel" [ 2.575900] 0x000000e00000-0x000001800000 : "Secondary kernel" [ 2.583998] 0x000001800000-0x000003000000 : "Primary rootfs" [ 2.592928] 0x000003000000-0x000004800000 : "Secondary rootfs" [ 2.602005] 0x000004800000-0x000004e00000 : "Primary user configuration" [ 2.610715] 0x000004e00000-0x000005400000 : "Secondary user configuration" [ 2.619541] 0x000005400000-0x000005a00000 : "Factory default configuration" [ 2.628529] 0x000005a00000-0x000080000000 : "Storage" [ 2.791989] tps65910 0-002d: No interrupt support, no core IRQ [ 2.800187] vrtc: supplied by vbat [ 2.808034] vio: supplied by vbat [ 2.813109] vdd1: supplied by vbat [ 2.818598] vdd2: supplied by vbat [ 2.825571] vdig1: supplied by vbat [ 2.830618] vdig2: supplied by vbat [ 2.835761] vpll: supplied by vbat [ 2.840731] vdac: supplied by vbat [ 2.845755] vaux1: supplied by vbat [ 2.850868] vaux2: supplied by vbat [ 2.855971] vaux33: supplied by vbat [ 2.861102] vmmc: supplied by vbat [ 2.866150] vbb: supplied by vbat [ 2.870933] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz [ 2.886658] musb-hdrc musb-hdrc.0: MUSB HDRC host driver [ 2.892469] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1 [ 2.900232] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 2.907107] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.914429] usb usb1: Product: MUSB HDRC host driver [ 2.919421] usb usb1: Manufacturer: Linux 4.9.59 musb-hcd [ 2.924904] usb usb1: SerialNumber: musb-hdrc.0 [ 2.930446] hub 1-0:1.0: USB hub found [ 2.934368] hub 1-0:1.0: 1 port detected [ 2.948941] musb-hdrc musb-hdrc.1: MUSB HDRC host driver [ 2.954786] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2 [ 2.962530] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 2.969408] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.976698] usb usb2: Product: MUSB HDRC host driver [ 2.981688] usb usb2: Manufacturer: Linux 4.9.59 musb-hcd [ 2.987170] usb usb2: SerialNumber: musb-hdrc.1 [ 2.992646] hub 2-0:1.0: USB hub found [ 2.996469] hub 2-0:1.0: 1 port detected [ 3.003334] omap_hsmmc 48060000.mmc: Got CD GPIO [ 3.062984] hctosys: unable to open rtc device (rtc0) [ 3.068741] lis3_reg: disabling [ 3.072048] mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz [ 3.083248] RAMDISK: gzip image found at block 0 [ 5.445712] EXT4-fs (ram0): mounted filesystem without journal. Opts: (null) [ 5.453270] VFS: Mounted root (ext4 filesystem) on device 1:0. [ 5.459949] devtmpfs: mounted [ 5.465185] Freeing unused kernel memory: 1024K Bad inittab entry at line 2 [ 6.362525] jffs2: notice: (102) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. / # The framebuffer device was opened successfully. 800x480, 32bpp The framebuffer device was mapped to memory successfully. / # ifconfig eth0 up [ 22.907420] net eth0: initializing cpsw version 1.12 (0) [ 22.956521] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4 [ 22.964924] cpsw 4a100000.ethernet: ALE Table size 1024 [ 23.071958] Micrel KSZ886X Switch 4a101000.mdio:03: attached PHY driver [Micrel KSZ886X Switch] (mii_bus:phy_addr=4a101000.mdio:03, irq=-1) [ 23.087880] cpts ptp bc clkid 0 [ 23.102989] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready / # / # / # ifconfig eth1 up [ 37.010811] net eth1: initializing cpsw version 1.12 (0) [ 37.171982] Micrel KSZ886X Switch 4a101000.mdio:02: attached PHY driver [Micrel KSZ886X Switch] (mii_bus:phy_addr=4a101000.mdio:02, irq=-1) [ 37.190219] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready / # [ 39.282576] cpsw 4a100000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx [ 39.290789] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready / # / # ifconfig eth1 192.168.1.10 / # / # / # ifconfig eth0 Link encap:Ethernet HWaddr 04:79:B7:96:D3:4A UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:178 eth1 Link encap:Ethernet HWaddr 04:79:B7:96:D3:4C inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::679:b7ff:fe96:d34c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:7 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:578 (578.0 B) / # ping 192.168.1.5 PING 192.168.1.5 (192.168.1.5): 56 data bytes ^C --- 192.168.1.5 ping statistics --- 7 packets transmitted, 0 packets received, 100% packet loss / # / # / # ping 192.168.1.5 PING 192.168.1.5 (192.168.1.5): 56 data bytes ^C --- 192.168.1.5 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss / # [ 71.522386] cpsw 4a100000.ethernet eth1: Link is Down [ 72.002532] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx [ 72.010704] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready / # ifconfig eth0 Link encap:Ethernet HWaddr 04:79:B7:96:D3:4A inet6 addr: fe80::679:b7ff:fe96:d34a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:508 (508.0 B) Interrupt:178 eth1 Link encap:Ethernet HWaddr 04:79:B7:96:D3:4C inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::679:b7ff:fe96:d34c/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:1258 (1.2 KiB) / # ifconfig eth1 down / # ifconfig eth0 192.168.1.99 / # ping 192.168.1.5 PING 192.168.1.5 (192.168.1.5): 56 data bytes 64 bytes from 192.168.1.5: seq=0 ttl=64 time=5.474 ms 64 bytes from 192.168.1.5: seq=1 ttl=64 time=1.852 ms 64 bytes from 192.168.1.5: seq=2 ttl=64 time=4.615 ms ^C --- 192.168.1.5 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 1.852/3.980/5.474 ms / # [ 133.118999] random: crng init done / # / # ifconfig eth0 Link encap:Ethernet HWaddr 04:79:B7:96:D3:4A inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::679:b7ff:fe96:d34a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:17 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:939 (939.0 B) TX bytes:1342 (1.3 KiB) Interrupt:178 / # ifconfig -a can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:166 can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:167 eth0 Link encap:Ethernet HWaddr 04:79:B7:96:D3:4A inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::679:b7ff:fe96:d34a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:17 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:939 (939.0 B) TX bytes:1342 (1.3 KiB) Interrupt:178 eth1 Link encap:Ethernet HWaddr 04:79:B7:96:D3:4C inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:1258 (1.2 KiB) lo Link encap:Local Loopback LOOPBACK MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
/* * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ /dts-v1/; #include "am33xx.dtsi" #include <dt-bindings/pwm/pwm.h> #include <dt-bindings/interrupt-controller/irq.h> / { model = "TI AM335x EVM"; compatible = "ti,am335x-evm", "ti,am33xx"; cpus { cpu@0 { cpu0-supply = <&vdd1_reg>; }; }; memory@80000000 { device_type = "memory"; /* +++ Seamus,512MB DDR ,20190318 ---*/ /*reg = <0x80000000 0x10000000>;*/ /* 256 MB */ reg = <0x80000000 0x20000000>; /* 512 MB */ /* --- Seamus,ramdisk ,20190318 ---*/ }; /* +++ Seamus,512MB DDR ,20190318 ---*/ chosen { bootargs = "console=ttyS0,115200n8 root=/dev/ram0"; }; /* --- Seamus,ramdisk ,20190318 ---*/ vbat: fixedregulator0 { compatible = "regulator-fixed"; regulator-name = "vbat"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; lis3_reg: fixedregulator1 { compatible = "regulator-fixed"; regulator-name = "lis3_reg"; regulator-boot-on; }; #if 1 lcd_bl: backlight { compatible = "pwm-backlight"; pwms = <&ecap2 0 50000 PWM_POLARITY_INVERTED>; brightness-levels = <0 51 53 56 62 75 101 152 255>; default-brightness-level = <8>; }; panel { compatible = "ti,tilcdc,panel"; status = "okay"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&lcd_pins_s0>; pinctrl-1 = <&lcd_pins_sleep>; backlight = <&lcd_bl>; panel-info { ac-bias = <255>; ac-bias-intrpt = <0>; dma-burst-sz = <16>; bpp = <32>; fdd = <0x80>; sync-edge = <0>; sync-ctrl = <1>; raster-order = <0>; fifo-th = <0>; }; display-timings { 800x480 { clock-frequency = <30000000>; hactive = <800>; vactive = <480>; hfront-porch = <56>; hback-porch = <4>; hsync-len = <12>; vback-porch = <21>; vfront-porch = <16>; vsync-len = <3>; hsync-active = <0>; vsync-active = <0>; }; }; }; #endif }; /* +++ Seamus,Pinmux ,20190318 +++*/ &am33xx_pinmux { pinctrl-names = "default"; pinctrl-0 = <&InitialGPIO &clkout2_pin>; InitialGPIO: InitialGPIO { pinctrl-single,pins = < AM33XX_IOPAD(0x88C, PIN_OUTPUT | MUX_MODE7) /* GPMC_CLK.GPIO2_1 */ AM33XX_IOPAD(0x880, PIN_OUTPUT | MUX_MODE7) /* GPMC_CSn1.GPIO1_30 */ AM33XX_IOPAD(0x840, PIN_OUTPUT | MUX_MODE7) /* GPMC_A0.GPIO1_16 */ AM33XX_IOPAD(0x84C, PIN_OUTPUT | MUX_MODE7) /* GPMC_A3.GPIO1_19 */ AM33XX_IOPAD(0x850, PIN_OUTPUT | MUX_MODE7) /* GPMC_A4.GPIO1_20 */ AM33XX_IOPAD(0x858, PIN_OUTPUT | MUX_MODE7) /* GPMC_A6.GPIO1_22 */ AM33XX_IOPAD(0x85C, PIN_INPUT | MUX_MODE7) /* GPMC_A7.GPIO1_23 */ AM33XX_IOPAD(0x864, PIN_INPUT | MUX_MODE7) /* GPMC_A9.GPIO1_25 */ AM33XX_IOPAD(0x868, PIN_INPUT | MUX_MODE7) /* GPMC_A10.GPIO1_26 */ AM33XX_IOPAD(0x990, PIN_OUTPUT | MUX_MODE7) /* MCASP0_ACLKX.GPIO3_14 */ AM33XX_IOPAD(0x994, PIN_INPUT | MUX_MODE7) /* MCASP0_FSX.GPIO3_15 */ AM33XX_IOPAD(0x9AC, PIN_INPUT | MUX_MODE7) /* MCASP0_AHCLKX.GPIO3_21 */ AM33XX_IOPAD(0x9B0, PIN_INPUT_PULLDOWN | MUX_MODE7) /* XDMA_EVENT_INTR0.GPIO0_19 PLC_INTERUPT*/ AM33XX_IOPAD(0x9A0, PIN_OUTPUT | MUX_MODE7) /* MCASP0_ACLKR.GPIO3_18 */ AM33XX_IOPAD(0x9A4, PIN_OUTPUT | MUX_MODE7) /* MCASP0_FSR.GPIO3_19 */ AM33XX_IOPAD(0x998, PIN_OUTPUT | MUX_MODE7) /* MCASP0_AXR0.GPIO3_16 */ AM33XX_IOPAD(0x9A8, PIN_OUTPUT | MUX_MODE7) /* MCASP0_AXR1.GPIO3_20 */ AM33XX_IOPAD(0x938, PIN_INPUT | MUX_MODE7) /* MII1_RXD2.GPIO2_19*/ AM33XX_IOPAD(0x888, PIN_OUTPUT | MUX_MODE7) /* GPMC_CSn3.GPIO2_0*/ AM33XX_IOPAD(0x878, PIN_OUTPUT | MUX_MODE7) /* GPMC_ben1.GPIO1_28*/ AM33XX_IOPAD(0x884, PIN_OUTPUT | MUX_MODE7) /* GPMC_CSn2.GPIO1_31*/ AM33XX_IOPAD(0x848, PIN_OUTPUT | MUX_MODE7) /* GPMC_A2.GPIO1_18*/ >; }; i2c0_pins_default: i2c0_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* (C16) I2C0_SCL.I2C0_SCL */ AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* (C17) I2C0_SDA.I2C0_SDA */ >; }; uart0_pins_default: uart0_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* (E15) uart0_rxd.uart0_rxd */ AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (E16) uart0_txd.uart0_txd */ >; }; uart1_pins_default: uart1_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0) /* (D16) uart1_rxd.uart1_rxd */ AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (D15) uart1_txd.uart1_txd */ AM33XX_IOPAD(0x978, PIN_INPUT | MUX_MODE0) /* (D18) uart1_ctsn.uart1_ctsn */ AM33XX_IOPAD(0x97c, PIN_OUTPUT | MUX_MODE0) /* (D17) uart1_rtsn.uart1_rtsn */ >; }; uart2_pins_default: uart2_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE1) /* (K18) gmii1_txclk.uart2_rxd */ AM33XX_IOPAD(0x930, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (L18) gmii1_rxclk.uart2_txd */ >; }; uart3_pins_default: uart3_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE1) /* (L17) gmii1_rxd3.uart3_rxd */ AM33XX_IOPAD(0x964, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (C18) eCAP0_in_PWM0_out.uart3_txd */ >; }; uart5_pins_default: uart5_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x908, PIN_INPUT_PULLUP | MUX_MODE3) /* (H16) gmii1_col.uart5_rxd */ AM33XX_IOPAD(0x918, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* (J17) gmii1_rxdv.uart5_txd */ >; }; clkout2_pin: pinmux_clkout2_pin { pinctrl-single,pins = < AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */ >; }; ecap2_pins: backlight_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x99c, MUX_MODE4) /* mcasp0_ahclkr.ecap2_in_pwm2_out */ >; }; nandflash_pins_default: nandflash_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0) /* (T9) gpmc_ad7.gpmc_ad7 */ AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0) /* (R9) gpmc_ad6.gpmc_ad6 */ AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0) /* (V8) gpmc_ad5.gpmc_ad5 */ AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0) /* (U8) gpmc_ad4.gpmc_ad4 */ AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0) /* (T8) gpmc_ad3.gpmc_ad3 */ AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0) /* (R8) gpmc_ad2.gpmc_ad2 */ AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0) /* (V7) gpmc_ad1.gpmc_ad1 */ AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0) /* (U7) gpmc_ad0.gpmc_ad0 */ AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0) /* (T17) gpmc_wait0.gpmc_wait0 */ AM33XX_IOPAD(0x874, PIN_OUTPUT | MUX_MODE0) /* (U17) gpmc_wpn.gpmc_wpn */ AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0) /* (R7) gpmc_advn_ale.gpmc_advn_ale */ AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0) /* (T7) gpmc_oen_ren.gpmc_oen_ren */ AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0) /* (U6) gpmc_wen.gpmc_wen */ AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0) /* (T6) gpmc_be0n_cle.gpmc_be0n_cle */ AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0) /* (V6) gpmc_csn0.gpmc_csn0 */ >; }; /* Optional sleep pin settings. Must manually enter values in the below skeleton. */ nandflash_pins_sleep: nandflash_pins_sleep { pinctrl-single,pins = < AM33XX_IOPAD(0x81c,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (T9) gpmc_ad7.gpmc_ad7 */ AM33XX_IOPAD(0x818,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (R9) gpmc_ad6.gpmc_ad6 */ AM33XX_IOPAD(0x814,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (V8) gpmc_ad5.gpmc_ad5 */ AM33XX_IOPAD(0x810,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (U8) gpmc_ad4.gpmc_ad4 */ AM33XX_IOPAD(0x80c,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (T8) gpmc_ad3.gpmc_ad3 */ AM33XX_IOPAD(0x808,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (R8) gpmc_ad2.gpmc_ad2 */ AM33XX_IOPAD(0x804,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (V7) gpmc_ad1.gpmc_ad1 */ AM33XX_IOPAD(0x800,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (U7) gpmc_ad0.gpmc_ad0 */ AM33XX_IOPAD(0x870,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (T17) gpmc_wait0.gpmc_wait0 */ AM33XX_IOPAD(0x874,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (U17) gpmc_wpn.gpmc_wpn */ AM33XX_IOPAD(0x890,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (R7) gpmc_advn_ale.gpmc_advn_ale */ AM33XX_IOPAD(0x894,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (T7) gpmc_oen_ren.gpmc_oen_ren */ AM33XX_IOPAD(0x898,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (U6) gpmc_wen.gpmc_wen */ AM33XX_IOPAD(0x89c,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (T6) gpmc_be0n_cle.gpmc_be0n_cle */ AM33XX_IOPAD(0x87c,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (V6) gpmc_csn0.gpmc_csn0 */ >; }; cpsw_default: cpsw_default { pinctrl-single,pins = < AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* (H17) mii1_crs.rmii1_crs_dv */ AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE0) /* (H18) rmii1_refclk.rmii1_refclk */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* (L15) gmii1_rxd1.rmii1_rxd1 */ AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */ AM33XX_IOPAD(0x928, PIN_OUTPUT | MUX_MODE1) /* (K17) gmii1_txd0.rmii1_txd0 */ AM33XX_IOPAD(0x924, PIN_OUTPUT | MUX_MODE1) /* (K16) gmii1_txd1.rmii1_txd1 */ AM33XX_IOPAD(0x914, PIN_OUTPUT | MUX_MODE1) /* (J16) gmii1_txen.rmii1_txen */ >; }; /* Optional sleep pin settings. Must manually enter values in the below skeleton. */ cpsw_sleep: cpsw_sleep { pinctrl-single,pins = < AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (H17) gmii1_crs.rmii1_crs_dv */ AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (J16) gmii1_txen.rmii1_txen */ AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (K17) gmii1_txd0.rmii1_txd0 */ AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (K16) gmii1_txd1.rmii1_txd1 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M16) gmii1_rxd0.rmii1_rxd0 */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (L15) gmii1_rxd1.rmii1_rxd1 */ AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7) /* (H18) rmii1_refclk.rmii1_refclk */ AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7) /* mii1_rxerr.rmii1_rxerr */ >; }; davinci_mdio_default: davinci_mdio_default { pinctrl-single,pins = < AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* (M18) mdio_clk.mdio_clk */ AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | MUX_MODE0) /* (M17) mdio_data.mdio_data */ >; }; /* Optional sleep pin settings. Must manually enter values in the below skeleton. */ davinci_mdio_sleep: davinci_mdio_sleep { pinctrl-single,pins = < AM33XX_IOPAD(0x94c,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M18) mdio_clk.mdio_clk */ AM33XX_IOPAD(0x948,PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M17) mdio_data.mdio_data */ >; }; mmc1_pins: mmc1_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */ AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */ AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */ AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */ AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */ AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */ AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* (C15) spi0_cs1.mmc0_sdcd gpio0_6*/ >; }; dcan0_pins_default: dcan0_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE1) /* (K15) gmii1_txd2.dcan0_rx */ AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLUP | MUX_MODE1) /* (J18) gmii1_txd3.dcan0_tx */ >; }; dcan1_pins_default: dcan1_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x96c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (E17) uart0_rtsn.dcan1_rx */ AM33XX_IOPAD(0x968, PIN_OUTPUT_PULLUP | MUX_MODE2) /* (E18) uart0_ctsn.dcan1_tx */ >; }; spi0_pins_default: spi0_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */ AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */ AM33XX_IOPAD(0x958, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */ AM33XX_IOPAD(0x95c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */ >; }; lcd_pins_s0: lcd_pins_s0 { pinctrl-single,pins = < AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad8.lcd_data23 */ AM33XX_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad9.lcd_data22 */ AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad10.lcd_data21 */ AM33XX_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad11.lcd_data20 */ AM33XX_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad12.lcd_data19 */ AM33XX_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad13.lcd_data18 */ AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad14.lcd_data17 */ AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad15.lcd_data16 */ AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */ AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */ AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */ AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */ AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */ AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */ AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */ AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */ AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */ AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */ AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */ AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */ AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */ AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */ AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */ AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */ AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */ AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */ AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */ AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */ >; }; lcd_pins_sleep: lcd_pins_sleep { pinctrl-single,pins = < AM33XX_IOPAD(0x820, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad8.lcd_data23 */ AM33XX_IOPAD(0x824, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad9.lcd_data22 */ AM33XX_IOPAD(0x828, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.lcd_data21 */ AM33XX_IOPAD(0x82c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.lcd_data20 */ AM33XX_IOPAD(0x830, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad12.lcd_data19 */ AM33XX_IOPAD(0x834, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad13.lcd_data18 */ AM33XX_IOPAD(0x838, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad14.lcd_data17 */ AM33XX_IOPAD(0x83c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad15.lcd_data16 */ AM33XX_IOPAD(0x8a0, PULL_DISABLE | MUX_MODE7) /* lcd_data0.lcd_data0 */ AM33XX_IOPAD(0x8a4, PULL_DISABLE | MUX_MODE7) /* lcd_data1.lcd_data1 */ AM33XX_IOPAD(0x8a8, PULL_DISABLE | MUX_MODE7) /* lcd_data2.lcd_data2 */ AM33XX_IOPAD(0x8ac, PULL_DISABLE | MUX_MODE7) /* lcd_data3.lcd_data3 */ AM33XX_IOPAD(0x8b0, PULL_DISABLE | MUX_MODE7) /* lcd_data4.lcd_data4 */ AM33XX_IOPAD(0x8b4, PULL_DISABLE | MUX_MODE7) /* lcd_data5.lcd_data5 */ AM33XX_IOPAD(0x8b8, PULL_DISABLE | MUX_MODE7) /* lcd_data6.lcd_data6 */ AM33XX_IOPAD(0x8bc, PULL_DISABLE | MUX_MODE7) /* lcd_data7.lcd_data7 */ AM33XX_IOPAD(0x8c0, PULL_DISABLE | MUX_MODE7) /* lcd_data8.lcd_data8 */ AM33XX_IOPAD(0x8c4, PULL_DISABLE | MUX_MODE7) /* lcd_data9.lcd_data9 */ AM33XX_IOPAD(0x8c8, PULL_DISABLE | MUX_MODE7) /* lcd_data10.lcd_data10 */ AM33XX_IOPAD(0x8cc, PULL_DISABLE | MUX_MODE7) /* lcd_data11.lcd_data11 */ AM33XX_IOPAD(0x8d0, PULL_DISABLE | MUX_MODE7) /* lcd_data12.lcd_data12 */ AM33XX_IOPAD(0x8d4, PULL_DISABLE | MUX_MODE7) /* lcd_data13.lcd_data13 */ AM33XX_IOPAD(0x8d8, PULL_DISABLE | MUX_MODE7) /* lcd_data14.lcd_data14 */ AM33XX_IOPAD(0x8dc, PULL_DISABLE | MUX_MODE7) /* lcd_data15.lcd_data15 */ AM33XX_IOPAD(0x8e0, PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_vsync.lcd_vsync */ AM33XX_IOPAD(0x8e4, PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_hsync.lcd_hsync */ AM33XX_IOPAD(0x8e8, PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_pclk.lcd_pclk */ AM33XX_IOPAD(0x8ec, PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_ac_bias_en.lcd_ac_bias_en */ >; }; #if 0 ehrpwm1_pins: ehrpwm1_pins { pinctrl-single,pins = < 0x048 (PIN_OUTPUT | MUX_MODE6) /* GPMC_A2.eHRPWM1A */ >; }; #endif }; #if 0 &gpio2 { ti,no-reset-on-init; gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; }; &gpio2 { pinctrl-names = "default"; pinctrl-0 = <&gpio2_pins_default>; gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; #endif &gpio3 { ti,no-reset-on-init; gpios = <&gpio3 17 GPIO_ACTIVE_LOW>; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_default>; status = "okay"; }; &uart1 { pinctrl-names = "default"; pinctrl-0 = <&uart1_pins_default>; status = "okay"; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&uart2_pins_default>; status = "okay"; }; &uart3 { pinctrl-names = "default"; pinctrl-0 = <&uart3_pins_default>; status = "okay"; }; &uart5 { pinctrl-names = "default"; pinctrl-0 = <&uart5_pins_default>; status = "okay"; }; &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins_default>; status = "okay"; clock-frequency = <400000>; tps: tps@2d { reg = <0x2d>; }; }; &usb { status = "okay"; }; &usb_ctrl_mod { status = "okay"; }; &usb0_phy { status = "okay"; }; &usb1_phy { status = "okay"; }; &usb0 { status = "okay"; }; &usb1 { status = "okay"; dr_mode = "host"; }; &cppi41dma { status = "okay"; }; &elm { status = "okay"; }; &epwmss2 { status = "okay"; ecap2: ecap@48304100 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&ecap2_pins>; }; }; &gpmc { status = "okay"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&nandflash_pins_default>; pinctrl-1 = <&nandflash_pins_sleep>; /*ranges = <0 0 0x08000000 0x10000000>;*/ /* CS0: NAND */ ranges = <0 0 0x08000000 0x80000000>; /*+++ Seamus,NAND,20190318 ---*/ nand@0,0 { compatible = "ti,omap2-nand"; reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ interrupt-parent = <&gpmc>; interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ <1 IRQ_TYPE_NONE>; /* termcount */ rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ ti,nand-ecc-opt = "bch16"; ti,elm-id = <&elm>; nand-bus-width = <8>; gpmc,device-width = <1>; gpmc,sync-clk-ps = <0>; gpmc,cs-on-ns = <0>; gpmc,cs-rd-off-ns = <44>; gpmc,cs-wr-off-ns = <44>; gpmc,adv-on-ns = <6>; gpmc,adv-rd-off-ns = <34>; gpmc,adv-wr-off-ns = <44>; gpmc,we-on-ns = <0>; gpmc,we-off-ns = <40>; gpmc,oe-on-ns = <0>; gpmc,oe-off-ns = <54>; gpmc,access-ns = <64>; gpmc,rd-cycle-ns = <82>; gpmc,wr-cycle-ns = <82>; gpmc,wait-on-read = "true"; gpmc,wait-on-write = "true"; gpmc,bus-turnaround-ns = <0>; gpmc,cycle2cycle-delay-ns = <0>; gpmc,clk-activation-ns = <0>; gpmc,wait-monitoring-ns = <0>; gpmc,wr-access-ns = <40>; gpmc,wr-data-mux-bus-ns = <0>; /* MTD partition table */ /* All SPL-* partitions are sized to minimal length * which can be independently programmable. For * NAND flash this is equal to size of erase-block */ #address-cells = <1>; #size-cells = <1>; partition@0 { label = "NAND.SPL"; reg = <0x00000000 0x00080000>; /* 512KB */ }; partition@1 { label = "NAND.SPL.backup1"; reg = <0x00080000 0x00080000>; /* 512KB */ }; partition@2 { label = "NAND.SPL.backup2"; reg = <0x00100000 0x00080000>; /* 512KB */ }; partition@3 { label = "NAND.SPL.backup3"; reg = <0x00180000 0x00080000>; /* 512KB */ }; partition@4 { label = "NAND.kernel-fdt"; reg = <0x00200000 0x00080000>; /* 512KB */ }; partition@5 { label = "NAND.u-boot"; reg = <0x00280000 0x00100000>; /* 1MB */ }; partition@6 { label = "NAND.u-boot-env"; /* 512KB */ reg = <0x00380000 0x00080000>; }; partition@7 { label = "Primary kernel"; reg = <0x00400000 0x00A00000>; }; partition@8 { label = "Secondary kernel"; reg = <0x00E00000 0x00A00000>; }; partition@9 { label = "Primary rootfs"; reg = <0x01800000 0x01800000>; }; partition@10 { label = "Secondary rootfs"; reg = <0x03000000 0x01800000>; }; partition@11 { label = "Primary user configuration"; reg = <0x04800000 0x00600000>; }; partition@12 { label = "Secondary user configuration"; reg = <0x04E00000 0x00600000>; }; partition@13 { label = "Factory default configuration"; reg = <0x05400000 0x00600000>; }; partition@14 { label = "Storage"; reg = <0x05A00000 0x7A600000>; }; }; }; #include "tps65910.dtsi" #if 0 &mcasp1 { #sound-dai-cells = <0>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&mcasp1_pins>; pinctrl-1 = <&mcasp1_pins_sleep>; status = "okay"; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; /* 4 serializers */ serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 0 0 1 2 >; tx-num-evt = <32>; rx-num-evt = <32>; }; #endif &tps { vcc1-supply = <&vbat>; vcc2-supply = <&vbat>; vcc3-supply = <&vbat>; vcc4-supply = <&vbat>; vcc5-supply = <&vbat>; vcc6-supply = <&vbat>; vcc7-supply = <&vbat>; vccio-supply = <&vbat>; regulators { vrtc_reg: regulator@0 { regulator-always-on; }; vio_reg: regulator@1 { regulator-always-on; }; vdd1_reg: regulator@2 { /* VDD_MPU voltage limits 0.95V - 1.325V with +/-4% tolerance */ regulator-name = "vdd_mpu"; regulator-min-microvolt = <912500>; regulator-max-microvolt = <1378000>; regulator-boot-on; regulator-always-on; }; vdd2_reg: regulator@3 { /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ regulator-name = "vdd_core"; regulator-min-microvolt = <912500>; regulator-max-microvolt = <1150000>; regulator-boot-on; regulator-always-on; }; vdd3_reg: regulator@4 { regulator-always-on; }; vdig1_reg: regulator@5 { regulator-always-on; }; vdig2_reg: regulator@6 { regulator-always-on; }; vpll_reg: regulator@7 { regulator-always-on; }; vdac_reg: regulator@8 { regulator-always-on; }; vaux1_reg: regulator@9 { regulator-always-on; }; vaux2_reg: regulator@10 { regulator-always-on; }; vaux33_reg: regulator@11 { regulator-always-on; }; vmmc_reg: regulator@12 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; }; &mac { pinctrl-names = "default", "sleep"; pinctrl-0 = <&cpsw_default>; pinctrl-1 = <&cpsw_sleep>; dual_emac; status = "okay"; }; &davinci_mdio { pinctrl-names = "default", "sleep"; pinctrl-0 = <&davinci_mdio_default>; pinctrl-1 = <&davinci_mdio_sleep>; status = "okay"; }; &cpsw_emac0 { phy_id = <&davinci_mdio>, <3>; phy-mode = "rmii"; dual_emac_res_vlan = <2>; }; &cpsw_emac1 { phy_id = <&davinci_mdio>, <2>; phy-mode = "rmii"; dual_emac_res_vlan = <1>; }; &phy_sel { rmii-clock-ext = <1>; }; &tscadc { status = "okay"; tsc { ti,wires = <4>; ti,x-plate-resistance = <200>; ti,coordinate-readouts = <5>; ti,wire-config = <0x00 0x11 0x22 0x33>; ti,charge-delay = <0x400>; }; adc { ti,adc-channels = <4 5 6 7>; }; }; /* Miscro SD */ &mmc1 { status = "okay"; vmmc-supply = <&vmmc_reg>; bus-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; }; &sham { status = "okay"; }; &aes { status = "okay"; }; &wkup_m3_ipc { ti,scale-data-fw = "am335x-evm-scale-data.bin"; }; &dcan0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&dcan0_pins_default>; }; &dcan1 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&dcan1_pins_default>; }; #if 0 &epwmss1 { status = "okay"; ehrpwm1: pwm@48302200 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&ehrpwm1_pins>; }; }; #endif /* The QCA7000 acts as a SPI slave and uses Mode 3: CPOL=1, CPHA=1. SPI data width is 8 bit. The SPI CLK period should not be less than 83.3 ns The SPI should be used in burst mode, meaning that the chip select is held low during a complete SPI message. Note: The SPI lines between Host CPU and QCA7000 should be kept as short as possible. */ /* Green PHY (QCA7000) */ &spi0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&spi0_pins_default>; qca7000: ethernet@0 { reg = <0x0>; compatible = "qca,qca7000"; interrupt-parent = <&gpio0>; interrupts = <19 IRQ_TYPE_EDGE_RISING>; spi-cpha; spi-cpol; spi-max-frequency = <10000000>; status = "okay"; }; }; #if 1 &lcdc { status = "okay"; blue-and-red-wiring = "crossed"; }; #endif #if 0 &rtc { clocks = <&clk_32768_ck>, <&clkdiv32k_ick>; clock-names = "ext-clk", "int-clk"; }; &pruss_soc_bus { status = "okay"; pruss: pruss@0 { status = "okay"; }; }; &sgx { status = "okay"; }; #endif
Thanks