Перейти к содержанию
    

Добрый день! Подскажите в чем может быть проблема.

Собираю Линукс для ZynqMP Buildroot'ом. К Цинку подключена NAND, часть которой используется для загрузки.

Возникла необходимость оставшуюся часть памяти использовать приложением.

Для работы с NAND прописал настройки ядра:

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_ARASAN=y
# Bus devices
#
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=y
CONFIG_MTD_TESTS=m
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_OF_PARTS=y
#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_OOPS=y
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_UTIL=y
#
# Self-contained MTD device drivers
#
CONFIG_MTD_DATAFLASH=y
CONFIG_MTD_M25P80=y

Но драйвер NAND не загрузился. Вот лог загрузки и вывод dmesg|grep mtd -i и nand

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.0-xilinx-v2020.1 (zynq@ubuntu) (gcc version 9.3.0 (Buildroot 2020.08-298-g1ae3c88-dirty)) #1 SMP Thu Dec 17 07:41:15 PST 2020
[    0.000000] Machine model: xlnx,zynqmp
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x0000000068800000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 22 pages/cpu s49816 r8192 d32104 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 517120
[    0.000000] Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1776464K/2097152K available (11644K kernel code, 636K rwdata, 3596K rodata, 768K init, 320K bss, 58544K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x2a8/0x43c with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 30.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xdd67c8a60, max_idle_ns: 881590406601 ns
[    0.000004] sched_clock: 56 bits at 30MHz, resolution 33ns, wraps every 4398046511088ns
[    0.008253] Console: colour dummy device 80x25
[    0.012391] Calibrating delay loop (skipped), value calculated using timer frequency.. 60.00 BogoMIPS (lpj=120000)
[    0.022668] pid_max: default: 32768 minimum: 301
[    0.027360] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.034614] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.043212] ASID allocator initialised with 32768 entries
[    0.047805] rcu: Hierarchical SRCU implementation.
[    0.052730] EFI services will not be available.
[    0.057091] smp: Bringing up secondary CPUs ...
[    0.189232] Detected VIPT I-cache on CPU1
[    0.189265] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.189328] smp: Brought up 1 node, 2 CPUs
[    0.198253] SMP: Total of 2 processors activated.
[    0.202925] CPU features: detected: 32-bit EL0 Support
[    0.208029] CPU features: detected: CRC32 instructions
[    0.213162] CPU: All CPU(s) started at EL2
[    0.217205] alternatives: patching kernel code
[    0.222664] devtmpfs: initialized
[    0.228209] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.234595] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.246942] xor: measuring software checksum speed
[    0.285406]    8regs     :  2375.000 MB/sec
[    0.325435]    32regs    :  2725.000 MB/sec
[    0.365461]    arm64_neon:  2365.000 MB/sec
[    0.365499] xor: using function: 32regs (2725.000 MB/sec)
[    0.369412] pinctrl core: initialized pinctrl subsystem
[    0.375208] NET: Registered protocol family 16
[    0.379946] DMA: preallocated 256 KiB pool for atomic allocations
[    0.385042] audit: initializing netlink subsys (disabled)
[    0.390446] audit: type=2000 audit(0.344:1): state=initialized audit_enabled=0 res=1
[    0.398113] cpuidle: using governor menu
[    0.402073] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.430561] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.431619] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.438303] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.444945] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    1.528446] DRBG: Continuing without Jitter RNG
[    1.604442] raid6: neonx8   gen()  1539 MB/s
[    1.672499] raid6: neonx8   xor()  1459 MB/s
[    1.740562] raid6: neonx4   gen()  1477 MB/s
[    1.808625] raid6: neonx4   xor()  1411 MB/s
[    1.876667] raid6: neonx2   gen()  1125 MB/s
[    1.944753] raid6: neonx2   xor()  1165 MB/s
[    2.012849] raid6: neonx1   gen()   729 MB/s
[    2.080896] raid6: neonx1   xor()   877 MB/s
[    2.148929] raid6: int64x8  gen()  1181 MB/s
[    2.216997] raid6: int64x8  xor()   786 MB/s
[    2.285089] raid6: int64x4  gen()   976 MB/s
[    2.353131] raid6: int64x4  xor()   729 MB/s
[    2.421243] raid6: int64x2  gen()   676 MB/s
[    2.489268] raid6: int64x2  xor()   592 MB/s
[    2.557397] raid6: int64x1  gen()   449 MB/s
[    2.625379] raid6: int64x1  xor()   481 MB/s
[    2.625417] raid6: using algorithm neonx8 gen() 1539 MB/s
[    2.629365] raid6: .... xor() 1459 MB/s, rmw enabled
[    2.634303] raid6: using neon recovery algorithm
[    2.639330] iommu: Default domain type: Translated
[    2.643961] SCSI subsystem initialized
[    2.647630] usbcore: registered new interface driver usbfs
[    2.652930] usbcore: registered new interface driver hub
[    2.658200] usbcore: registered new device driver usb
[    2.663253] mc: Linux media interface: v0.10
[    2.667452] videodev: Linux video capture interface: v2.00
[    2.672907] pps_core: LinuxPPS API ver. 1 registered
[    2.677811] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.686904] PTP clock support registered
[    2.690801] EDAC MC: Ver: 3.0.0
[    2.694373] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.702605] FPGA manager framework
[    2.705902] Advanced Linux Sound Architecture Driver Initialized.
[    2.712128] Bluetooth: Core ver 2.22
[    2.715366] NET: Registered protocol family 31
[    2.719765] Bluetooth: HCI device and connection manager initialized
[    2.726081] Bluetooth: HCI socket layer initialized
[    2.730923] Bluetooth: L2CAP socket layer initialized
[    2.735945] Bluetooth: SCO socket layer initialized
[    2.741091] clocksource: Switched to clocksource arch_sys_counter
[    2.746944] VFS: Disk quotas dquot_6.6.0
[    2.750773] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.761846] NET: Registered protocol family 2
[    2.762248] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    2.770398] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    2.778343] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    2.785725] TCP: Hash tables configured (established 16384 bind 16384)
[    2.792062] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    2.798690] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    2.805848] NET: Registered protocol family 1
[    2.810287] RPC: Registered named UNIX socket transport module.
[    2.815957] RPC: Registered udp transport module.
[    2.820630] RPC: Registered tcp transport module.
[    2.825294] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.831952] PCI: CLS 0 bytes, default 64
[    2.835688] Trying to unpack rootfs image as initramfs...
[    6.523704] Freeing initrd memory: 5300K
[    6.524067] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    6.529241] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    6.537730] Initialise system trusted keyrings
[    6.541277] workingset: timestamp_bits=62 max_order=19 bucket_order=0
[    6.548265] NFS: Registering the id_resolver key type
[    6.552632] Key type id_resolver registered
[    6.556766] Key type id_legacy registered
[    6.560750] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    6.567418] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    6.589041] NET: Registered protocol family 38
[    6.589100] Key type asymmetric registered
[    6.591905] Asymmetric key parser 'x509' registered
[    6.596792] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    6.604108] io scheduler mq-deadline registered
[    6.608607] io scheduler kyber registered
[    6.641589] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    6.645769] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    6.652791] brd: module loaded
[    6.656950] loop: module loaded
[    6.657867] mtdoops: mtd device (mtddev=name/number) must be supplied
[    6.662137] libphy: Fixed MDIO Bus: probed
[    6.666167] tun: Universal TUN/TAP device driver, 1.6
[    6.670270] CAN device driver interface
[    6.674842] usbcore: registered new interface driver asix
[    6.679245] usbcore: registered new interface driver ax88179_178a
[    6.685234] usbcore: registered new interface driver cdc_ether
[    6.691025] usbcore: registered new interface driver net1080
[    6.696648] usbcore: registered new interface driver cdc_subset
[    6.702530] usbcore: registered new interface driver zaurus
[    6.708078] usbcore: registered new interface driver cdc_ncm
[    6.714190] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.720156] ehci-pci: EHCI PCI platform driver
[    6.724841] usbcore: registered new interface driver uas
[    6.729874] usbcore: registered new interface driver usb-storage
[    6.736457] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    6.741063] i2c /dev entries driver
[    6.746138] usbcore: registered new interface driver uvcvideo
[    6.750170] USB Video Class driver (1.1.1)
[    6.754666] Bluetooth: HCI UART driver ver 2.3
[    6.758652] Bluetooth: HCI UART protocol H4 registered
[    6.763762] Bluetooth: HCI UART protocol BCSP registered
[    6.769046] Bluetooth: HCI UART protocol LL registered
[    6.774130] Bluetooth: HCI UART protocol ATH3K registered
[    6.779508] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    6.785760] Bluetooth: HCI UART protocol Intel registered
[    6.791100] Bluetooth: HCI UART protocol QCA registered
[    6.796306] usbcore: registered new interface driver bcm203x
[    6.801922] usbcore: registered new interface driver bpa10x
[    6.807463] usbcore: registered new interface driver bfusb
[    6.812910] usbcore: registered new interface driver btusb
[    6.818378] usbcore: registered new interface driver ath3k
[    6.823910] EDAC MC: ECC not enabled
[    6.827480] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    6.839918] sdhci: Secure Digital Host Controller Interface driver
[    6.845580] sdhci: Copyright(c) Pierre Ossman
[    6.849904] sdhci-pltfm: SDHCI platform and OF driver helper
[    6.855791] ledtrig-cpu: registered to indicate activity on CPUs
[    6.861698] zynqmp_firmware_probe Platform Management API v1.1
[    6.867296] zynqmp_firmware_probe Trustzone version v1.0
[    6.895715] securefw securefw: securefw probed
[    6.895882] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[    6.902819] zynqmp_aes zynqmp_aes: AES Successfully Registered
[    6.902819]
[    6.907780] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[    6.915888] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    6.921586] usbcore: registered new interface driver usbhid
[    6.924704] usbhid: USB HID core driver
[    6.930836] ARM CCI_400_r1 PMU driver probed
[    6.931310] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    6.939543] usbcore: registered new interface driver snd-usb-audio
[    6.946195] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    6.953114] Initializing XFRM netlink socket
[    6.957143] NET: Registered protocol family 10
[    6.961858] Segment Routing with IPv6
[    6.965207] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    6.971324] NET: Registered protocol family 17
[    6.975413] NET: Registered protocol family 15
[    6.979824] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    6.992816] can: controller area network core (rev 20170425 abi 9)
[    6.998885] NET: Registered protocol family 29
[    7.003254] can: raw protocol (rev 20170425)
[    7.007491] can: broadcast manager protocol (rev 20170425 t)
[    7.013116] can: netlink gateway (rev 20190810) max_hops=1
[    7.018627] Bluetooth: RFCOMM TTY layer initialized
[    7.023414] Bluetooth: RFCOMM socket layer initialized
[    7.028540] Bluetooth: RFCOMM ver 1.11
[    7.032235] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    7.037506] Bluetooth: BNEP filters: protocol multicast
[    7.042698] Bluetooth: BNEP socket layer initialized
[    7.047627] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    7.053513] Bluetooth: HIDP socket layer initialized
[    7.058567] 9pnet: Installing 9P2000 support
[    7.062696] Key type dns_resolver registered
[    7.067145] registered taskstats version 1
[    7.070986] Loading compiled-in X.509 certificates
[    7.076123] Btrfs loaded, crc32c=crc32c-generic
[    7.088647] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 39, base_baud = 6250000) is a xuartps
[    7.097671] printk: console [ttyPS0] enabled
[    7.097671] printk: console [ttyPS0] enabled
[    7.101966] printk: bootconsole [cdns0] disabled
[    7.101966] printk: bootconsole [cdns0] disabled
[    7.111308] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 40, base_baud = 6250000) is a xuartps
[    7.124719] of-fpga-region fpga-full: FPGA Region probed
[    7.131903] macb ff0c0000.ethernet: Not enabling partial store and forward
[    7.139355] libphy: MACB_mii_bus: probed
[    7.148333] Atheros 8031 ethernet ff0c0000.ethernet-ffffffff:02: attached PHY driver [Atheros 8031 ethernet] (mii_bus:phy_addr=ff0c0000.ethernet-ffffffff:02, irq=POLL)
[    7.163287] macb ff0c0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0c0000 irq 30 (00:0a:35:00:22:01)
[    7.173516] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    7.180041] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    7.186533] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    7.193019] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    7.199523] dwc3-of-simple ff9d0000.usb0: dwc3_simple_set_phydata: Can't find usb3-phy
[    7.207846] dwc3 fe200000.dwc3: Failed to get clk 'ref': -2
[    7.214207] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 32
[    7.220493] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1200000 KHz
[    7.227892] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1200000000 (-34)
[    7.236616] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1199999 KHz
[    7.245158] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1200000000 (-34)
[    7.256351] rtc_zynqmp ffa60000.rtc: setting system clock to 2103-10-29T22:23:58 UTC (4223139838)
[    7.265218] of_cfs_init
[    7.267678] of_cfs_init: OK
[    7.270586] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    7.413547] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    7.420079] clk: Not disabling unused clocks
[    7.424344] ALSA device list:
[    7.427300]   No soundcards found.
[    7.431057] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    7.439667] cfg80211: failed to load regulatory.db
[    7.444797] Freeing unused kernel memory: 768K
[    7.457118] Run /init as init process
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Saving random seed: [    7.511648] random: dd: uninitialized urandom read (512 bytes read)
OK
Starting haveged: haveged: command socket is listening at fd 3
OK
Starting network: [    7.556459] pps pps0: new PPS source ptp0
[    7.560499] macb ff0c0000.ethernet: gem-ptp-timer ptp clock registered.
OK
Starting dropbear sshd: OK
Starting tcf-agent: OK

Welcome to ARC Microwave Linux
arc-microwave login: [    8.460173] random: crng init done
[    9.609348] macb ff0c0000.ethernet eth0: link up (100/Full)
[    9.614944] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
root
Password:
# dmesg|grep mtd -i
[    6.657867] mtdoops: mtd device (mtddev=name/number) must be supplied
# dmesg|grep nand -i
[    6.567418] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
#

Собрал образ Petalinux'ом. Драйвер грузится.

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 4.19.0-xilinx-v2019.1 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Tue Dec 15 07:18:56 UTC 2020
[    0.000000] Machine model: xlnx,zynqmp
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] bootconsole [cdns0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x0000000068800000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] random: get_random_bytes called from start_kernel+0x94/0x3f8 with crng_init=0
[    0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s53656 r8192 d32360 u94208
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 517120
[    0.000000] Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] Memory: 1778128K/2097152K available (10812K kernel code, 636K rwdata, 5428K rodata, 832K init, 316K bss, 56880K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 30.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xdd67c8a60, max_idle_ns: 881590406601 ns
[    0.000003] sched_clock: 56 bits at 30MHz, resolution 33ns, wraps every 4398046511088ns
[    0.008197] Console: colour dummy device 80x25
[    0.012391] Calibrating delay loop (skipped), value calculated using timer frequency.. 60.00 BogoMIPS (lpj=120000)
[    0.022667] pid_max: default: 32768 minimum: 301
[    0.027353] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.033920] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.041771] ASID allocator initialised with 32768 entries
[    0.046422] rcu: Hierarchical SRCU implementation.
[    0.051391] EFI services will not be available.
[    0.055700] smp: Bringing up secondary CPUs ...
[    0.202613] Detected VIPT I-cache on CPU1
[    0.202644] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.202702] smp: Brought up 1 node, 2 CPUs
[    0.211625] SMP: Total of 2 processors activated.
[    0.216298] CPU features: detected: 32-bit EL0 Support
[    0.222951] CPU: All CPU(s) started at EL2
[    0.225474] alternatives: patching kernel code
[    0.230799] devtmpfs: initialized
[    0.236639] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.242862] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.253986] xor: measuring software checksum speed
[    0.292982]    8regs     :  2375.000 MB/sec
[    0.333011]    8regs_prefetch:  2052.000 MB/sec
[    0.373040]    32regs    :  2725.000 MB/sec
[    0.413069]    32regs_prefetch:  2309.000 MB/sec
[    0.413099] xor: using function: 32regs (2725.000 MB/sec)
[    0.417415] pinctrl core: initialized pinctrl subsystem
[    0.423278] NET: Registered protocol family 16
[    0.427247] audit: initializing netlink subsys (disabled)
[    0.432444] audit: type=2000 audit(0.396:1): state=initialized audit_enabled=0 res=1
[    0.440102] cpuidle: using governor menu
[    0.444069] vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
[    0.451322] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.458819] DMA: preallocated 256 KiB pool for atomic allocations
[    0.485706] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.552373] raid6: int64x1  gen()   444 MB/s
[    0.620350] raid6: int64x1  xor()   454 MB/s
[    0.688411] raid6: int64x2  gen()   680 MB/s
[    0.756470] raid6: int64x2  xor()   600 MB/s
[    0.824565] raid6: int64x4  gen()   981 MB/s
[    0.892612] raid6: int64x4  xor()   737 MB/s
[    0.960698] raid6: int64x8  gen()  1164 MB/s
[    1.028766] raid6: int64x8  xor()   760 MB/s
[    1.096840] raid6: neonx1   gen()   735 MB/s
[    1.164865] raid6: neonx1   xor()   880 MB/s
[    1.232982] raid6: neonx2   gen()  1128 MB/s
[    1.301001] raid6: neonx2   xor()  1169 MB/s
[    1.369074] raid6: neonx4   gen()  1478 MB/s
[    1.437148] raid6: neonx4   xor()  1414 MB/s
[    1.505226] raid6: neonx8   gen()  1539 MB/s
[    1.573280] raid6: neonx8   xor()  1452 MB/s
[    1.573307] raid6: using algorithm neonx8 gen() 1539 MB/s
[    1.577269] raid6: .... xor() 1452 MB/s, rmw enabled
[    1.582200] raid6: using neon recovery algorithm
[    1.587587] SCSI subsystem initialized
[    1.590681] usbcore: registered new interface driver usbfs
[    1.595987] usbcore: registered new interface driver hub
[    1.601260] usbcore: registered new device driver usb
[    1.606312] media: Linux media interface: v0.10
[    1.610771] videodev: Linux video capture interface: v2.00
[    1.616221] pps_core: LinuxPPS API ver. 1 registered
[    1.621126] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.630218] PTP clock support registered
[    1.634119] EDAC MC: Ver: 3.0.0
[    1.638395] zynqmp-ipi-mbox mailbox@ff990400: Probed ZynqMP IPI Mailbox driver.
[    1.644694] FPGA manager framework
[    1.648035] Advanced Linux Sound Architecture Driver Initialized.
[    1.654215] Bluetooth: Core ver 2.22
[    1.657475] NET: Registered protocol family 31
[    1.661869] Bluetooth: HCI device and connection manager initialized
[    1.668185] Bluetooth: HCI socket layer initialized
[    1.673027] Bluetooth: L2CAP socket layer initialized
[    1.678055] Bluetooth: SCO socket layer initialized
[    1.683306] clocksource: Switched to clocksource arch_sys_counter
[    1.689035] VFS: Disk quotas dquot_6.6.0
[    1.692872] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.706425] NET: Registered protocol family 2
[    1.706881] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes)
[    1.712965] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    1.720219] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[    1.726904] TCP: Hash tables configured (established 16384 bind 16384)
[    1.733240] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[    1.739176] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[    1.745643] NET: Registered protocol family 1
[    1.750091] RPC: Registered named UNIX socket transport module.
[    1.755752] RPC: Registered udp transport module.
[    1.760419] RPC: Registered tcp transport module.
[    1.765087] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.771849] Trying to unpack rootfs image as initramfs...
[    2.051014] Freeing initrd memory: 6464K
[    2.051377] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    2.056552] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    2.064999] Initialise system trusted keyrings
[    2.068602] workingset: timestamp_bits=62 max_order=19 bucket_order=0
[    2.075600] NFS: Registering the id_resolver key type
[    2.079933] Key type id_resolver registered
[    2.084075] Key type id_legacy registered
[    2.088059] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.094727] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    3.188440] NET: Registered protocol family 38
[    3.248254] Key type asymmetric registered
[    3.248283] Asymmetric key parser 'x509' registered
[    3.251608] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    3.258912] io scheduler noop registered
[    3.262802] io scheduler deadline registered
[    3.267077] io scheduler cfq registered (default)
[    3.271712] io scheduler mq-deadline registered
[    3.276208] io scheduler kyber registered
[    3.281219] xilinx-vdma a0004000.dma: failed to get axi_aclk (-517)
[    3.286451] xilinx-vdma a0005000.dma: failed to get axi_aclk (-517)
[    3.292674] xilinx-vdma a0003000.dma: failed to get axi_aclk (-517)
[    3.327134] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    3.331161] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    3.338487] brd: module loaded
[    3.342482] loop: module loaded
[    3.343362] mtdoops: mtd device (mtddev=name/number) must be supplied
[    3.347837] libphy: Fixed MDIO Bus: probed
[    3.351756] tun: Universal TUN/TAP device driver, 1.6
[    3.356380] CAN device driver interface
[    3.360321] usbcore: registered new interface driver asix
[    3.364754] usbcore: registered new interface driver ax88179_178a
[    3.370781] usbcore: registered new interface driver cdc_ether
[    3.376573] usbcore: registered new interface driver net1080
[    3.382195] usbcore: registered new interface driver cdc_subset
[    3.388078] usbcore: registered new interface driver zaurus
[    3.393623] usbcore: registered new interface driver cdc_ncm
[    3.399718] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.405702] ehci-pci: EHCI PCI platform driver
[    3.410383] usbcore: registered new interface driver uas
[    3.415422] usbcore: registered new interface driver usb-storage
[    3.421921] rtc_zynqmp ffa60000.rtc: rtc core: registered ffa60000.rtc as rtc0
[    3.428701] i2c /dev entries driver
[    3.433609] usbcore: registered new interface driver uvcvideo
[    3.437705] USB Video Class driver (1.1.1)
[    3.442225] Bluetooth: HCI UART driver ver 2.3
[    3.446191] Bluetooth: HCI UART protocol H4 registered
[    3.451292] Bluetooth: HCI UART protocol BCSP registered
[    3.456583] Bluetooth: HCI UART protocol LL registered
[    3.461665] Bluetooth: HCI UART protocol ATH3K registered
[    3.467046] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    3.473295] Bluetooth: HCI UART protocol Intel registered
[    3.478638] Bluetooth: HCI UART protocol QCA registered
[    3.483840] usbcore: registered new interface driver bcm203x
[    3.489458] usbcore: registered new interface driver bpa10x
[    3.494995] usbcore: registered new interface driver bfusb
[    3.500446] usbcore: registered new interface driver btusb
[    3.505867] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
[    3.511537] usbcore: registered new interface driver ath3k
[    3.517059] EDAC MC: ECC not enabled
[    3.520637] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    3.533186] sdhci: Secure Digital Host Controller Interface driver
[    3.538737] sdhci: Copyright(c) Pierre Ossman
[    3.543060] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.548927] ledtrig-cpu: registered to indicate activity on CPUs
[    3.554713] zynqmp_firmware_probe Platform Management API v1.1
[    3.560451] zynqmp_firmware_probe Trustzone version v1.0
[    3.587925] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[    3.587975] zynqmp_aes zynqmp_aes: AES Successfully Registered
[    3.587975]
[    3.595395] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[    3.601553] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    3.607094] usbcore: registered new interface driver usbhid
[    3.612437] usbhid: USB HID core driver
[    3.618503] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    3.623024] usbcore: registered new interface driver snd-usb-audio
[    3.629667] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    3.636603] Initializing XFRM netlink socket
[    3.640614] NET: Registered protocol family 10
[    3.645316] Segment Routing with IPv6
[    3.648673] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.654804] NET: Registered protocol family 17
[    3.658885] NET: Registered protocol family 15
[    3.663299] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.676212] can: controller area network core (rev 20170425 abi 9)
[    3.682368] NET: Registered protocol family 29
[    3.686732] can: raw protocol (rev 20170425)
[    3.690968] can: broadcast manager protocol (rev 20170425 t)
[    3.696592] can: netlink gateway (rev 20170425) max_hops=1
[    3.702099] Bluetooth: RFCOMM TTY layer initialized
[    3.706892] Bluetooth: RFCOMM socket layer initialized
[    3.711997] Bluetooth: RFCOMM ver 1.11
[    3.715716] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.720983] Bluetooth: BNEP filters: protocol multicast
[    3.726175] Bluetooth: BNEP socket layer initialized
[    3.731103] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    3.736987] Bluetooth: HIDP socket layer initialized
[    3.742028] 9pnet: Installing 9P2000 support
[    3.746173] Key type dns_resolver registered
[    3.750802] registered taskstats version 1
[    3.754464] Loading compiled-in X.509 certificates
[    3.759558] Btrfs loaded, crc32c=crc32c-generic
[    3.770190] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 39, base_baud =▒6250000) is a x▒&▒▒S▒▒▒Si▒▒k׋▒▒+W/▒*LWYX▒▒ed
[    3.779137] console [ttyPS0] enabled
[    3.782726] bootconsole [cdns0] disabled
[    3.782726] bootconsole [cdns0] disabled
[    3.790767] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 40, base_baud = 6250000) is a xuartps
[    3.803718] of-fpga-region fpga-full: FPGA Region probed
[    3.809482] xilinx-vdma a0004000.dma: Please ensure that IP supports buffer length > 23 bits
[    3.818005] xilinx-vdma a0004000.dma: Xilinx AXI DMA Engine Driver Probed!!
[    3.825043] xilinx-vdma a0005000.dma: Please ensure that IP supports buffer length > 23 bits
[    3.833555] xilinx-vdma a0005000.dma: Xilinx AXI DMA Engine Driver Probed!!
[    3.840588] xilinx-vdma a0003000.dma: Please ensure that IP supports buffer length > 23 bits
[    3.849089] xilinx-vdma a0003000.dma: Xilinx AXI DMA Engine Driver Probed!!
[    3.856283] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    3.863396] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    3.870502] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[    3.877607] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    3.884704] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[    3.891804] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[    3.898917] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[    3.906018] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[    3.913175] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    3.920275] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    3.927385] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    3.934487] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    3.941586] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    3.948686] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    3.955790] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    3.962898] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    3.970552] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
[    3.976907] nand: Micron MT29F8G08ABACAH4
[    3.980908] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
[    4.007061] Bad block table not found for chip 0
[    4.011725] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
[    4.036039] Bad block table not found for chip 0
[    4.040652] Scanning device for bad blocks
[    4.067036] random: fast init done

Не понятно почему драйвер не грузится в образе собранном в Buildroot. device tree и конфиг ядра  buildroot и petalinux используют одинаковые (из petalinux). В Petalinux версия ядра 4.19, в Buildroot - 5.4.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, gosha-z said:

DT посмотреть бы

DT

/dts-v1/;

/ {
	compatible = "xlnx,zynqmp";
	#address-cells = <0x2>;
	#size-cells = <0x2>;

	cpus {
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		cpu@0 {
			compatible = "arm,cortex-a53", "arm,armv8";
			device_type = "cpu";
			enable-method = "psci";
			operating-points-v2 = <0x1>;
			reg = <0x0>;
			cpu-idle-states = <0x2>;
			clocks = <0x3 0xa>;
		};

		cpu@1 {
			compatible = "arm,cortex-a53", "arm,armv8";
			device_type = "cpu";
			enable-method = "psci";
			reg = <0x1>;
			operating-points-v2 = <0x1>;
			cpu-idle-states = <0x2>;
		};

		idle-states {
			entry-method = "arm,psci";

			cpu-sleep-0 {
				compatible = "arm,idle-state";
				arm,psci-suspend-param = <0x40000000>;
				local-timer-stop;
				entry-latency-us = <0x12c>;
				exit-latency-us = <0x258>;
				min-residency-us = <0x2710>;
				phandle = <0x2>;
			};
		};
	};

	cpu_opp_table {
		compatible = "operating-points-v2";
		opp-shared;
		phandle = <0x1>;

		opp00 {
			opp-hz = <0x0 0x47868bf4>;
			opp-microvolt = <0xf4240>;
			clock-latency-ns = <0x7a120>;
		};

		opp01 {
			opp-hz = <0x0 0x23c345fa>;
			opp-microvolt = <0xf4240>;
			clock-latency-ns = <0x7a120>;
		};

		opp02 {
			opp-hz = <0x0 0x17d783fc>;
			opp-microvolt = <0xf4240>;
			clock-latency-ns = <0x7a120>;
		};

		opp03 {
			opp-hz = <0x0 0x11e1a2fd>;
			opp-microvolt = <0xf4240>;
			clock-latency-ns = <0x7a120>;
		};
	};

	dcc {
		compatible = "arm,dcc";
		status = "disabled";
		u-boot,dm-pre-reloc;
	};

	zynqmp_ipi {
		compatible = "xlnx,zynqmp-ipi-mailbox";
		interrupt-parent = <0x4>;
		interrupts = <0x0 0x23 0x4>;
		xlnx,ipi-id = <0x0>;
		#address-cells = <0x2>;
		#size-cells = <0x2>;
		ranges;

		mailbox@ff990400 {
			reg = <0x0 0xff9905c0 0x0 0x20 0x0 0xff9905e0 0x0 0x20 0x0 0xff990e80 0x0 0x20 0x0 0xff990ea0 0x0 0x20>;
			reg-names = "local_request_region", "local_response_region", "remote_request_region", "remote_response_region";
			#mbox-cells = <0x1>;
			xlnx,ipi-id = <0x4>;
			phandle = <0x5>;
		};
	};

	pmu {
		compatible = "arm,armv8-pmuv3";
		interrupt-parent = <0x4>;
		interrupts = <0x0 0x8f 0x4 0x0 0x90 0x4 0x0 0x91 0x4 0x0 0x92 0x4>;
	};

	psci {
		compatible = "arm,psci-0.2";
		method = "smc";
	};

	firmware {

		zynqmp-firmware {
			compatible = "xlnx,zynqmp-firmware";
			u-boot,dm-pre-reloc;
			method = "smc";
			#power-domain-cells = <0x1>;
			phandle = <0xc>;

			zynqmp-power {
				compatible = "xlnx,zynqmp-power";
				interrupt-parent = <0x4>;
				interrupts = <0x0 0x23 0x4>;
				mboxes = <0x5 0x0 0x5 0x1>;
				mbox-names = "tx", "rx";
			};

			reset-controller {
				compatible = "xlnx,zynqmp-reset";
				#reset-cells = <0x1>;
				phandle = <0x11>;
			};

			pinctrl {
				compatible = "xlnx,zynqmp-pinctrl";
				status = "disabled";
			};

			clock-controller {
				u-boot,dm-pre-reloc;
				#clock-cells = <0x1>;
				compatible = "xlnx,zynqmp-clk";
				clocks = <0x6 0x7 0x8 0x9 0xa>;
				clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk", "aux_ref_clk", "gt_crx_ref_clk";
				phandle = <0x3>;
			};
		};
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupt-parent = <0x4>;
		interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>;
	};

	edac {
		compatible = "arm,cortex-a53-edac";
	};

	fpga-full {
		compatible = "fpga-region";
		fpga-mgr = <0xb>;
		#address-cells = <0x2>;
		#size-cells = <0x2>;
	};

	nvmem_firmware {
		compatible = "xlnx,zynqmp-nvmem-fw";
		#address-cells = <0x1>;
		#size-cells = <0x1>;

		soc_revision@0 {
			reg = <0x0 0x4>;
			phandle = <0x10>;
		};

		efuse_dna@c {
			reg = <0xc 0xc>;
		};

		efuse_usr0@20 {
			reg = <0x20 0x4>;
		};

		efuse_usr1@24 {
			reg = <0x24 0x4>;
		};

		efuse_usr2@28 {
			reg = <0x28 0x4>;
		};

		efuse_usr3@2c {
			reg = <0x2c 0x4>;
		};

		efuse_usr4@30 {
			reg = <0x30 0x4>;
		};

		efuse_usr5@34 {
			reg = <0x34 0x4>;
		};

		efuse_usr6@38 {
			reg = <0x38 0x4>;
		};

		efuse_usr7@3c {
			reg = <0x3c 0x4>;
		};

		efuse_miscusr@40 {
			reg = <0x40 0x4>;
		};

		efuse_chash@50 {
			reg = <0x50 0x4>;
		};

		efuse_pufmisc@54 {
			reg = <0x54 0x4>;
		};

		efuse_sec@58 {
			reg = <0x58 0x4>;
		};

		efuse_spkid@5c {
			reg = <0x5c 0x4>;
		};

		efuse_ppk0hash@a0 {
			reg = <0xa0 0x30>;
		};

		efuse_ppk1hash@d0 {
			reg = <0xd0 0x30>;
		};
	};

	pcap {
		compatible = "xlnx,zynqmp-pcap-fpga";
		clock-names = "ref_clk";
		clocks = <0x3 0x29>;
		phandle = <0xb>;
	};

	zynqmp_rsa {
		compatible = "xlnx,zynqmp-rsa";
	};

	sha384 {
		compatible = "xlnx,zynqmp-keccak-384";
	};

	zynqmp_aes {
		compatible = "xlnx,zynqmp-aes";
	};

	amba_apu@0 {
		compatible = "simple-bus";
		#address-cells = <0x2>;
		#size-cells = <0x1>;
		ranges = <0x0 0x0 0x0 0x0 0xffffffff>;

		interrupt-controller@f9010000 {
			compatible = "arm,gic-400", "arm,cortex-a15-gic";
			#interrupt-cells = <0x3>;
			reg = <0x0 0xf9010000 0x10000 0x0 0xf9020000 0x20000 0x0 0xf9040000 0x20000 0x0 0xf9060000 0x20000>;
			interrupt-controller;
			interrupt-parent = <0x4>;
			interrupts = <0x1 0x9 0xf04>;
			num_cpus = <0x2>;
			num_interrupts = <0x60>;
			phandle = <0x4>;
		};
	};

	smmu@fd800000 {
		compatible = "arm,mmu-500";
		reg = <0x0 0xfd800000 0x0 0x20000>;
		#iommu-cells = <0x1>;
		status = "disabled";
		#global-interrupts = <0x1>;
		interrupt-parent = <0x4>;
		interrupts = <0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4>;
		phandle = <0xd>;
	};

	amba {
		compatible = "simple-bus";
		u-boot,dm-pre-reloc;
		#address-cells = <0x2>;
		#size-cells = <0x2>;
		ranges;

		can@ff060000 {
			compatible = "xlnx,zynq-can-1.0";
			status = "disabled";
			clock-names = "can_clk", "pclk";
			reg = <0x0 0xff060000 0x0 0x1000>;
			interrupts = <0x0 0x17 0x4>;
			interrupt-parent = <0x4>;
			tx-fifo-depth = <0x40>;
			rx-fifo-depth = <0x40>;
			power-domains = <0xc 0x2f>;
			clocks = <0x3 0x3f 0x3 0x1f>;
		};

		can@ff070000 {
			compatible = "xlnx,zynq-can-1.0";
			status = "disabled";
			clock-names = "can_clk", "pclk";
			reg = <0x0 0xff070000 0x0 0x1000>;
			interrupts = <0x0 0x18 0x4>;
			interrupt-parent = <0x4>;
			tx-fifo-depth = <0x40>;
			rx-fifo-depth = <0x40>;
			power-domains = <0xc 0x30>;
			clocks = <0x3 0x40 0x3 0x1f>;
		};

		cci@fd6e0000 {
			compatible = "arm,cci-400";
			reg = <0x0 0xfd6e0000 0x0 0x9000>;
			ranges = <0x0 0x0 0xfd6e0000 0x10000>;
			#address-cells = <0x1>;
			#size-cells = <0x1>;

			pmu@9000 {
				compatible = "arm,cci-400-pmu,r1";
				reg = <0x9000 0x5000>;
				interrupt-parent = <0x4>;
				interrupts = <0x0 0x7b 0x4 0x0 0x7b 0x4 0x0 0x7b 0x4 0x0 0x7b 0x4 0x0 0x7b 0x4>;
			};
		};

		dma@fd500000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd500000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7c 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14e8>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		dma@fd510000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd510000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7d 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14e9>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		dma@fd520000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd520000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7e 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ea>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		dma@fd530000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd530000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7f 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14eb>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		dma@fd540000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd540000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x80 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ec>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		dma@fd550000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd550000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x81 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ed>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		dma@fd560000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd560000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x82 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ee>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		dma@fd570000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd570000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x83 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ef>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
		};

		gpu@fd4b0000 {
			status = "disabled";
			compatible = "arm,mali-400", "arm,mali-utgard";
			reg = <0x0 0xfd4b0000 0x0 0x10000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4>;
			interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1";
			clock-names = "gpu", "gpu_pp0", "gpu_pp1";
			power-domains = <0xc 0x3a>;
			clocks = <0x3 0x18 0x3 0x19 0x3 0x1a>;
		};

		dma@ffa80000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffa80000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x4d 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		dma@ffa90000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffa90000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x4e 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		dma@ffaa0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffaa0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x4f 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		dma@ffab0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffab0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x50 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		dma@ffac0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffac0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x51 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		dma@ffad0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffad0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x52 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		dma@ffae0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffae0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x53 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		dma@ffaf0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffaf0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x54 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
		};

		memory-controller@fd070000 {
			compatible = "xlnx,zynqmp-ddrc-2.40a";
			reg = <0x0 0xfd070000 0x0 0x30000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x70 0x4>;
		};

		nand@ff100000 {
			compatible = "arasan,nfc-v3p10";
			status = "okay";
			reg = <0x0 0xff100000 0x0 0x1000>;
			clock-names = "clk_sys", "clk_flash";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0xe 0x4>;
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x872>;
			power-domains = <0xc 0x2c>;
			clocks = <0x3 0x3c 0x3 0x1f>;

			partition@0x00000000 {
				label = "boot";
				reg = <0x0 0x40000>;
			};

			partition@0x00040000 {
				label = "bootenv";
				reg = <0x40000 0x20000>;
			};

			partition@0x00060000 {
				label = "kernel";
				reg = <0x60000 0x600000>;
			};
		};

		ethernet@ff0b0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x39 0x4 0x0 0x39 0x4>;
			reg = <0x0 0xff0b0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x874>;
			power-domains = <0xc 0x1d>;
			clocks = <0x3 0x1f 0x3 0x68 0x3 0x2d 0x3 0x31 0x3 0x2c>;
		};

		ethernet@ff0c0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x3b 0x4 0x0 0x3b 0x4>;
			reg = <0x0 0xff0c0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x875>;
			power-domains = <0xc 0x1e>;
			clocks = <0x3 0x1f 0x3 0x69 0x3 0x2e 0x3 0x32 0x3 0x2c>;
			phy-mode = "rgmii-id";
			xlnx,ptp-enet-clock = <0x0>;
			local-mac-address = [00 0a 35 00 22 01];
		};

		ethernet@ff0d0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x3d 0x4 0x0 0x3d 0x4>;
			reg = <0x0 0xff0d0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x876>;
			power-domains = <0xc 0x1f>;
			clocks = <0x3 0x1f 0x3 0x6a 0x3 0x2f 0x3 0x33 0x3 0x2c>;
		};

		ethernet@ff0e0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>;
			reg = <0x0 0xff0e0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x877>;
			power-domains = <0xc 0x20>;
			clocks = <0x3 0x1f 0x3 0x6b 0x3 0x30 0x3 0x34 0x3 0x2c>;
		};

		gpio@ff0a0000 {
			compatible = "xlnx,zynqmp-gpio-1.0";
			status = "okay";
			#gpio-cells = <0x2>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x10 0x4>;
			interrupt-controller;
			#interrupt-cells = <0x2>;
			reg = <0x0 0xff0a0000 0x0 0x1000>;
			gpio-controller;
			power-domains = <0xc 0x2e>;
			clocks = <0x3 0x1f>;
			emio-gpio-width = <0x20>;
			gpio-mask-high = <0x0>;
			gpio-mask-low = <0x5600>;
		};

		i2c@ff020000 {
			compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x11 0x4>;
			reg = <0x0 0xff020000 0x0 0x1000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x25>;
			clocks = <0x3 0x3d>;
			clock-frequency = <0x61a80>;
		};

		i2c@ff030000 {
			compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x12 0x4>;
			reg = <0x0 0xff030000 0x0 0x1000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x26>;
			clocks = <0x3 0x3e>;
		};

		memory-controller@ff960000 {
			compatible = "xlnx,zynqmp-ocmc-1.0";
			reg = <0x0 0xff960000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0xa 0x4>;
		};

		perf-monitor@ffa00000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xffa00000 0x0 0x10000>;
			interrupts = <0x0 0x19 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x1>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x1>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0x8>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1f>;
		};

		perf-monitor@fd0b0000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xfd0b0000 0x0 0x10000>;
			interrupts = <0x0 0x7b 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x6>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x0>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0xa>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1c>;
		};

		perf-monitor@fd490000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xfd490000 0x0 0x10000>;
			interrupts = <0x0 0x7b 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x1>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x0>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0x8>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1c>;
		};

		perf-monitor@ffa10000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xffa10000 0x0 0x10000>;
			interrupts = <0x0 0x19 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x1>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x1>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0x8>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1f>;
		};

		pcie@fd0e0000 {
			compatible = "xlnx,nwl-pcie-2.11";
			status = "disabled";
			#address-cells = <0x3>;
			#size-cells = <0x2>;
			#interrupt-cells = <0x1>;
			msi-controller;
			device_type = "pci";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x76 0x4 0x0 0x75 0x4 0x0 0x74 0x4 0x0 0x73 0x4 0x0 0x72 0x4>;
			interrupt-names = "misc", "dummy", "intx", "msi1", "msi0";
			msi-parent = <0xe>;
			reg = <0x0 0xfd0e0000 0x0 0x1000 0x0 0xfd480000 0x0 0x1000 0x80 0x0 0x0 0x1000000>;
			reg-names = "breg", "pcireg", "cfg";
			ranges = <0x2000000 0x0 0xe0000000 0x0 0xe0000000 0x0 0x10000000 0x43000000 0x6 0x0 0x6 0x0 0x2 0x0>;
			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
			bus-range = <0x0 0xff>;
			interrupt-map = <0x0 0x0 0x0 0x1 0xf 0x1 0x0 0x0 0x0 0x2 0xf 0x2 0x0 0x0 0x0 0x3 0xf 0x3 0x0 0x0 0x0 0x4 0xf 0x4>;
			power-domains = <0xc 0x3b>;
			clocks = <0x3 0x17>;
			phandle = <0xe>;

			legacy-interrupt-controller {
				interrupt-controller;
				#address-cells = <0x0>;
				#interrupt-cells = <0x1>;
				phandle = <0xf>;
			};
		};

		spi@ff0f0000 {
			u-boot,dm-pre-reloc;
			compatible = "xlnx,zynqmp-qspi-1.0";
			status = "disabled";
			clock-names = "ref_clk", "pclk";
			interrupts = <0x0 0xf 0x4>;
			interrupt-parent = <0x4>;
			num-cs = <0x1>;
			reg = <0x0 0xff0f0000 0x0 0x1000 0x0 0xc0000000 0x0 0x8000000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x873>;
			power-domains = <0xc 0x2d>;
			clocks = <0x3 0x35 0x3 0x1f>;
		};

		rtc@ffa60000 {
			compatible = "xlnx,zynqmp-rtc";
			status = "okay";
			reg = <0x0 0xffa60000 0x0 0x100>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x1a 0x4 0x0 0x1b 0x4>;
			interrupt-names = "alarm", "sec";
			calibration = <0x8000>;
		};

		zynqmp_phy@fd400000 {
			compatible = "xlnx,zynqmp-psgtr-v1.1";
			status = "okay";
			reg = <0x0 0xfd400000 0x0 0x40000 0x0 0xfd3d0000 0x0 0x1000>;
			reg-names = "serdes", "siou";
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			resets = <0x11 0x10 0x11 0x3b 0x11 0x3c 0x11 0x3d 0x11 0x3e 0x11 0x3f 0x11 0x40 0x11 0x3 0x11 0x1d 0x11 0x1e 0x11 0x1f 0x11 0x20>;
			reset-names = "sata_rst", "usb0_crst", "usb1_crst", "usb0_hibrst", "usb1_hibrst", "usb0_apbrst", "usb1_apbrst", "dp_rst", "gem0_rst", "gem1_rst", "gem2_rst", "gem3_rst";

			lane0 {
				#phy-cells = <0x4>;
			};

			lane1 {
				#phy-cells = <0x4>;
			};

			lane2 {
				#phy-cells = <0x4>;
			};

			lane3 {
				#phy-cells = <0x4>;
			};
		};

		ahci@fd0c0000 {
			compatible = "ceva,ahci-1v84";
			status = "disabled";
			reg = <0x0 0xfd0c0000 0x0 0x2000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x85 0x4>;
			power-domains = <0xc 0x1c>;
			#stream-id-cells = <0x4>;
			clocks = <0x3 0x16>;
		};

		mmc@ff160000 {
			u-boot,dm-pre-reloc;
			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x30 0x4>;
			reg = <0x0 0xff160000 0x0 0x1000>;
			clock-names = "clk_xin", "clk_ahb";
			xlnx,device_id = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x870>;
			power-domains = <0xc 0x27>;
			clocks = <0x3 0x36 0x3 0x1f>;
		};

		mmc@ff170000 {
			u-boot,dm-pre-reloc;
			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x31 0x4>;
			reg = <0x0 0xff170000 0x0 0x1000>;
			clock-names = "clk_xin", "clk_ahb";
			xlnx,device_id = <0x1>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x871>;
			power-domains = <0xc 0x28>;
			clocks = <0x3 0x37 0x3 0x1f>;
		};

		spi@ff040000 {
			compatible = "cdns,spi-r1p6";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x13 0x4>;
			reg = <0x0 0xff040000 0x0 0x1000>;
			clock-names = "ref_clk", "pclk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x23>;
			clocks = <0x3 0x3a 0x3 0x1f>;
			is-decoded-cs = <0x0>;
			num-cs = <0x3>;
		};

		spi@ff050000 {
			compatible = "cdns,spi-r1p6";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x14 0x4>;
			reg = <0x0 0xff050000 0x0 0x1000>;
			clock-names = "ref_clk", "pclk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x24>;
			clocks = <0x3 0x3b 0x3 0x1f>;
			is-decoded-cs = <0x0>;
			num-cs = <0x3>;
		};

		timer@ff110000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x24 0x4 0x0 0x25 0x4 0x0 0x26 0x4>;
			reg = <0x0 0xff110000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x18>;
			clocks = <0x3 0x1f>;
		};

		timer@ff120000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x27 0x4 0x0 0x28 0x4 0x0 0x29 0x4>;
			reg = <0x0 0xff120000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x19>;
			clocks = <0x3 0x1f>;
		};

		timer@ff130000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x2a 0x4 0x0 0x2b 0x4 0x0 0x2c 0x4>;
			reg = <0x0 0xff130000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x1a>;
			clocks = <0x3 0x1f>;
		};

		timer@ff140000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x2d 0x4 0x0 0x2e 0x4 0x0 0x2f 0x4>;
			reg = <0x0 0xff140000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x1b>;
			clocks = <0x3 0x1f>;
		};

		serial@ff000000 {
			u-boot,dm-pre-reloc;
			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x15 0x4>;
			reg = <0x0 0xff000000 0x0 0x1000>;
			clock-names = "uart_clk", "pclk";
			power-domains = <0xc 0x21>;
			clocks = <0x3 0x38 0x3 0x1f>;
			cts-override;
			device_type = "serial";
			port-number = <0x0>;
		};

		serial@ff010000 {
			u-boot,dm-pre-reloc;
			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x16 0x4>;
			reg = <0x0 0xff010000 0x0 0x1000>;
			clock-names = "uart_clk", "pclk";
			power-domains = <0xc 0x22>;
			clocks = <0x3 0x39 0x3 0x1f>;
			cts-override;
			device_type = "serial";
			port-number = <0x1>;
		};

		usb0@ff9d0000 {
			#address-cells = <0x2>;
			#size-cells = <0x2>;
			status = "okay";
			compatible = "xlnx,zynqmp-dwc3";
			reg = <0x0 0xff9d0000 0x0 0x100>;
			clock-names = "bus_clk", "ref_clk";
			power-domains = <0xc 0x16>;
			ranges;
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			clocks = <0x3 0x20 0x3 0x22>;
			xlnx,tz-nonsecure = <0x1>;
			xlnx,usb-polarity = <0x0>;
			xlnx,usb-reset-io = <0x40>;
			xlnx,usb-reset-mode = <0x2>;

			dwc3@fe200000 {
				compatible = "snps,dwc3";
				status = "okay";
				reg = <0x0 0xfe200000 0x0 0x40000>;
				interrupt-parent = <0x4>;
				interrupt-names = "dwc_usb3", "otg", "hiber";
				interrupts = <0x0 0x41 0x4 0x0 0x45 0x4 0x0 0x4b 0x4>;
				#stream-id-cells = <0x1>;
				iommus = <0xd 0x860>;
				snps,quirk-frame-length-adjustment = <0x20>;
				snps,refclk_fladj;
				snps,enable_guctl1_resume_quirk;
				snps,enable_guctl1_ipd_quirk;
				snps,xhci-stream-quirk;
			};
		};

		usb1@ff9e0000 {
			#address-cells = <0x2>;
			#size-cells = <0x2>;
			status = "disabled";
			compatible = "xlnx,zynqmp-dwc3";
			reg = <0x0 0xff9e0000 0x0 0x100>;
			clock-names = "bus_clk", "ref_clk";
			power-domains = <0xc 0x17>;
			ranges;
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			clocks = <0x3 0x21 0x3 0x22>;

			dwc3@fe300000 {
				compatible = "snps,dwc3";
				status = "disabled";
				reg = <0x0 0xfe300000 0x0 0x40000>;
				interrupt-parent = <0x4>;
				interrupt-names = "dwc_usb3", "otg", "hiber";
				interrupts = <0x0 0x46 0x4 0x0 0x4a 0x4 0x0 0x4c 0x4>;
				#stream-id-cells = <0x1>;
				iommus = <0xd 0x861>;
				snps,quirk-frame-length-adjustment = <0x20>;
				snps,refclk_fladj;
				snps,enable_guctl1_resume_quirk;
				snps,enable_guctl1_ipd_quirk;
				snps,xhci-stream-quirk;
			};
		};

		watchdog@fd4d0000 {
			compatible = "cdns,wdt-r1p2";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x71 0x1>;
			reg = <0x0 0xfd4d0000 0x0 0x1000>;
			timeout-sec = <0x3c>;
			reset-on-timeout;
			clocks = <0x3 0x4b>;
		};

		watchdog@ff150000 {
			compatible = "cdns,wdt-r1p2";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x34 0x1>;
			reg = <0x0 0xff150000 0x0 0x1000>;
			timeout-sec = <0xa>;
			clocks = <0x3 0x70>;
		};

		ams@ffa50000 {
			compatible = "xlnx,zynqmp-ams";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x38 0x4>;
			interrupt-names = "ams-irq";
			reg = <0x0 0xffa50000 0x0 0x800>;
			reg-names = "ams-base";
			#address-cells = <0x2>;
			#size-cells = <0x2>;
			#io-channel-cells = <0x1>;
			ranges;
			clocks = <0x3 0x46>;

			ams_ps@ffa50800 {
				compatible = "xlnx,zynqmp-ams-ps";
				status = "okay";
				reg = <0x0 0xffa50800 0x0 0x400>;
			};

			ams_pl@ffa50c00 {
				compatible = "xlnx,zynqmp-ams-pl";
				status = "okay";
				reg = <0x0 0xffa50c00 0x0 0x400>;
			};
		};

		dma@fd4c0000 {
			compatible = "xlnx,dpdma";
			status = "disabled";
			reg = <0x0 0xfd4c0000 0x0 0x1000>;
			interrupts = <0x0 0x7a 0x4>;
			interrupt-parent = <0x4>;
			clock-names = "axi_clk";
			power-domains = <0xc 0x29>;
			dma-channels = <0x6>;
			#dma-cells = <0x1>;
			clocks = <0x3 0x14>;
			phandle = <0x13>;

			dma-video0channel {
				compatible = "xlnx,video0";
			};

			dma-video1channel {
				compatible = "xlnx,video1";
			};

			dma-video2channel {
				compatible = "xlnx,video2";
			};

			dma-graphicschannel {
				compatible = "xlnx,graphics";
			};

			dma-audio0channel {
				compatible = "xlnx,audio0";
			};

			dma-audio1channel {
				compatible = "xlnx,audio1";
			};
		};

		zynqmp-display@fd4a0000 {
			compatible = "xlnx,zynqmp-dpsub-1.7";
			status = "disabled";
			reg = <0x0 0xfd4a0000 0x0 0x1000 0x0 0xfd4aa000 0x0 0x1000 0x0 0xfd4ab000 0x0 0x1000 0x0 0xfd4ac000 0x0 0x1000>;
			reg-names = "dp", "blend", "av_buf", "aud";
			interrupts = <0x0 0x77 0x4>;
			interrupt-parent = <0x4>;
			clock-names = "dp_apb_clk", "dp_aud_clk", "dp_vtc_pixel_clk_in";
			power-domains = <0xc 0x29>;
			clocks = <0x12 0x3 0x11 0x3 0x10>;

			vid-layer {
				dma-names = "vid0", "vid1", "vid2";
				dmas = <0x13 0x0 0x13 0x1 0x13 0x2>;
			};

			gfx-layer {
				dma-names = "gfx0";
				dmas = <0x13 0x3>;
			};

			i2c-bus {
			};

			zynqmp_dp_snd_codec0 {
				compatible = "xlnx,dp-snd-codec";
				clock-names = "aud_clk";
				clocks = <0x3 0x11>;
				phandle = <0x16>;
			};

			zynqmp_dp_snd_pcm0 {
				compatible = "xlnx,dp-snd-pcm";
				dmas = <0x13 0x4>;
				dma-names = "tx";
				phandle = <0x14>;
			};

			zynqmp_dp_snd_pcm1 {
				compatible = "xlnx,dp-snd-pcm";
				dmas = <0x13 0x5>;
				dma-names = "tx";
				phandle = <0x15>;
			};

			zynqmp_dp_snd_card {
				compatible = "xlnx,dp-snd-card";
				xlnx,dp-snd-pcm = <0x14 0x15>;
				xlnx,dp-snd-codec = <0x16>;
			};
		};
	};

	fclk0 {
		status = "okay";
		compatible = "xlnx,fclk";
		clocks = <0x3 0x47>;
	};

	fclk1 {
		status = "okay";
		compatible = "xlnx,fclk";
		clocks = <0x3 0x48>;
	};

	fclk2 {
		status = "okay";
		compatible = "xlnx,fclk";
		clocks = <0x3 0x49>;
	};

	fclk3 {
		status = "okay";
		compatible = "xlnx,fclk";
		clocks = <0x3 0x4a>;
	};

	pss_ref_clk {
		u-boot,dm-pre-reloc;
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x1c9c380>;
		phandle = <0x6>;
	};

	video_clk {
		u-boot,dm-pre-reloc;
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x19bfcc0>;
		phandle = <0x7>;
	};

	pss_alt_ref_clk {
		u-boot,dm-pre-reloc;
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x0>;
		phandle = <0x8>;
	};

	gt_crx_ref_clk {
		u-boot,dm-pre-reloc;
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x66ff300>;
		phandle = <0xa>;
	};

	aux_ref_clk {
		u-boot,dm-pre-reloc;
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x19bfcc0>;
		phandle = <0x9>;
	};

	dp_aclk {
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x5f5e100>;
		clock-accuracy = <0x64>;
		phandle = <0x12>;
	};

	amba_pl@0 {
		#address-cells = <0x2>;
		#size-cells = <0x2>;
		compatible = "simple-bus";
		ranges;

		adc_phy@a0002000 {
			clock-names = "adc0_clk_p", "adc0_clk_n", "adc1_clk_p", "adc1_clk_n", "s_axi_aclk";
			clocks = <0x17 0x17 0x17 0x17 0x3 0x47>;
			compatible = "xlnx,adc-phy-1.0";
			reg = <0x0 0xa0002000 0x0 0x1000>;
		};

		misc_clk_0 {
			#clock-cells = <0x0>;
			clock-frequency = <0x5f5e100>;
			compatible = "fixed-clock";
			phandle = <0x17>;
		};

		adc_raw@a0050000 {
			clock-names = "x_aclk", "m_pw_aclk", "s_cfg_aclk";
			clocks = <0x18 0x19 0x3 0x47>;
			compatible = "xlnx,adc-raw-1.0";
			reg = <0x0 0xa0050000 0x0 0x10000>;
		};

		misc_clk_1 {
			#clock-cells = <0x0>;
			clock-frequency = <0x17d78400>;
			compatible = "fixed-clock";
			phandle = <0x18>;
		};

		misc_clk_2 {
			#clock-cells = <0x0>;
			clock-frequency = <0x11e1a300>;
			compatible = "fixed-clock";
			phandle = <0x19>;
		};

		dma@a0004000 {
			#dma-cells = <0x1>;
			clock-names = "s_axi_lite_aclk", "m_axi_s2mm_aclk";
			clocks = <0x3 0x47 0x19>;
			compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a";
			interrupt-names = "s2mm_introut";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x59 0x4>;
			reg = <0x0 0xa0004000 0x0 0x1000>;
			xlnx,addrwidth = <0x20>;
			xlnx,sg-length-width = <0x1a>;

			dma-channel@a0004030 {
				compatible = "xlnx,axi-dma-s2mm-channel";
				dma-channels = <0x1>;
				interrupts = <0x0 0x59 0x4>;
				xlnx,datawidth = <0x80>;
				xlnx,device-id = <0x0>;
			};
		};

		dma@a0005000 {
			#dma-cells = <0x1>;
			clock-names = "s_axi_lite_aclk", "m_axi_s2mm_aclk";
			clocks = <0x3 0x47 0x19>;
			compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a";
			interrupt-names = "s2mm_introut";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x5a 0x4>;
			reg = <0x0 0xa0005000 0x0 0x1000>;
			xlnx,addrwidth = <0x20>;
			xlnx,sg-length-width = <0x1a>;

			dma-channel@a0005030 {
				compatible = "xlnx,axi-dma-s2mm-channel";
				dma-channels = <0x1>;
				interrupts = <0x0 0x5a 0x4>;
				xlnx,datawidth = <0x80>;
				xlnx,device-id = <0x1>;
			};
		};

		dma@a0003000 {
			#dma-cells = <0x1>;
			clock-names = "s_axi_lite_aclk", "m_axi_s2mm_aclk";
			clocks = <0x3 0x47 0x19>;
			compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a";
			interrupt-names = "s2mm_introut";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x5b 0x4>;
			reg = <0x0 0xa0003000 0x0 0x1000>;
			xlnx,addrwidth = <0x20>;
			xlnx,sg-length-width = <0x1a>;

			dma-channel@a0003030 {
				compatible = "xlnx,axi-dma-s2mm-channel";
				dma-channels = <0x1>;
				interrupts = <0x0 0x5b 0x4>;
				xlnx,datawidth = <0x80>;
				xlnx,device-id = <0x2>;
			};
		};

		freq_cnt_axi@a0001000 {
			clock-names = "s_axi_aclk", "clk0_in", "clk1_in", "clk2_in", "clk3_in";
			clocks = <0x3 0x47 0x17 0x18 0x19 0x17>;
			compatible = "xlnx,freq-cnt-axi-1.0";
			reg = <0x0 0xa0001000 0x0 0x1000>;
		};

		lfm_core@a0000000 {
			clock-names = "s00_axi_aclk";
			clocks = <0x3 0x47>;
			compatible = "xlnx,lfm-core-1.0";
			reg = <0x0 0xa0000000 0x0 0x1000>;
			xlnx,s00-axi-addr-width = <0x6>;
			xlnx,s00-axi-data-width = <0x20>;
		};

		PERIPHERAL@ff380000 {
			compatible = "xlnx,PERIPHERAL-1.0";
			reg = <0x0 0xff380000 0x0 0x80000>;
		};

		PERIPHERAL@ff990000 {
			compatible = "xlnx,PERIPHERAL-1.0";
			reg = <0x0 0xff990000 0x0 0x10000>;
		};

		rfft_buf@a0030000 {
			clock-names = "x_aclk", "s_cfg_aclk";
			clocks = <0x18 0x3 0x47>;
			compatible = "xlnx,rfft-buf-1.0";
			reg = <0x0 0xa0030000 0x0 0x10000>;
		};

		rfft_core_s@a0010000 {
			clock-names = "x_aclk", "m_pw_aclk", "s_cfg_aclk";
			clocks = <0x18 0x19 0x3 0x47>;
			compatible = "xlnx,rfft-core-s-1.1";
			reg = <0x0 0xa0010000 0x0 0x10000>;
		};

		rfft_core_s@a0020000 {
			clock-names = "x_aclk", "m_pw_aclk", "s_cfg_aclk";
			clocks = <0x18 0x19 0x3 0x47>;
			compatible = "xlnx,rfft-core-s-1.1";
			reg = <0x0 0xa0020000 0x0 0x10000>;
		};

		rfft_pkt@a0040000 {
			clock-names = "s_pw_aclk", "s_cfg_aclk";
			clocks = <0x19 0x3 0x47>;
			compatible = "xlnx,rfft-pkt-1.0";
			reg = <0x0 0xa0040000 0x0 0x10000>;
		};
	};

	chosen {
		bootargs = "earlycon console=ttyPS0,115200 clk_ignore_unused";
		stdout-path = "serial0:115200n8";
	};

	aliases {
		ethernet0 = "/amba/ethernet@ff0c0000";
		i2c0 = "/amba/i2c@ff020000";
		serial0 = "/amba/serial@ff000000";
		serial1 = "/amba/serial@ff010000";
		spi0 = "/amba/spi@ff040000";
		spi1 = "/amba/spi@ff050000";
                nand0 = "/amba/nand@ff100000";
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x7ff00000>;
	};
};

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Нафига мне декомпилированый .dtb?

2. Покажите кусок, относящийся к NAND-контроллеру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, gosha-z said:

1. Нафига мне декомпилированый .dtb?

2. Покажите кусок, относящийся к NAND-контроллеру.

за NAND вот эта часть

nand@ff100000 {
			compatible = "arasan,nfc-v3p10";
			status = "okay";
			reg = <0x0 0xff100000 0x0 0x1000>;
			clock-names = "clk_sys", "clk_flash";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0xe 0x4>;
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x872>;
			power-domains = <0xc 0x2c>;
			clocks = <0x3 0x3c 0x3 0x1f>;

			partition@0x00000000 {
				label = "boot";
				reg = <0x0 0x40000>;
			};

			partition@0x00040000 {
				label = "bootenv";
				reg = <0x40000 0x20000>;
			};

			partition@0x00060000 {
				label = "kernel";
				reg = <0x60000 0x600000>;
			};
		};

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ох. Почти уверен, что ссылки на phandles - мимо тазика. Перепишите все по-человечески.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, gosha-z said:

Ох. Почти уверен, что ссылки на phandles - мимо тазика. Перепишите все по-человечески.

Объясните пожалуйста, что имеете ввиду насчет phandles и почему тогда под Petalinux работает, а в Buildroot нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

phandle (pointer to handle) - ссылка вида

clocks = <&clkc 15>

При декомпиляции к каждому листу дерева, на который ссылаются другие листы, присваивается некий уникальный номер. Если номера не соответствуют - может быть все, что угодно. Поэтому мой вам совет - напишите DT для buildroot ручками, с инклюдами из ядра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, gosha-z said:

phandle (pointer to handle) - ссылка вида


clocks = <&clkc 15>

При декомпиляции к каждому листу дерева, на который ссылаются другие листы, присваивается некий уникальный номер. Если номера не соответствуют - может быть все, что угодно. Поэтому мой вам совет - напишите DT для buildroot ручками, с инклюдами из ядра.

Гоша, вы полагаете, что когда я декомпилировал dtb из petalinux'а и использовал декомпилированный в Buildroot, то у меня ссылки в результате декомпиляции слетели?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, Aleksei_Rostov said:

Гоша, вы полагаете, что когда я декомпилировал dtb из petalinux'а и использовал декомпилированный в Buildroot, то у меня ссылки в результате декомпиляции слетели?

100% гарантию даже страховой полис не дает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, gosha-z said:

100% гарантию даже страховой полис не дает...

Дело в том, что я в Buildroot использую бинарный файл DT, т.е. dtb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На эти грабли я уже наступал, поэтому больше так никогда не делаю, а компилю DT с использованием инклюдов конкретной версии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, gosha-z said:

На эти грабли я уже наступал, поэтому больше так никогда не делаю, а компилю DT с использованием инклюдов конкретной версии.

Спасибо, очень похоже, что проблема в DT, завтра попробую перекомпилировать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/17/2020 at 11:37 PM, gosha-z said:

На эти грабли я уже наступал, поэтому больше так никогда не делаю, а компилю DT с использованием инклюдов конкретной версии.

Компиляция DT с инклюдами не исправила проблему. Собрал образ из сборки Buildroot'ом с настройками kernel от petalinux 

# dmesg | grep nand -i
[    6.621228] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
# dmesg |grep mtd -i
[    6.711807] mtdoops: mtd device (mtddev=name/number) must be supplied
#  

не видит Linux Nand 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перебрал DT, NAND при запуске Линукса видна. Не понятно почему Линукс виснет при проверке BBT. Что необходимо сделать? 


[    4.852848] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xd3
[    4.859206] nand: Micron MT29F8G08ABACAH4
[    4.863212] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
[   38.018693] Bad block table not found for chip 0
[   83.074693] Bad block table not found for chip 0
[   83.079309] Scanning device for bad blocks
[   84.098694] nand_bbt: error while erasing BBT block -5
[   85.122693] nand_bbt: error while erasing BBT block -5
[   86.146693] nand_bbt: error while erasing BBT block -5
[   87.170693] nand_bbt: error while erasing BBT block -5
[   87.175825] No space left to write bad block table
[   87.180606] nand_bbt: error while writing bad block table -28
[   87.186396] arasan-nand-controller ff100000.nand: nand_scan_tail for NAND failed
[   96.386692] nand: No NAND device found
[   96.390431] arasan-nand-controller ff100000.nand: nand_scan_tail for NAND failed
[  105.602691] nand: No NAND device found
[  105.606429] arasan-nand-controller ff100000.nand: nand_scan_tail for NAND failed

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...