diff mbox series

[v4,4/4] arm64: dts: S32G3: Introduce device tree for S32G-VNP-RDB3

Message ID 20240324214329.29988-5-wafgo01@gmail.com
State New
Headers show
Series NXP S32G3 SoC initial bring-up | expand

Commit Message

Wadim Mueller March 24, 2024, 9:43 p.m. UTC
This commit adds device tree support for the NXP S32G3-based
S32G-VNP-RDB3 Board [1].

The S32G3 features an 8-core ARM Cortex-A53 based SoC developed by NXP.

The device tree files are derived from the official NXP downstream
Linux tree [2].

This addition encompasses a limited selection of peripherals that
are upstream-supported. Apart from the ARM System Modules
(GIC, Generic Timer, etc.), the following IPs have been validated:

    * UART: fsl-linflexuart
    * SDHC: fsl-imx-esdhc

Clock settings for the chip rely on ATF Firmware [3].
Pin control integration into the device tree is pending and currently
relies on Firmware/U-Boot settings [4].

These changes were validated using BSP39 Firmware/U-Boot from NXP [5].

The modifications enable booting the official Ubuntu 22.04 from NXP on
the RDB3 with default settings from the SD card and eMMC.

[1] https://www.nxp.com/design/design-center/designs/s32g3-vehicle-networking-reference-design:S32G-VNP-RDB3
[2] https://github.com/nxp-auto-linux/linux
[3] https://github.com/nxp-auto-linux/arm-trusted-firmware
[4] https://github.com/nxp-auto-linux/u-boot
[5] https://github.com/nxp-auto-linux/auto_yocto_bsp

Signed-off-by: Wadim Mueller <wafgo01@gmail.com>
---
 arch/arm64/boot/dts/freescale/Makefile        |   1 +
 arch/arm64/boot/dts/freescale/s32g3.dtsi      | 233 ++++++++++++++++++
 .../boot/dts/freescale/s32g399a-rdb3.dts      |  45 ++++
 3 files changed, 279 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/s32g3.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-rdb3.dts

Comments

Ghennadi Procopciuc March 25, 2024, 9:30 a.m. UTC | #1
On 3/24/24 23:43, Wadim Mueller wrote:
> This commit adds device tree support for the NXP S32G3-based
> S32G-VNP-RDB3 Board [1].
> 
> The S32G3 features an 8-core ARM Cortex-A53 based SoC developed by NXP.
> 
> The device tree files are derived from the official NXP downstream
> Linux tree [2].
> 
> This addition encompasses a limited selection of peripherals that
> are upstream-supported. Apart from the ARM System Modules
> (GIC, Generic Timer, etc.), the following IPs have been validated:
> 
>     * UART: fsl-linflexuart
>     * SDHC: fsl-imx-esdhc
> 
> Clock settings for the chip rely on ATF Firmware [3].
> Pin control integration into the device tree is pending and currently
> relies on Firmware/U-Boot settings [4].
> 
> These changes were validated using BSP39 Firmware/U-Boot from NXP [5].
> 
> The modifications enable booting the official Ubuntu 22.04 from NXP on
> the RDB3 with default settings from the SD card and eMMC.
> 
> [1] https://www.nxp.com/design/design-center/designs/s32g3-vehicle-networking-reference-design:S32G-VNP-RDB3
> [2] https://github.com/nxp-auto-linux/linux
> [3] https://github.com/nxp-auto-linux/arm-trusted-firmware
> [4] https://github.com/nxp-auto-linux/u-boot
> [5] https://github.com/nxp-auto-linux/auto_yocto_bsp
> 
> Signed-off-by: Wadim Mueller <wafgo01@gmail.com>
> ---

Thank you, Wadim, for bringing up the S32G3RDB3 board! The board boots
with all 8 cores. The log is attached below.

Tested-by: Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>
Reviewed-by: Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.9.0-rc1-00004-gcb630dd69df3
(nxa06643@lxl00026) (aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12)
7.5.0, GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #21 SMP PREEMPT
Mon Mar 25 10:50:16 EET 2024
[    0.000000] KASLR disabled due to lack of seed
[    0.000000] Machine model: NXP S32G3 Reference Design Board 3
(S32G-VNP-RDB3)
[    0.000000] efi: UEFI not found.
[    0.000000] OF: reserved mem: 0x00000000d0000000..0x00000000d000007f
(0 KiB) nomap non-reusable shm@d0000000
[    0.000000] OF: reserved mem: 0x00000000ff600000..0x00000000ff7fffff
(2048 KiB) nomap non-reusable atf@ff600000
[    0.000000] earlycon: linflex0 at MMIO 0x00000000401c8000 (options
'115200n8')
[    0.000000] printk: legacy bootconsole [linflex0] enabled
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem
0x0000000080000000-0x00000008dfffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x8df8ff9c0-0x8df901fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000008dfffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000cfffffff]
[    0.000000]   node   0: [mem 0x00000000d0001000-0x00000000ff5fffff]
[    0.000000]   node   0: [mem 0x00000000ff600000-0x00000000ff7fffff]
[    0.000000]   node   0: [mem 0x00000000ff800000-0x00000000ffffffff]
[    0.000000]   node   0: [mem 0x0000000880000000-0x00000008dfffffff]
[    0.000000] Initmem setup node 0 [mem
0x0000000080000000-0x00000008dfffffff]
[    0.000000] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.000000] cma: Reserved 32 MiB at 0x00000000fd600000 on node -1
[    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.2
[    0.000000] percpu: Embedded 24 pages/cpu s57896 r8192 d32216 u98304
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: console=ttyLF0,115200
root=/dev/mmcblk0p2 rootwait rw earlycon
[    0.000000] Dentry cache hash table entries: 524288 (order: 10,
4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152
bytes, linear)
[    0.000000] Fallback order for Node 0: 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 903167
[    0.000000] Policy zone: Normal
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 8.
[    0.000000] software IO TLB: mapped [mem
0x00000000f9600000-0x00000000fd600000] (64MB)
[    0.000000] Memory: 3451804K/3670012K available (17472K kernel code,
4790K rwdata, 11432K rodata, 9984K init, 754K bss, 185440K reserved,
32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=512 to
nr_cpu_ids=8.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    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=8
[    0.000000] RCU Tasks: Setting shift to 3 and lim to 1
rcu_task_cb_adjust=1.
[    0.000000] RCU Tasks Trace: Setting shift to 3 and lim to 1
rcu_task_cb_adjust=1.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: 544 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region
0:0x0000000050900000
[    0.000000] ITS: No ITS available, not enabling LPIs
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on
contention.
[    0.000000] arch_timer: cp15 timer(s) running at 5.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
max_cycles: 0x127350b88, max_idle_ns: 440795202120 ns
[    0.000001] sched_clock: 56 bits at 5MHz, resolution 200ns, wraps
every 4398046511100ns
[    0.008224] Console: colour dummy device 80x25
[    0.012493] Calibrating delay loop (skipped), value calculated using
timer frequency.. 10.00 BogoMIPS (lpj=20000)
[    0.022661] pid_max: default: 32768 minimum: 301
[    0.027333] LSM: initializing lsm=capability
[    0.031604] Mount-cache hash table entries: 8192 (order: 4, 65536
bytes, linear)
[    0.038904] Mountpoint-cache hash table entries: 8192 (order: 4,
65536 bytes, linear)
[    0.047831] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.054481] rcu: Hierarchical SRCU implementation.
[    0.058926] rcu:     Max phase no-delay instances is 1000.
[    0.064746] EFI services will not be available.
[    0.069258] smp: Bringing up secondary CPUs ...
[    0.073964] Detected VIPT I-cache on CPU1
[    0.074018] GICv3: CPU1: found redistributor 1 region
0:0x0000000050920000
[    0.074056] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.074630] Detected VIPT I-cache on CPU2
[    0.074662] GICv3: CPU2: found redistributor 2 region
0:0x0000000050940000
[    0.074682] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.075227] Detected VIPT I-cache on CPU3
[    0.075258] GICv3: CPU3: found redistributor 3 region
0:0x0000000050960000
[    0.075277] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.075831] Detected VIPT I-cache on CPU4
[    0.075885] GICv3: CPU4: found redistributor 100 region
0:0x0000000050980000
[    0.075917] CPU4: Booted secondary processor 0x0000000100 [0x410fd034]
[    0.076492] Detected VIPT I-cache on CPU5
[    0.076527] GICv3: CPU5: found redistributor 101 region
0:0x00000000509a0000
[    0.076547] CPU5: Booted secondary processor 0x0000000101 [0x410fd034]
[    0.077090] Detected VIPT I-cache on CPU6
[    0.077127] GICv3: CPU6: found redistributor 102 region
0:0x00000000509c0000
[    0.077147] CPU6: Booted secondary processor 0x0000000102 [0x410fd034]
[    0.077724] Detected VIPT I-cache on CPU7
[    0.077765] GICv3: CPU7: found redistributor 103 region
0:0x00000000509e0000
[    0.077785] CPU7: Booted secondary processor 0x0000000103 [0x410fd034]
[    0.077896] smp: Brought up 1 node, 8 CPUs
[    0.203873] SMP: Total of 8 processors activated.
[    0.208551] CPU: All CPU(s) started at EL1
[    0.212660] CPU features: detected: 32-bit EL0 Support
[    0.217751] CPU features: detected: 32-bit EL1 Support
[    0.222885] CPU features: detected: CRC32 instructions
[    0.228042] alternatives: applying system-wide alternatives
[    0.236019] devtmpfs: initialized
[    0.242628] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.252037] futex hash table entries: 2048 (order: 5, 131072 bytes,
linear)
[    0.260021] pinctrl core: initialized pinctrl subsystem
[    0.266046] DMI not present or invalid.
[    0.272094] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.278654] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic
allocations
[    0.285546] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for
atomic allocations
[    0.293318] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for
atomic allocations
[    0.301019] audit: initializing netlink subsys (disabled)
[    0.306513] audit: type=2000 audit(0.180:1): state=initialized
audit_enabled=0 res=1
[    0.307304] thermal_sys: Registered thermal governor 'step_wise'
[    0.314096] thermal_sys: Registered thermal governor 'power_allocator'
[    0.320130] cpuidle: using governor menu
[    0.330730] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.337396] ASID allocator initialised with 65536 entries
[    0.344482] Serial: AMBA PL011 UART driver
[    0.350914] Modules: 21600 pages in range for non-PLT usage
[    0.350920] Modules: 513120 pages in range for PLT usage
[    0.356758] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.368493] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.374744] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.381511] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.387762] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.394531] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.400784] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.407551] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.414206] Demotion targets for Node 0: null
[    0.419168] ACPI: Interpreter disabled.
[    0.423692] iommu: Default domain type: Translated
[    0.428153] iommu: DMA domain TLB invalidation policy: strict mode
[    0.434805] SCSI subsystem initialized
[    0.438513] usbcore: registered new interface driver usbfs
[    0.443706] usbcore: registered new interface driver hub
[    0.448995] usbcore: registered new device driver usb
[    0.454351] pps_core: LinuxPPS API ver. 1 registered
[    0.458968] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[    0.468095] PTP clock support registered
[    0.472054] EDAC MC: Ver: 3.0.0
[    0.475481] scmi_core: SCMI protocol bus registered
[    0.480546] FPGA manager framework
[    0.483666] Advanced Linux Sound Architecture Driver Initialized.
[    0.490590] vgaarb: loaded
[    0.493333] clocksource: Switched to clocksource arch_sys_counter
[    0.499297] VFS: Disk quotas dquot_6.6.0
[    0.503017] VFS: Dquot-cache hash table entries: 512 (order 0, 4096
bytes)
[    0.510017] pnp: PnP ACPI: disabled
[    0.519430] NET: Registered PF_INET protocol family
[    0.524185] IP idents hash table entries: 65536 (order: 7, 524288
bytes, linear)
[    0.533803] tcp_listen_portaddr_hash hash table entries: 2048 (order:
3, 32768 bytes, linear)
[    0.542061] Table-perturb hash table entries: 65536 (order: 6, 262144
bytes, linear)
[    0.549719] TCP established hash table entries: 32768 (order: 6,
262144 bytes, linear)
[    0.557803] TCP bind hash table entries: 32768 (order: 8, 1048576
bytes, linear)
[    0.566154] TCP: Hash tables configured (established 32768 bind 32768)
[    0.572472] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.579091] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes,
linear)
[    0.586323] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.592198] RPC: Registered named UNIX socket transport module.
[    0.597778] RPC: Registered udp transport module.
[    0.602457] RPC: Registered tcp transport module.
[    0.607143] RPC: Registered tcp-with-tls transport module.
[    0.612612] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.619048] PCI: CLS 0 bytes, default 64
[    0.623428] kvm [1]: HYP mode not available
[    0.628384] Initialise system trusted keyrings
[    0.632632] workingset: timestamp_bits=42 max_order=20 bucket_order=0
[    0.639182] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.644948] NFS: Registering the id_resolver key type
[    0.649780] Key type id_resolver registered
[    0.653921] Key type id_legacy registered
[    0.657932] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.664597] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver
Registering...
[    0.672111] 9p: Installing v9fs 9p2000 file system support
[    0.714617] Key type asymmetric registered
[    0.718368] Asymmetric key parser 'x509' registered
[    0.723278] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 245)
[    0.730608] io scheduler mq-deadline registered
[    0.735119] io scheduler kyber registered
[    0.739144] io scheduler bfq registered
[    0.764751] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.773400] 401c8000.serial: ttyLF0 at MMIO 0x401c8000 (irq = 14,
base_baud = 0) is a FSL_LINFLEX
[    0.783976] printk: legacy console [ttyLF0] enabled
[    0.783976] printk: legacy console [ttyLF0] enabled
[    0.793930] printk: legacy bootconsole [linflex0] disabled
[    0.793930] printk: legacy bootconsole [linflex0] disabled
[    0.809777] 401cc000.serial: ttyLF1 at MMIO 0x401cc000 (irq = 15,
base_baud = 0) is a FSL_LINFLEX
[    0.819329] msm_serial: driver initialized
[    0.823695] SuperH (H)SCI(F) driver initialized
[    0.828378] STM32 USART driver initialized
[    0.840105] loop: module loaded
[    0.844169] megasas: 07.727.03.00-rc1
[    0.852986] tun: Universal TUN/TAP device driver, 1.6
[    0.858691] thunder_xcv, ver 1.0
[    0.862013] thunder_bgx, ver 1.0
[    0.865323] nicpf, ver 1.0
[    0.868818] hns3: Hisilicon Ethernet Network Driver for Hip08 Family
- version
[    0.876179] hns3: Copyright (c) 2017 Huawei Corporation.
[    0.881621] hclge is initializing
[    0.885029] e1000: Intel(R) PRO/1000 Network Driver
[    0.889999] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    0.895874] e1000e: Intel(R) PRO/1000 Network Driver
[    0.900932] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.906982] igb: Intel(R) Gigabit Ethernet Network Driver
[    0.912483] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.918195] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    0.924581] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.930796] sky2: driver version 1.30
[    0.935382] VFIO - User Level meta-driver version: 0.3
[    0.942227] usbcore: registered new interface driver usb-storage
[    0.950179] i2c_dev: i2c /dev entries driver
[    0.959203] sdhci: Secure Digital Host Controller Interface driver
[    0.965503] sdhci: Copyright(c) Pierre Ossman
[    0.970334] Synopsys Designware Multimedia Card Interface Driver
[    0.976987] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.983975] ledtrig-cpu: registered to indicate activity on CPUs
[    0.990556] scmi_protocol scmi_dev.1: Enabled polling mode TX channel
- prot_id:16
[    0.998513] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled.
[    1.005209] arm-scmi firmware:scmi: SCMI Protocol v2.0 'NXP:S32G399A'
Firmware version 0x0
[    1.014897] cpu cpu0: EM: only supports uW power values
[    1.025027] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    1.032401] usbcore: registered new interface driver usbhid
[    1.038094] usbhid: USB HID core driver
[    1.044180] hw perfevents: enabled with armv8_cortex_a53 PMU driver,
7 counters available
[    1.056194] NET: Registered PF_PACKET protocol family
[    1.061445] 9pnet: Installing 9P2000 support
[    1.065867] Key type dns_resolver registered
[    1.079732] Timer migration: 1 hierarchy levels; 8 children per
group; 1 crossnode level
[    1.088206] registered taskstats version 1
[    1.092820] Loading compiled-in X.509 certificates
[    1.115627] clk: Disabling unused clocks
[    1.117662] sdhci-esdhc-imx 402f0000.mmc: could not get pinctrl
[    1.119704] PM: genpd: Disabling unused power domains
[    1.130853] ALSA device list:
[    1.133886]   No soundcards found.
[    1.157133] mmc0: SDHCI controller on 402f0000.mmc [402f0000.mmc]
using ADMA
[    1.164512] Waiting for root device /dev/mmcblk0p2...
[    1.185787] mmc0: host does not support reading read-only switch,
assuming write-enable
[    1.195000] mmc0: new high speed SDHC card at address 5048
[    1.201102] mmcblk0: mmc0:5048 SD32G 29.7 GiB
[    1.208397]  mmcblk0: p1 p2
[    1.238459] EXT4-fs (mmcblk0p2): recovery complete
[    1.244613] EXT4-fs (mmcblk0p2): mounted filesystem
52830f5f-ab50-4125-a606-3c65100b7d4a r/w with ordered data mode. Quota
mode: none.
[    1.257000] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    1.264390] devtmpfs: mounted
[    1.271069] Freeing unused kernel memory: 9984K
[    1.275760] Run /sbin/init as init process
[    1.657291] systemd[1]: System time before build time, advancing clock.
[    1.714423] systemd[1]: systemd 250.5+ running in system mode (+PAM
-AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL
+ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP
+LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB
+ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
[    1.746891] systemd[1]: Detected architecture arm64.

Welcome to Auto Linux BSP develop (kirkstone)!

[    1.845928] systemd[1]: Hostname set to <s32g399ardb3>.
[    2.186158] systemd[1]: Binding to IPv6 address not available since
kernel does not support IPv6.
[    2.195287] systemd[1]: Binding to IPv6 address not available since
kernel does not support IPv6.
[    2.317364] systemd[1]: Queued start job for default target
Multi-User System.
[    2.396694] systemd[1]: Created slice Slice /system/getty.
[  OK  ] Created slice Slice /system/getty.
[    2.410476] systemd[1]: Created slice Slice /system/modprobe.
[  OK  ] Created slice Slice /system/modprobe.
[    2.424209] systemd[1]: Created slice Slice /system/serial-getty.
[  OK  ] Created slice Slice /system/serial-getty.
[    2.438389] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    2.450954] systemd[1]: Started Dispatch Password Requests to Console
Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[    2.467638] systemd[1]: Started Forward Password Requests to Wall
Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[    2.484011] systemd[1]: Reached target Path Units.
[  OK  ] Reached target Path Units.
[    2.494464] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    2.506485] systemd[1]: Reached target Slice Units.
[  OK  ] Reached target Slice Units.
[    2.517119] systemd[1]: Reached target Swaps.
[  OK  ] Reached target Swaps.
[    2.586411] systemd[1]: Listening on RPCbind Server Activation Socket.
[  OK  ] Listening on RPCbind Server Activation Socket.
[    2.600701] systemd[1]: Reached target RPC Port Mapper.
[  OK  ] Reached target RPC Port Mapper.
[    2.612616] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[    2.623452] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[    2.637954] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[    2.650037] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    2.663102] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    2.674363] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    2.688327] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    2.700193] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    2.711963] systemd[1]: Listening on User Database Manager Socket.
[  OK  ] Listening on User Database Manager Socket.
[    2.749696] systemd[1]: Mounting Huge Pages File System...
         Mounting Huge Pages File System...
[    2.764346] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    2.780591] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    2.792560] systemd[1]: Kernel Trace File System was skipped because
of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
[    2.805768] systemd[1]: Create List of Static Device Nodes was
skipped because of a failed condition check
(ConditionFileNotEmpty=/lib/modules/6.9.0-rc1-00004-gcb630dd69df3/modules.devname).
[    2.826957] systemd[1]: Starting Load Kernel Module configfs...
         Starting Load Kernel Module configfs...
[    2.842860] systemd[1]: Starting Load Kernel Module drm...
         Starting Load Kernel Module drm...
[    2.857874] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[    2.879679] systemd[1]: Starting RPC Bind...
         Starting RPC Bind...
[    2.888514] systemd[1]: File System Check on Root Device was skipped
because of a failed condition check (ConditionPathIsReadWrite=!/).
[    2.907067] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    2.925119] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[    2.940298] systemd[1]: Starting Generate network units from Kernel
command line...
         Starting Generate network …ts from Kernel command line...
[    2.959955] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    2.977958] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[    2.995944] systemd[1]: Started RPC Bind.
[  OK  ] Started RPC Bind.
[    3.005902] systemd[1]: Mounted Huge Pages File System.
[  OK  ] Mounted Huge Pages File System.
[    3.018033] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.[    3.029658] EXT4-fs
(mmcblk0p2): re-mounted 52830f5f-ab50-4125-a606-3c65100b7d4a r/w. Quota
mode: none.

[    3.043175] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module drm.
[  OK  ] Finished Load Kernel Module fuse.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[  OK  ] Finished Generate network units from Kernel command line.
[  OK  ] Finished Remount Root and Kernel File Systems.
         Mounting Kernel Configuration File System...
         Starting Flush Journal to Persistent Storage...
         Starting Apply Kernel Variables...
         Starting Create Static Device Nodes in /dev...[    3.206617]
systemd-journald[124]: Received client request to flush runtime journal.

[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Preparation for Local File Systems.
         Mounting /tmp...
         Mounting /var/volatile...
[    3.338366] audit: type=1334 audit(1651167746.684:2): prog-id=5 op=LOAD
[    3.345166] audit: type=1334 audit(1651167746.688:3): prog-id=6 op=LOAD
         Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Mounted /tmp.
[  OK  ] Mounted /var/volatile.
         Mounting /var/volatile/tmp...
         Starting Load/Save Random Seed...
[  OK  ] Mounted /var/volatile/tmp.
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Record System Boot/Shutdown in UTMP...
[  OK  ] Started Rule-based Manager for Device Events and Files.
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Finished Record System Boot/Shutdown in UTMP.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target System Time Set.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Reached target Timer Units.
[  OK  ] Listening on D-Bus System Message Bus Socket.
         Starting sshd.socket...
[  OK  ] Listening on sshd.socket.
[  OK  ] Reached target Socket Units.
[  OK  ] Reached target Basic System.
[  OK  ] Started Job spooling tools.
[  OK  ] Started Periodic Command Scheduler.
         Starting D-Bus System Message Bus...
         Starting IPv6 Packet Filtering Framework...
         Starting IPv4 Packet Filtering Framework...
[  OK  ] Started irqbalance daemon.
[  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
[  OK  ] Started System Logging Service.
         Starting Resets System Activity Logs...
[    4.124453] audit: type=1334 audit(1651254541.860:4): prog-id=7 op=LOAD
[    4.131266] audit: type=1334 audit(1651254541.868:5): prog-id=8 op=LOAD
         Starting User Login Management...
         Starting OpenSSH Key Generation...
[  OK  ] Finished IPv6 Packet Filtering Framework.
[  OK  ] Finished IPv4 Packet Filtering Framework.
[  OK  ] Reached target Preparation for Network.
         Starting Network Configuration...
[  OK  ] Finished Resets System Activity Logs.
[  OK  ] Finished OpenSSH Key Generation.
[  OK  ] Started Network Configuration.
         Starting Network Name Resolution...
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Network.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Started Netperf Benchmark Server.
[  OK  ] Started NFS status monitor for NFSv2/3 locking..
[  OK  ] Started Respond to IPv6 Node Information Queries.
[  OK  ] Started Network Router Discovery Daemon.
         Starting Permit User Sessions...
[  OK  ] Started Xinetd A Powerful Replacement For Inetd.
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyLF0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Created slice Slice /system/systemd-fsck.
[  OK  ] Found device /dev/mmcblk0p1.
         Starting File System Check on /dev/mmcblk0p1...
[  OK  ] Finished File System Check on /dev/mmcblk0p1.
         Mounting /run/media/boot_s32g3-mmcblk0p1...
[  OK  ] Mounted /run/media/boot_s32g3-mmcblk0p1.
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started User Login Management.
[  OK  ] Reached target Multi-User System.
         Starting Record Runlevel Change in UTMP...
[  OK  ] Finished Record Runlevel Change in UTMP.


Regards,
Ghennadi
Wadim Mueller March 25, 2024, 1:26 p.m. UTC | #2
On Mon, Mar 25, 2024 at 11:30:38AM +0200, Ghennadi Procopciuc wrote:
> On 3/24/24 23:43, Wadim Mueller wrote:
> > This commit adds device tree support for the NXP S32G3-based
> > S32G-VNP-RDB3 Board [1].
> > 
> > The S32G3 features an 8-core ARM Cortex-A53 based SoC developed by NXP.
> > 
> > The device tree files are derived from the official NXP downstream
> > Linux tree [2].
> > 
> > This addition encompasses a limited selection of peripherals that
> > are upstream-supported. Apart from the ARM System Modules
> > (GIC, Generic Timer, etc.), the following IPs have been validated:
> > 
> >     * UART: fsl-linflexuart
> >     * SDHC: fsl-imx-esdhc
> > 
> > Clock settings for the chip rely on ATF Firmware [3].
> > Pin control integration into the device tree is pending and currently
> > relies on Firmware/U-Boot settings [4].
> > 
> > These changes were validated using BSP39 Firmware/U-Boot from NXP [5].
> > 
> > The modifications enable booting the official Ubuntu 22.04 from NXP on
> > the RDB3 with default settings from the SD card and eMMC.
> > 
> > [1] https://www.nxp.com/design/design-center/designs/s32g3-vehicle-networking-reference-design:S32G-VNP-RDB3
> > [2] https://github.com/nxp-auto-linux/linux
> > [3] https://github.com/nxp-auto-linux/arm-trusted-firmware
> > [4] https://github.com/nxp-auto-linux/u-boot
> > [5] https://github.com/nxp-auto-linux/auto_yocto_bsp
> > 
> > Signed-off-by: Wadim Mueller <wafgo01@gmail.com>
> > ---
> 
> Thank you, Wadim, for bringing up the S32G3RDB3 board! The board boots
> with all 8 cores. The log is attached below.
>

Thanks for testing Ghennadi, much appreciated. 

According to MAINTAINERS all "dts/freescale/" DTS files
needs to go through the IMX/MXC tree? 
Is my understanding correct? Just asking whether I understand the file
content correctly!

> Tested-by: Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>
> Reviewed-by: Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>
> 
> Starting kernel ...
> 
> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
> [    0.000000] Linux version 6.9.0-rc1-00004-gcb630dd69df3
> (nxa06643@lxl00026) (aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12)
> 7.5.0, GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #21 SMP PREEMPT
> Mon Mar 25 10:50:16 EET 2024
> [    0.000000] KASLR disabled due to lack of seed
> [    0.000000] Machine model: NXP S32G3 Reference Design Board 3
> (S32G-VNP-RDB3)
> [    0.000000] efi: UEFI not found.
> [    0.000000] OF: reserved mem: 0x00000000d0000000..0x00000000d000007f
> (0 KiB) nomap non-reusable shm@d0000000
> [    0.000000] OF: reserved mem: 0x00000000ff600000..0x00000000ff7fffff
> (2048 KiB) nomap non-reusable atf@ff600000
> [    0.000000] earlycon: linflex0 at MMIO 0x00000000401c8000 (options
> '115200n8')
> [    0.000000] printk: legacy bootconsole [linflex0] enabled
> [    0.000000] NUMA: No NUMA configuration found
> [    0.000000] NUMA: Faking a node at [mem
> 0x0000000080000000-0x00000008dfffffff]
> [    0.000000] NUMA: NODE_DATA [mem 0x8df8ff9c0-0x8df901fff]
> [    0.000000] Zone ranges:
> [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
> [    0.000000]   DMA32    empty
> [    0.000000]   Normal   [mem 0x0000000100000000-0x00000008dfffffff]
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x0000000080000000-0x00000000cfffffff]
> [    0.000000]   node   0: [mem 0x00000000d0001000-0x00000000ff5fffff]
> [    0.000000]   node   0: [mem 0x00000000ff600000-0x00000000ff7fffff]
> [    0.000000]   node   0: [mem 0x00000000ff800000-0x00000000ffffffff]
> [    0.000000]   node   0: [mem 0x0000000880000000-0x00000008dfffffff]
> [    0.000000] Initmem setup node 0 [mem
> 0x0000000080000000-0x00000008dfffffff]
> [    0.000000] On node 0, zone DMA: 1 pages in unavailable ranges
> [    0.000000] cma: Reserved 32 MiB at 0x00000000fd600000 on node -1
> [    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.2
> [    0.000000] percpu: Embedded 24 pages/cpu s57896 r8192 d32216 u98304
> [    0.000000] Detected VIPT I-cache on CPU0
> [    0.000000] CPU features: detected: GIC system register CPU interface
> [    0.000000] CPU features: detected: ARM erratum 845719
> [    0.000000] alternatives: applying boot alternatives
> [    0.000000] Kernel command line: console=ttyLF0,115200
> root=/dev/mmcblk0p2 rootwait rw earlycon
> [    0.000000] Dentry cache hash table entries: 524288 (order: 10,
> 4194304 bytes, linear)
> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152
> bytes, linear)
> [    0.000000] Fallback order for Node 0: 0
> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 903167
> [    0.000000] Policy zone: Normal
> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> [    0.000000] software IO TLB: area num 8.
> [    0.000000] software IO TLB: mapped [mem
> 0x00000000f9600000-0x00000000fd600000] (64MB)
> [    0.000000] Memory: 3451804K/3670012K available (17472K kernel code,
> 4790K rwdata, 11432K rodata, 9984K init, 754K bss, 185440K reserved,
> 32768K cma-reserved)
> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
> [    0.000000] rcu:     RCU event tracing is enabled.
> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=512 to
> nr_cpu_ids=8.
> [    0.000000]  Trampoline variant of Tasks RCU enabled.
> [    0.000000]  Tracing variant of Tasks RCU enabled.
> [    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=8
> [    0.000000] RCU Tasks: Setting shift to 3 and lim to 1
> rcu_task_cb_adjust=1.
> [    0.000000] RCU Tasks Trace: Setting shift to 3 and lim to 1
> rcu_task_cb_adjust=1.
> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
> [    0.000000] GICv3: 544 SPIs implemented
> [    0.000000] GICv3: 0 Extended SPIs implemented
> [    0.000000] Root IRQ handler: gic_handle_irq
> [    0.000000] GICv3: GICv3 features: 16 PPIs
> [    0.000000] GICv3: CPU0: found redistributor 0 region
> 0:0x0000000050900000
> [    0.000000] ITS: No ITS available, not enabling LPIs
> [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on
> contention.
> [    0.000000] arch_timer: cp15 timer(s) running at 5.00MHz (virt).
> [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> max_cycles: 0x127350b88, max_idle_ns: 440795202120 ns
> [    0.000001] sched_clock: 56 bits at 5MHz, resolution 200ns, wraps
> every 4398046511100ns
> [    0.008224] Console: colour dummy device 80x25
> [    0.012493] Calibrating delay loop (skipped), value calculated using
> timer frequency.. 10.00 BogoMIPS (lpj=20000)
> [    0.022661] pid_max: default: 32768 minimum: 301
> [    0.027333] LSM: initializing lsm=capability
> [    0.031604] Mount-cache hash table entries: 8192 (order: 4, 65536
> bytes, linear)
> [    0.038904] Mountpoint-cache hash table entries: 8192 (order: 4,
> 65536 bytes, linear)
> [    0.047831] cacheinfo: Unable to detect cache hierarchy for CPU 0
> [    0.054481] rcu: Hierarchical SRCU implementation.
> [    0.058926] rcu:     Max phase no-delay instances is 1000.
> [    0.064746] EFI services will not be available.
> [    0.069258] smp: Bringing up secondary CPUs ...
> [    0.073964] Detected VIPT I-cache on CPU1
> [    0.074018] GICv3: CPU1: found redistributor 1 region
> 0:0x0000000050920000
> [    0.074056] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
> [    0.074630] Detected VIPT I-cache on CPU2
> [    0.074662] GICv3: CPU2: found redistributor 2 region
> 0:0x0000000050940000
> [    0.074682] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
> [    0.075227] Detected VIPT I-cache on CPU3
> [    0.075258] GICv3: CPU3: found redistributor 3 region
> 0:0x0000000050960000
> [    0.075277] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
> [    0.075831] Detected VIPT I-cache on CPU4
> [    0.075885] GICv3: CPU4: found redistributor 100 region
> 0:0x0000000050980000
> [    0.075917] CPU4: Booted secondary processor 0x0000000100 [0x410fd034]
> [    0.076492] Detected VIPT I-cache on CPU5
> [    0.076527] GICv3: CPU5: found redistributor 101 region
> 0:0x00000000509a0000
> [    0.076547] CPU5: Booted secondary processor 0x0000000101 [0x410fd034]
> [    0.077090] Detected VIPT I-cache on CPU6
> [    0.077127] GICv3: CPU6: found redistributor 102 region
> 0:0x00000000509c0000
> [    0.077147] CPU6: Booted secondary processor 0x0000000102 [0x410fd034]
> [    0.077724] Detected VIPT I-cache on CPU7
> [    0.077765] GICv3: CPU7: found redistributor 103 region
> 0:0x00000000509e0000
> [    0.077785] CPU7: Booted secondary processor 0x0000000103 [0x410fd034]
> [    0.077896] smp: Brought up 1 node, 8 CPUs
> [    0.203873] SMP: Total of 8 processors activated.
> [    0.208551] CPU: All CPU(s) started at EL1
> [    0.212660] CPU features: detected: 32-bit EL0 Support
> [    0.217751] CPU features: detected: 32-bit EL1 Support
> [    0.222885] CPU features: detected: CRC32 instructions
> [    0.228042] alternatives: applying system-wide alternatives
> [    0.236019] devtmpfs: initialized
> [    0.242628] clocksource: jiffies: mask: 0xffffffff max_cycles:
> 0xffffffff, max_idle_ns: 7645041785100000 ns
> [    0.252037] futex hash table entries: 2048 (order: 5, 131072 bytes,
> linear)
> [    0.260021] pinctrl core: initialized pinctrl subsystem
> [    0.266046] DMI not present or invalid.
> [    0.272094] NET: Registered PF_NETLINK/PF_ROUTE protocol family
> [    0.278654] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic
> allocations
> [    0.285546] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for
> atomic allocations
> [    0.293318] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for
> atomic allocations
> [    0.301019] audit: initializing netlink subsys (disabled)
> [    0.306513] audit: type=2000 audit(0.180:1): state=initialized
> audit_enabled=0 res=1
> [    0.307304] thermal_sys: Registered thermal governor 'step_wise'
> [    0.314096] thermal_sys: Registered thermal governor 'power_allocator'
> [    0.320130] cpuidle: using governor menu
> [    0.330730] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
> [    0.337396] ASID allocator initialised with 65536 entries
> [    0.344482] Serial: AMBA PL011 UART driver
> [    0.350914] Modules: 21600 pages in range for non-PLT usage
> [    0.350920] Modules: 513120 pages in range for PLT usage
> [    0.356758] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
> [    0.368493] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
> [    0.374744] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
> [    0.381511] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
> [    0.387762] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
> [    0.394531] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
> [    0.400784] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
> [    0.407551] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
> [    0.414206] Demotion targets for Node 0: null
> [    0.419168] ACPI: Interpreter disabled.
> [    0.423692] iommu: Default domain type: Translated
> [    0.428153] iommu: DMA domain TLB invalidation policy: strict mode
> [    0.434805] SCSI subsystem initialized
> [    0.438513] usbcore: registered new interface driver usbfs
> [    0.443706] usbcore: registered new interface driver hub
> [    0.448995] usbcore: registered new device driver usb
> [    0.454351] pps_core: LinuxPPS API ver. 1 registered
> [    0.458968] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
> Rodolfo Giometti <giometti@linux.it>
> [    0.468095] PTP clock support registered
> [    0.472054] EDAC MC: Ver: 3.0.0
> [    0.475481] scmi_core: SCMI protocol bus registered
> [    0.480546] FPGA manager framework
> [    0.483666] Advanced Linux Sound Architecture Driver Initialized.
> [    0.490590] vgaarb: loaded
> [    0.493333] clocksource: Switched to clocksource arch_sys_counter
> [    0.499297] VFS: Disk quotas dquot_6.6.0
> [    0.503017] VFS: Dquot-cache hash table entries: 512 (order 0, 4096
> bytes)
> [    0.510017] pnp: PnP ACPI: disabled
> [    0.519430] NET: Registered PF_INET protocol family
> [    0.524185] IP idents hash table entries: 65536 (order: 7, 524288
> bytes, linear)
> [    0.533803] tcp_listen_portaddr_hash hash table entries: 2048 (order:
> 3, 32768 bytes, linear)
> [    0.542061] Table-perturb hash table entries: 65536 (order: 6, 262144
> bytes, linear)
> [    0.549719] TCP established hash table entries: 32768 (order: 6,
> 262144 bytes, linear)
> [    0.557803] TCP bind hash table entries: 32768 (order: 8, 1048576
> bytes, linear)
> [    0.566154] TCP: Hash tables configured (established 32768 bind 32768)
> [    0.572472] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
> [    0.579091] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes,
> linear)
> [    0.586323] NET: Registered PF_UNIX/PF_LOCAL protocol family
> [    0.592198] RPC: Registered named UNIX socket transport module.
> [    0.597778] RPC: Registered udp transport module.
> [    0.602457] RPC: Registered tcp transport module.
> [    0.607143] RPC: Registered tcp-with-tls transport module.
> [    0.612612] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [    0.619048] PCI: CLS 0 bytes, default 64
> [    0.623428] kvm [1]: HYP mode not available
> [    0.628384] Initialise system trusted keyrings
> [    0.632632] workingset: timestamp_bits=42 max_order=20 bucket_order=0
> [    0.639182] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [    0.644948] NFS: Registering the id_resolver key type
> [    0.649780] Key type id_resolver registered
> [    0.653921] Key type id_legacy registered
> [    0.657932] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
> [    0.664597] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver
> Registering...
> [    0.672111] 9p: Installing v9fs 9p2000 file system support
> [    0.714617] Key type asymmetric registered
> [    0.718368] Asymmetric key parser 'x509' registered
> [    0.723278] Block layer SCSI generic (bsg) driver version 0.4 loaded
> (major 245)
> [    0.730608] io scheduler mq-deadline registered
> [    0.735119] io scheduler kyber registered
> [    0.739144] io scheduler bfq registered
> [    0.764751] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.773400] 401c8000.serial: ttyLF0 at MMIO 0x401c8000 (irq = 14,
> base_baud = 0) is a FSL_LINFLEX
> [    0.783976] printk: legacy console [ttyLF0] enabled
> [    0.783976] printk: legacy console [ttyLF0] enabled
> [    0.793930] printk: legacy bootconsole [linflex0] disabled
> [    0.793930] printk: legacy bootconsole [linflex0] disabled
> [    0.809777] 401cc000.serial: ttyLF1 at MMIO 0x401cc000 (irq = 15,
> base_baud = 0) is a FSL_LINFLEX
> [    0.819329] msm_serial: driver initialized
> [    0.823695] SuperH (H)SCI(F) driver initialized
> [    0.828378] STM32 USART driver initialized
> [    0.840105] loop: module loaded
> [    0.844169] megasas: 07.727.03.00-rc1
> [    0.852986] tun: Universal TUN/TAP device driver, 1.6
> [    0.858691] thunder_xcv, ver 1.0
> [    0.862013] thunder_bgx, ver 1.0
> [    0.865323] nicpf, ver 1.0
> [    0.868818] hns3: Hisilicon Ethernet Network Driver for Hip08 Family
> - version
> [    0.876179] hns3: Copyright (c) 2017 Huawei Corporation.
> [    0.881621] hclge is initializing
> [    0.885029] e1000: Intel(R) PRO/1000 Network Driver
> [    0.889999] e1000: Copyright (c) 1999-2006 Intel Corporation.
> [    0.895874] e1000e: Intel(R) PRO/1000 Network Driver
> [    0.900932] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> [    0.906982] igb: Intel(R) Gigabit Ethernet Network Driver
> [    0.912483] igb: Copyright (c) 2007-2014 Intel Corporation.
> [    0.918195] igbvf: Intel(R) Gigabit Virtual Function Network Driver
> [    0.924581] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
> [    0.930796] sky2: driver version 1.30
> [    0.935382] VFIO - User Level meta-driver version: 0.3
> [    0.942227] usbcore: registered new interface driver usb-storage
> [    0.950179] i2c_dev: i2c /dev entries driver
> [    0.959203] sdhci: Secure Digital Host Controller Interface driver
> [    0.965503] sdhci: Copyright(c) Pierre Ossman
> [    0.970334] Synopsys Designware Multimedia Card Interface Driver
> [    0.976987] sdhci-pltfm: SDHCI platform and OF driver helper
> [    0.983975] ledtrig-cpu: registered to indicate activity on CPUs
> [    0.990556] scmi_protocol scmi_dev.1: Enabled polling mode TX channel
> - prot_id:16
> [    0.998513] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled.
> [    1.005209] arm-scmi firmware:scmi: SCMI Protocol v2.0 'NXP:S32G399A'
> Firmware version 0x0
> [    1.014897] cpu cpu0: EM: only supports uW power values
> [    1.025027] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
> [    1.032401] usbcore: registered new interface driver usbhid
> [    1.038094] usbhid: USB HID core driver
> [    1.044180] hw perfevents: enabled with armv8_cortex_a53 PMU driver,
> 7 counters available
> [    1.056194] NET: Registered PF_PACKET protocol family
> [    1.061445] 9pnet: Installing 9P2000 support
> [    1.065867] Key type dns_resolver registered
> [    1.079732] Timer migration: 1 hierarchy levels; 8 children per
> group; 1 crossnode level
> [    1.088206] registered taskstats version 1
> [    1.092820] Loading compiled-in X.509 certificates
> [    1.115627] clk: Disabling unused clocks
> [    1.117662] sdhci-esdhc-imx 402f0000.mmc: could not get pinctrl
> [    1.119704] PM: genpd: Disabling unused power domains
> [    1.130853] ALSA device list:
> [    1.133886]   No soundcards found.
> [    1.157133] mmc0: SDHCI controller on 402f0000.mmc [402f0000.mmc]
> using ADMA
> [    1.164512] Waiting for root device /dev/mmcblk0p2...
> [    1.185787] mmc0: host does not support reading read-only switch,
> assuming write-enable
> [    1.195000] mmc0: new high speed SDHC card at address 5048
> [    1.201102] mmcblk0: mmc0:5048 SD32G 29.7 GiB
> [    1.208397]  mmcblk0: p1 p2
> [    1.238459] EXT4-fs (mmcblk0p2): recovery complete
> [    1.244613] EXT4-fs (mmcblk0p2): mounted filesystem
> 52830f5f-ab50-4125-a606-3c65100b7d4a r/w with ordered data mode. Quota
> mode: none.
> [    1.257000] VFS: Mounted root (ext4 filesystem) on device 179:2.
> [    1.264390] devtmpfs: mounted
> [    1.271069] Freeing unused kernel memory: 9984K
> [    1.275760] Run /sbin/init as init process
> [    1.657291] systemd[1]: System time before build time, advancing clock.
> [    1.714423] systemd[1]: systemd 250.5+ running in system mode (+PAM
> -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL
> +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP
> +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB
> +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
> [    1.746891] systemd[1]: Detected architecture arm64.
> 
> Welcome to Auto Linux BSP develop (kirkstone)!
> 
> [    1.845928] systemd[1]: Hostname set to <s32g399ardb3>.
> [    2.186158] systemd[1]: Binding to IPv6 address not available since
> kernel does not support IPv6.
> [    2.195287] systemd[1]: Binding to IPv6 address not available since
> kernel does not support IPv6.
> [    2.317364] systemd[1]: Queued start job for default target
> Multi-User System.
> [    2.396694] systemd[1]: Created slice Slice /system/getty.
> [  OK  ] Created slice Slice /system/getty.
> [    2.410476] systemd[1]: Created slice Slice /system/modprobe.
> [  OK  ] Created slice Slice /system/modprobe.
> [    2.424209] systemd[1]: Created slice Slice /system/serial-getty.
> [  OK  ] Created slice Slice /system/serial-getty.
> [    2.438389] systemd[1]: Created slice User and Session Slice.
> [  OK  ] Created slice User and Session Slice.
> [    2.450954] systemd[1]: Started Dispatch Password Requests to Console
> Directory Watch.
> [  OK  ] Started Dispatch Password …ts to Console Directory Watch.
> [    2.467638] systemd[1]: Started Forward Password Requests to Wall
> Directory Watch.
> [  OK  ] Started Forward Password R…uests to Wall Directory Watch.
> [    2.484011] systemd[1]: Reached target Path Units.
> [  OK  ] Reached target Path Units.
> [    2.494464] systemd[1]: Reached target Remote File Systems.
> [  OK  ] Reached target Remote File Systems.
> [    2.506485] systemd[1]: Reached target Slice Units.
> [  OK  ] Reached target Slice Units.
> [    2.517119] systemd[1]: Reached target Swaps.
> [  OK  ] Reached target Swaps.
> [    2.586411] systemd[1]: Listening on RPCbind Server Activation Socket.
> [  OK  ] Listening on RPCbind Server Activation Socket.
> [    2.600701] systemd[1]: Reached target RPC Port Mapper.
> [  OK  ] Reached target RPC Port Mapper.
> [    2.612616] systemd[1]: Listening on Syslog Socket.
> [  OK  ] Listening on Syslog Socket.
> [    2.623452] systemd[1]: Listening on initctl Compatibility Named Pipe.
> [  OK  ] Listening on initctl Compatibility Named Pipe.
> [    2.637954] systemd[1]: Listening on Journal Audit Socket.
> [  OK  ] Listening on Journal Audit Socket.
> [    2.650037] systemd[1]: Listening on Journal Socket (/dev/log).
> [  OK  ] Listening on Journal Socket (/dev/log).
> [    2.663102] systemd[1]: Listening on Journal Socket.
> [  OK  ] Listening on Journal Socket.
> [    2.674363] systemd[1]: Listening on Network Service Netlink Socket.
> [  OK  ] Listening on Network Service Netlink Socket.
> [    2.688327] systemd[1]: Listening on udev Control Socket.
> [  OK  ] Listening on udev Control Socket.
> [    2.700193] systemd[1]: Listening on udev Kernel Socket.
> [  OK  ] Listening on udev Kernel Socket.
> [    2.711963] systemd[1]: Listening on User Database Manager Socket.
> [  OK  ] Listening on User Database Manager Socket.
> [    2.749696] systemd[1]: Mounting Huge Pages File System...
>          Mounting Huge Pages File System...
> [    2.764346] systemd[1]: Mounting POSIX Message Queue File System...
>          Mounting POSIX Message Queue File System...
> [    2.780591] systemd[1]: Mounting Kernel Debug File System...
>          Mounting Kernel Debug File System...
> [    2.792560] systemd[1]: Kernel Trace File System was skipped because
> of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
> [    2.805768] systemd[1]: Create List of Static Device Nodes was
> skipped because of a failed condition check
> (ConditionFileNotEmpty=/lib/modules/6.9.0-rc1-00004-gcb630dd69df3/modules.devname).
> [    2.826957] systemd[1]: Starting Load Kernel Module configfs...
>          Starting Load Kernel Module configfs...
> [    2.842860] systemd[1]: Starting Load Kernel Module drm...
>          Starting Load Kernel Module drm...
> [    2.857874] systemd[1]: Starting Load Kernel Module fuse...
>          Starting Load Kernel Module fuse...
> [    2.879679] systemd[1]: Starting RPC Bind...
>          Starting RPC Bind...
> [    2.888514] systemd[1]: File System Check on Root Device was skipped
> because of a failed condition check (ConditionPathIsReadWrite=!/).
> [    2.907067] systemd[1]: Starting Journal Service...
>          Starting Journal Service...
> [    2.925119] systemd[1]: Starting Load Kernel Modules...
>          Starting Load Kernel Modules...
> [    2.940298] systemd[1]: Starting Generate network units from Kernel
> command line...
>          Starting Generate network …ts from Kernel command line...
> [    2.959955] systemd[1]: Starting Remount Root and Kernel File Systems...
>          Starting Remount Root and Kernel File Systems...
> [    2.977958] systemd[1]: Starting Coldplug All udev Devices...
>          Starting Coldplug All udev Devices...
> [    2.995944] systemd[1]: Started RPC Bind.
> [  OK  ] Started RPC Bind.
> [    3.005902] systemd[1]: Mounted Huge Pages File System.
> [  OK  ] Mounted Huge Pages File System.
> [    3.018033] systemd[1]: Mounted POSIX Message Queue File System.
> [  OK  ] Mounted POSIX Message Queue File System.[    3.029658] EXT4-fs
> (mmcblk0p2): re-mounted 52830f5f-ab50-4125-a606-3c65100b7d4a r/w. Quota
> mode: none.
> 
> [    3.043175] systemd[1]: Started Journal Service.
> [  OK  ] Started Journal Service.
> [  OK  ] Mounted Kernel Debug File System.
> [  OK  ] Finished Load Kernel Module configfs.
> [  OK  ] Finished Load Kernel Module drm.
> [  OK  ] Finished Load Kernel Module fuse.
> [FAILED] Failed to start Load Kernel Modules.
> See 'systemctl status systemd-modules-load.service' for details.
> [  OK  ] Finished Generate network units from Kernel command line.
> [  OK  ] Finished Remount Root and Kernel File Systems.
>          Mounting Kernel Configuration File System...
>          Starting Flush Journal to Persistent Storage...
>          Starting Apply Kernel Variables...
>          Starting Create Static Device Nodes in /dev...[    3.206617]
> systemd-journald[124]: Received client request to flush runtime journal.
> 
> [  OK  ] Mounted Kernel Configuration File System.
> [  OK  ] Finished Flush Journal to Persistent Storage.
> [  OK  ] Finished Apply Kernel Variables.
> [  OK  ] Finished Create Static Device Nodes in /dev.
> [  OK  ] Reached target Preparation for Local File Systems.
>          Mounting /tmp...
>          Mounting /var/volatile...
> [    3.338366] audit: type=1334 audit(1651167746.684:2): prog-id=5 op=LOAD
> [    3.345166] audit: type=1334 audit(1651167746.688:3): prog-id=6 op=LOAD
>          Starting Rule-based Manage…for Device Events and Files...
> [  OK  ] Mounted /tmp.
> [  OK  ] Mounted /var/volatile.
>          Mounting /var/volatile/tmp...
>          Starting Load/Save Random Seed...
> [  OK  ] Mounted /var/volatile/tmp.
> [  OK  ] Reached target Local File Systems.
>          Starting Create Volatile Files and Directories...
> [  OK  ] Finished Create Volatile Files and Directories.
>          Starting Network Time Synchronization...
>          Starting Record System Boot/Shutdown in UTMP...
> [  OK  ] Started Rule-based Manager for Device Events and Files.
> [  OK  ] Finished Coldplug All udev Devices.
> [  OK  ] Finished Record System Boot/Shutdown in UTMP.
> [  OK  ] Started Network Time Synchronization.
> [  OK  ] Reached target System Initialization.
> [  OK  ] Started Daily Cleanup of Temporary Directories.
> [  OK  ] Reached target System Time Set.
> [  OK  ] Started Daily rotation of log files.
> [  OK  ] Reached target Timer Units.
> [  OK  ] Listening on D-Bus System Message Bus Socket.
>          Starting sshd.socket...
> [  OK  ] Listening on sshd.socket.
> [  OK  ] Reached target Socket Units.
> [  OK  ] Reached target Basic System.
> [  OK  ] Started Job spooling tools.
> [  OK  ] Started Periodic Command Scheduler.
>          Starting D-Bus System Message Bus...
>          Starting IPv6 Packet Filtering Framework...
>          Starting IPv4 Packet Filtering Framework...
> [  OK  ] Started irqbalance daemon.
> [  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
> [  OK  ] Started System Logging Service.
>          Starting Resets System Activity Logs...
> [    4.124453] audit: type=1334 audit(1651254541.860:4): prog-id=7 op=LOAD
> [    4.131266] audit: type=1334 audit(1651254541.868:5): prog-id=8 op=LOAD
>          Starting User Login Management...
>          Starting OpenSSH Key Generation...
> [  OK  ] Finished IPv6 Packet Filtering Framework.
> [  OK  ] Finished IPv4 Packet Filtering Framework.
> [  OK  ] Reached target Preparation for Network.
>          Starting Network Configuration...
> [  OK  ] Finished Resets System Activity Logs.
> [  OK  ] Finished OpenSSH Key Generation.
> [  OK  ] Started Network Configuration.
>          Starting Network Name Resolution...
> [  OK  ] Started Network Name Resolution.
> [  OK  ] Reached target Network.
> [  OK  ] Reached target Host and Network Name Lookups.
> [  OK  ] Started Netperf Benchmark Server.
> [  OK  ] Started NFS status monitor for NFSv2/3 locking..
> [  OK  ] Started Respond to IPv6 Node Information Queries.
> [  OK  ] Started Network Router Discovery Daemon.
>          Starting Permit User Sessions...
> [  OK  ] Started Xinetd A Powerful Replacement For Inetd.
> [  OK  ] Finished Permit User Sessions.
> [  OK  ] Started Getty on tty1.
> [  OK  ] Started Serial Getty on ttyLF0.
> [  OK  ] Reached target Login Prompts.
> [  OK  ] Created slice Slice /system/systemd-fsck.
> [  OK  ] Found device /dev/mmcblk0p1.
>          Starting File System Check on /dev/mmcblk0p1...
> [  OK  ] Finished File System Check on /dev/mmcblk0p1.
>          Mounting /run/media/boot_s32g3-mmcblk0p1...
> [  OK  ] Mounted /run/media/boot_s32g3-mmcblk0p1.
> [  OK  ] Finished Load/Save Random Seed.
> [  OK  ] Started D-Bus System Message Bus.
> [  OK  ] Started User Login Management.
> [  OK  ] Reached target Multi-User System.
>          Starting Record Runlevel Change in UTMP...
> [  OK  ] Finished Record Runlevel Change in UTMP.
> 
> 
> Regards,
> Ghennadi
>
Ghennadi Procopciuc March 25, 2024, 1:34 p.m. UTC | #3
On 3/25/24 15:26, Wadim Mueller wrote:
> On Mon, Mar 25, 2024 at 11:30:38AM +0200, Ghennadi Procopciuc wrote:
>> On 3/24/24 23:43, Wadim Mueller wrote:
>>> This commit adds device tree support for the NXP S32G3-based
>>> S32G-VNP-RDB3 Board [1].
>>>
>>> The S32G3 features an 8-core ARM Cortex-A53 based SoC developed by NXP.
>>>
>>> The device tree files are derived from the official NXP downstream
>>> Linux tree [2].
>>>
>>> This addition encompasses a limited selection of peripherals that
>>> are upstream-supported. Apart from the ARM System Modules
>>> (GIC, Generic Timer, etc.), the following IPs have been validated:
>>>
>>>     * UART: fsl-linflexuart
>>>     * SDHC: fsl-imx-esdhc
>>>
>>> Clock settings for the chip rely on ATF Firmware [3].
>>> Pin control integration into the device tree is pending and currently
>>> relies on Firmware/U-Boot settings [4].
>>>
>>> These changes were validated using BSP39 Firmware/U-Boot from NXP [5].
>>>
>>> The modifications enable booting the official Ubuntu 22.04 from NXP on
>>> the RDB3 with default settings from the SD card and eMMC.
>>>
>>> [1] https://www.nxp.com/design/design-center/designs/s32g3-vehicle-networking-reference-design:S32G-VNP-RDB3
>>> [2] https://github.com/nxp-auto-linux/linux
>>> [3] https://github.com/nxp-auto-linux/arm-trusted-firmware
>>> [4] https://github.com/nxp-auto-linux/u-boot
>>> [5] https://github.com/nxp-auto-linux/auto_yocto_bsp
>>>
>>> Signed-off-by: Wadim Mueller <wafgo01@gmail.com>
>>> ---
>>
>> Thank you, Wadim, for bringing up the S32G3RDB3 board! The board boots
>> with all 8 cores. The log is attached below.
>>
> 
> Thanks for testing Ghennadi, much appreciated. 
> 
> According to MAINTAINERS all "dts/freescale/" DTS files
> needs to go through the IMX/MXC tree? 
> Is my understanding correct? Just asking whether I understand the file
> content correctly!
> 

Indeed, everything should go through the IMX tree.
Here [0] you can find a long discussion about this.

[0]
https://lore.kernel.org/linux-arm-kernel/a5f7b53a-6b44-4f0b-83f2-b055b8aa3b2d@suse.com/

Regards,
Ghennadi
Shawn Guo April 2, 2024, 2:41 p.m. UTC | #4
On Sun, Mar 24, 2024 at 10:43:26PM +0100, Wadim Mueller wrote:
> This commit adds device tree support for the NXP S32G3-based
> S32G-VNP-RDB3 Board [1].
> 
> The S32G3 features an 8-core ARM Cortex-A53 based SoC developed by NXP.
> 
> The device tree files are derived from the official NXP downstream
> Linux tree [2].
> 
> This addition encompasses a limited selection of peripherals that
> are upstream-supported. Apart from the ARM System Modules
> (GIC, Generic Timer, etc.), the following IPs have been validated:
> 
>     * UART: fsl-linflexuart
>     * SDHC: fsl-imx-esdhc
> 
> Clock settings for the chip rely on ATF Firmware [3].
> Pin control integration into the device tree is pending and currently
> relies on Firmware/U-Boot settings [4].
> 
> These changes were validated using BSP39 Firmware/U-Boot from NXP [5].
> 
> The modifications enable booting the official Ubuntu 22.04 from NXP on
> the RDB3 with default settings from the SD card and eMMC.
> 
> [1] https://www.nxp.com/design/design-center/designs/s32g3-vehicle-networking-reference-design:S32G-VNP-RDB3
> [2] https://github.com/nxp-auto-linux/linux
> [3] https://github.com/nxp-auto-linux/arm-trusted-firmware
> [4] https://github.com/nxp-auto-linux/u-boot
> [5] https://github.com/nxp-auto-linux/auto_yocto_bsp
> 
> Signed-off-by: Wadim Mueller <wafgo01@gmail.com>
> ---
>  arch/arm64/boot/dts/freescale/Makefile        |   1 +
>  arch/arm64/boot/dts/freescale/s32g3.dtsi      | 233 ++++++++++++++++++
>  .../boot/dts/freescale/s32g399a-rdb3.dts      |  45 ++++
>  3 files changed, 279 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/freescale/s32g3.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-rdb3.dts
> 
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index 2cb0212b63c6..e701008dbc7b 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -252,3 +252,4 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw74xx-rpidsi.dtb
>  dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
>  dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
>  dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb
> +dtb-$(CONFIG_ARCH_S32) += s32g399a-rdb3.dtb

The list is alphabetically sorted, so it should be added before
s32v234-evb.dtb.  I fixed it up and applied the patch.

Shawn
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 2cb0212b63c6..e701008dbc7b 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -252,3 +252,4 @@  dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw74xx-rpidsi.dtb
 dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
 dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
 dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb
+dtb-$(CONFIG_ARCH_S32) += s32g399a-rdb3.dtb
diff --git a/arch/arm64/boot/dts/freescale/s32g3.dtsi b/arch/arm64/boot/dts/freescale/s32g3.dtsi
new file mode 100644
index 000000000000..c1b08992754b
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/s32g3.dtsi
@@ -0,0 +1,233 @@ 
+// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+/*
+ * Copyright 2021-2023 NXP
+ *
+ * Authors: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
+ *          Ciprian Costea <ciprianmarian.costea@nxp.com>
+ *          Andra-Teodora Ilie <andra.ilie@nxp.com>
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "nxp,s32g3";
+	interrupt-parent = <&gic>;
+	#address-cells = <0x02>;
+	#size-cells = <0x02>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu-map {
+			cluster0 {
+				core0 {
+					cpu = <&cpu0>;
+				};
+
+				core1 {
+					cpu = <&cpu1>;
+				};
+
+				core2 {
+					cpu = <&cpu2>;
+				};
+
+				core3 {
+					cpu = <&cpu3>;
+				};
+			};
+
+			cluster1 {
+				core0 {
+					cpu = <&cpu4>;
+				};
+
+				core1 {
+					cpu = <&cpu5>;
+				};
+
+				core2 {
+					cpu = <&cpu6>;
+				};
+
+				core3 {
+					cpu = <&cpu7>;
+				};
+			};
+		};
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x0>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+
+		cpu1: cpu@1 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x1>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+
+		cpu2: cpu@2 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x2>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+
+		cpu3: cpu@3 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x3>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+
+		cpu4: cpu@100 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x100>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+
+		cpu5: cpu@101 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x101>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+
+		cpu6: cpu@102 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x102>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+
+		cpu7: cpu@103 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x103>;
+			enable-method = "psci";
+			clocks = <&dfs 0>;
+		};
+	};
+
+	firmware {
+		scmi: scmi {
+			compatible = "arm,scmi-smc";
+			shmem = <&scmi_shmem>;
+			arm,smc-id = <0xc20000fe>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			dfs: protocol@13 {
+				reg = <0x13>;
+				#clock-cells = <1>;
+			};
+
+			clks: protocol@14 {
+				reg = <0x14>;
+				#clock-cells = <1>;
+			};
+		};
+
+		psci: psci {
+			compatible = "arm,psci-1.0";
+			method = "smc";
+		};
+	};
+
+
+	pmu {
+		compatible = "arm,cortex-a53-pmu";
+		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	reserved-memory  {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		scmi_shmem: shm@d0000000 {
+			compatible = "arm,scmi-shmem";
+			reg = <0x0 0xd0000000 0x0 0x80>;
+			no-map;
+		};
+	};
+
+	soc@0 {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0 0 0 0x80000000>;
+
+		uart0: serial@401c8000 {
+			compatible = "nxp,s32g3-linflexuart",
+				     "fsl,s32v234-linflexuart";
+			reg = <0x401c8000 0x3000>;
+			interrupts = <GIC_SPI 82 IRQ_TYPE_EDGE_RISING>;
+			status = "disabled";
+		};
+
+		uart1: serial@401cc000 {
+			compatible = "nxp,s32g3-linflexuart",
+				     "fsl,s32v234-linflexuart";
+			reg = <0x401cc000 0x3000>;
+			interrupts = <GIC_SPI 83 IRQ_TYPE_EDGE_RISING>;
+			status = "disabled";
+		};
+
+		uart2: serial@402bc000 {
+			compatible = "nxp,s32g3-linflexuart",
+				     "fsl,s32v234-linflexuart";
+			reg = <0x402bc000 0x3000>;
+			interrupts = <GIC_SPI 84 IRQ_TYPE_EDGE_RISING>;
+			status = "disabled";
+		};
+
+		usdhc0: mmc@402f0000 {
+			compatible = "nxp,s32g3-usdhc",
+				     "nxp,s32g2-usdhc";
+			reg = <0x402f0000 0x1000>;
+			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&clks 32>,
+				 <&clks 31>,
+				 <&clks 33>;
+			clock-names = "ipg", "ahb", "per";
+			status = "disabled";
+		};
+
+		gic: interrupt-controller@50800000 {
+			compatible = "arm,gic-v3";
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			reg = <0x50800000 0x10000>,
+			      <0x50900000 0x200000>,
+			      <0x50400000 0x2000>,
+			      <0x50410000 0x2000>,
+			      <0x50420000 0x2000>;
+			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+		};
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupt-parent = <&gic>;
+		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* sec-phys */
+			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* phys */
+			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* virt */
+			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>, /* hyp-phys */
+			     <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW>; /* hyp-virt */
+		arm,no-tick-in-suspend;
+	};
+};
diff --git a/arch/arm64/boot/dts/freescale/s32g399a-rdb3.dts b/arch/arm64/boot/dts/freescale/s32g399a-rdb3.dts
new file mode 100644
index 000000000000..9d674819876e
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/s32g399a-rdb3.dts
@@ -0,0 +1,45 @@ 
+// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+/*
+ * Copyright 2021-2023 NXP
+ *
+ * NXP S32G3 Reference Design Board 3 (S32G-VNP-RDB3)
+ */
+
+/dts-v1/;
+
+#include "s32g3.dtsi"
+
+/ {
+	model = "NXP S32G3 Reference Design Board 3 (S32G-VNP-RDB3)";
+	compatible = "nxp,s32g399a-rdb3", "nxp,s32g3";
+
+	aliases {
+		mmc0 = &usdhc0;
+		serial0 = &uart0;
+		serial1 = &uart1;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	/* 4GiB RAM */
+	memory@80000000 {
+		device_type = "memory";
+		reg = <0x0 0x80000000 0 0x80000000>,
+		      <0x8 0x80000000 0 0x80000000>;
+	};
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&usdhc0 {
+	bus-width = <8>;
+	status = "okay";
+};