...
Linux official web: LINUX.ORG
Linux git repositories: Kernel.org git repositories6.6.47 (LTS) is downloaded from: linux-6.6.47.tar.gz
Table of Contents
Table of Contents | ||
---|---|---|
|
Features of Linux
The Linux kernel boasts several prominent features, including:
...
These features collectively contribute to Linux's widespread adoption and success across diverse computing environments.
Supported Drivers
...
for SP7350 Platform
...
Drivers
...
Folders or files
...
Features
...
8-bit NAND
...
drivers/mtd/nand/raw/sp_paranand/
...
Support mtd framework.
...
The source files of the Linux kernel are centrally located within the "linux/kernel/" directory under the project's top directory. For the SP7350 platform, a wide array of device drivers is supported. These drivers are within the "drivers/" directory. Below is a reference table detailing the drivers along with their corresponding feature descriptions:
Type
Folders
Files
Descriptions
dts
arch/arm64/boot/dts/sunplus/
sp7350-ev.dts
For Evaluation board
sp7350-dm.dts
For Demo board
defconfig files
arch/arm64/configs/
sp7350_emmc_dm_defconfig
sp7350_sdcard_dm_defconfig
sp7350_emmc_ev_defconfig
sp7350_sdcard_ev_defconfig
sp7350_nand_ev_defconfig
Drivers | Folders or files | Features | |
8-bit NAND | mtd/nand/raw/sp_paranand/ |
| |
ADC (SAR12B) | drivers/iio/adc/sp-adc.c |
| Audio (I2S) |
sound/AXI Arbiter | soc/sunplus/ |
| |
AXI DM | misc/sunplus_dm_test.c |
| |
AXI DMA | drivers/dma/dw-axi-dmac/ |
| |
AXI Monitor | drivers/soc/sunplus/ |
| |
CB DMA | drivers/dma/sp_cbdma.c |
| |
Clock | drivers/clk/clk-sp7350.c |
| |
CPUFreq | drivers/cpufreq/sp7350-cpufreq.c |
| |
CPUIdle | drivers/cpuidle/cpuidle-psci.c |
| |
Crypto Engine | drivers/crypto/sunplus/ |
| |
Display | drivers/
| ||
Crypto Engine | crypto/sunplus/ |
| |
Display (framebuffer) | media/platform/sunplus/display/ sp7350/ |
| |
eMMC | drivers/mmc/host/sunplus-mmc.* |
| |
Ethernet | drivers/net/ethernet/stmicro/stmmac/ |
| |
I2C | drivers/i2c/busses/i2c-designware-*.c |
| |
Interrupt Controller | drivers/irqchip/irq-gic.c |
| |
Mailbox | drivers/mailbox/sunplus_ipc.* |
| |
MIPI/CSI-RX | drivers/media/platform/sunplus/mipicsi/ |
| |
Display (DRM) | drivers/gpu/drm/sunplus/sp7350/ |
| |
NVMEM (OTP) | drivers/nvmem/sp-ocotp*.c |
| |
PinCtl / GPIO | drivers/pinctrl/sunplus/ |
| |
PWM | drivers/pwm/pwm-sunplus.c |
| |
Remoteproc | drivers/remote/sp_remoteproc.c |
| |
Reset | drivers/reset/reset-sunplus.c |
| |
RNG | drivers/char/hw_random/sp7350-rng.c |
| |
RT5759 (PMIC) | drivers/regulator/rt5759-regulator.c |
| |
RTC | drivers/rtc/rtc-sunplus.c |
| |
Semaphore | drivers/hwspinlock/sunplus_hwspinlock.c |
| |
SPI | drivers/spi/spi-dw* |
| |
SPI-NAND | drivers/mtd/nand/raw/sp_* |
| |
SPI-NOR | drivers/mtd/spi-nor/controllers/sp-spi-nor.c |
| |
SD / SDIO | drivers/mmc/host/sunplus_sd3.* |
| |
Thermal | drivers/thermal/sunplus_thermal.c |
| |
USB2.0 EHCI | drivers/usb/host/ehci*-sunplus.* |
| |
USB2.0 OHCI | drivers/usb/host/ohci*-sunplus.* |
| USB2.0 PHY | driver/phy/sunplus/phy-sunplus-usb2.c |
USB2.0 UDC | drivers/usb/gadget/udc/sunplus_udc2.* |
| |
USB2.0 OTG | drivers/usb/phy/otg-sp7350-sunplus.c |
| |
USB3.0 DRD | drivers/usb/dw3/ |
| |
USB3.0 extcon | drivers/extcon/extcon-usb-gpio-sunplus.c |
| USB3.0 PHY | drivers/usb/phy/synopsysu3phy-sunplus.c |
UART | drivers/tty/serial/sunplus-uart.c |
| |
VIP9000 (NPU) | drivers/media/platform/sunplus/vip9000/ |
| |
Video decoder | drivers/media/platform/sunplus/videocodec/ |
| |
Video encoder | drivers/media/platform/sunplus/videocodec/ |
| |
Watchdog | drivers/watchdog/sunplus_wdt.c |
|
Other SP7350 platform-specific files
| ||
eMMC | mmc/host/sunplus_mmc.* |
|
Ethernet | net/ethernet/stmicro/stmmac/ |
|
GDC | media/platform/sunplus/gdc/ |
|
I2C | i2c/busses/i2c-designware-*.c |
|
Mailbox | mailbox/sunplus*.* |
|
MIPI/CSI-RX | media/platform/sunplus/mipicsi/ |
|
NVMEM (OTP) | nvmem/sp-ocotp*.c |
|
PinCtl / GPIO | pinctrl/sunplus/pinctrl-*.* pinctrl/sunplus/gpio-sp7350.* |
|
PWM | pwm/pwm-sunplus.c |
|
Regulators |
|
|
Remoteproc | remote/sp_remoteproc.c |
|
Reset | reset/reset-sunplus.c |
|
HW RNG | char/hw_random/sp7350-rng.c |
|
RTC | rtc/rtc-sp7350.c |
|
Semaphore | hwspinlock/sunplus_hwspinlock.c |
|
SPI | spi/spi-dw* |
|
SPI-NAND | mtd/nand/raw/sp_* |
|
SD / SDIO | mmc/host/sunplus_sd3.* |
|
SPI-NOR | mtd/spi-nor/controllers/ sp-spi-nor.c |
|
STC | misc/sunplus_stc.c |
|
Thermal | thermal/sunplus_thermal.c |
|
Timer | misc/sunplus_timer.c |
|
USB2.0 EHCI | usb/host/ehci*-sunplus.* |
|
USB2.0 OHCI | usb/host/ohci*-sunplus.* |
|
USB2.0 PHY | phy/sunplus/phy-sunplus-usb2.c |
|
USB2.0 UDC | usb/gadget/udc/sunplus_udc2.* |
|
USB2.0 OTG | usb/phy/otg-sp7350-sunplus.c |
|
USB3.0 DRD | usb/dw3/ |
|
USB3.0 extcon | extcon/extcon-usb-gpio-sunplus.c |
|
USB3.0 PHY | usb/phy/synopsysu3phy-sunplus.c |
|
UART | tty/serial/sunplus-uart-sp7350.c |
|
Video sensors | media/i2c/imx219.c media/i2c/imx307.c media/i2c/imx708.c media/i2c/ov5640.c media/i2c/ov5647.c media/i2c/tp2815.c |
|
VIP9000 (NPU) | media/platform/sunplus/vip9000/ |
|
Video decoder (VC8000D nano) | media/platform/sunplus/ videocodec/ |
|
Video encoder (VC8000E nano) | media/platform/sunplus/ videocodec/ |
|
Watchdog | watchdog/sunplus_wdt_sp7350.c |
|
Traditionally, due to historical reasons, the sound driver within the Linux kernel has been located at the "sound/" directory, rather than under the "drivers/" directory as might be expected.
Drivers | Folders or files | Features |
Audio (I2S) | soc/sunplus/ |
|
Audio codec |
|
|
SP7350 Platform-specific Files
Platform-specific files are located at “arch/arm64/” under Linux kernel directory. Below table details the files along with their corresponding feature descriptions:
Type | Folders | Files | Descriptions |
dts | boot/dts/sunplus/ | sp7350-ev.dts | For Evaluation board |
sp7350-dm.dts | For Demo board | ||
defconfig files | configs/ | sp7350_emmc_dm_defconfig | for Demo board, eMMC boot |
sp7350_sdcard_dm_defconfig | for Demo board, SD card boot | ||
sp7350_emmc_ev_defconfig | for EVB, eMMC boot | ||
sp7350_sdcard_ev_defconfig | for EVB, SD card boot | ||
sp7350_nand_ev_defconfig | for EVB, SPI-NAND flash boot | ||
sp7350_pnand_ev_defconfig | for EVB, 8-bit NAND flash boot | ||
Kconfig | ./ | Kconfig.platforms | for SP7350 platform |
Note that U-Boot and Linux share device-tree source files. For usage guidance, please refer to:
https://sunplus.atlassian.net/wiki/x/HwB8dg
Log of Linux
Code Block |
---|
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[ 0.000000] Linux version 6.6.47-SUNPLUS-v8-g05de8285b844 (wellslu@scdiu3) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 12.3.Rel1 (Build arm-12.35)) 12.3.1 20230626, GNU ld (Arm GNU Toolchain 12.3.Rel1 (Build arm-12.35)) 2.40.0.20230627) #1 SMP Thu Sep 26 18:43:15 CST 2024
[ 0.000000] Machine model: Sunplus SP7350 EVB
[ 0.000000] earlycon: sunplus_uart0 at MMIO 0x00000000f8801900 (options '115200n8')
[ 0.000000] printk: bootconsole [sunplus_uart0] enabled
[ 0.000000] OF: reserved mem: 0x0000000000000000..0x00000000000fffff (1024 KiB) nomap non-reusable null_pointer@0
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000000100000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node rproc0@100000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x0000000000100000..0x00000000001fffff (1024 KiB) nomap non-reusable rproc0@100000
[ 0.000000] OF: reserved mem: 0x0000000000200000..0x00000000002fffff (1024 KiB) nomap non-reusable tfa@200000
[ 0.000000] OF: reserved mem: 0x0000000000300000..0x00000000004fffff (2048 KiB) nomap non-reusable optee@300000
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000004f400000, size 200 MiB
[ 0.000000] OF: reserved mem: initialized node mipicsirx@4f400000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000004f400000..0x000000005bbfffff (204800 KiB) map reusable mipicsirx@4f400000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000005be00000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node vdev0buffer@5be00000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000005be00000..0x000000005befffff (1024 KiB) nomap non-reusable vdev0buffer@5be00000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000005bf00000, size 0 MiB
[ 0.000000] OF: reserved mem: initialized node vdev0vring0@5bf00000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000005bf00000..0x000000005bf0ffff (64 KiB) nomap non-reusable vdev0vring0@5bf00000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000005bf10000, size 0 MiB
[ 0.000000] OF: reserved mem: initialized node vdev0vring1@5bf10000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000005bf10000..0x000000005bf1ffff (64 KiB) nomap non-reusable vdev0vring1@5bf10000
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000005bf20000, size 0 MiB
[ 0.000000] OF: reserved mem: initialized node vdev0_reserve@5bf20000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000005bf20000..0x000000005bffffff (896 KiB) nomap non-reusable vdev0_reserve@5bf20000
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000005c000000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node disp_reserve@5c000000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000005c000000..0x000000005fffffff (65536 KiB) map reusable disp_reserve@5c000000
[ 0.000000] OF: reserved mem: 0x0000000060000000..0x0000000073ffffff (327680 KiB) nomap non-reusable vcodec@60000000
[ 0.000000] OF: reserved mem: 0x0000000074000000..0x0000000077ffffff (65536 KiB) nomap non-reusable vcodec@74000000
[ 0.000000] OF: reserved mem: 0x0000000078000000..0x000000007fffffff (131072 KiB) nomap non-reusable npu_reserve@78000000
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000080000000, size 384 MiB
[ 0.000000] OF: reserved mem: initialized node vcodec@80000000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x0000000080000000..0x0000000097ffffff (393216 KiB) map reusable vcodec@80000000
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000098000000, size 128 MiB
[ 0.000000] OF: reserved mem: initialized node gdc@98000000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x0000000098000000..0x000000009fffffff (131072 KiB) map reusable gdc@98000000
[ 0.000000] Reserved memory: created DMA memory pool at 0x00000000fa240000, size 0 MiB
[ 0.000000] OF: reserved mem: initialized node cm4runaddr@fa240000, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x00000000fa240000..0x00000000fa29ffff (384 KiB) nomap non-reusable cm4runaddr@fa240000
[ 0.000000] OF: NUMA: parsing numa-distance-map-v1
[ 0.000000] NUMA: NODE_DATA [mem 0xefffdb40-0xefffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x10f8a8b40-0x10f8aafff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x000000010fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x00000000004fffff]
[ 0.000000] node 0: [mem 0x0000000000500000-0x000000005bdfffff]
[ 0.000000] node 0: [mem 0x000000005be00000-0x000000005bffffff]
[ 0.000000] node 0: [mem 0x000000005c000000-0x000000005fffffff]
[ 0.000000] node 0: [mem 0x0000000060000000-0x000000007fffffff]
[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000efffffff]
[ 0.000000] node 1: [mem 0x0000000100000000-0x000000010fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000efffffff]
[ 0.000000] Initmem setup node 1 [mem 0x0000000100000000-0x000000010fffffff]
[ 0.000000] cma: Reserved 16 MiB at 0x00000000eec00000 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: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 20 pages/cpu s41128 r8192 d32600 u81920
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: Virtualization Host Extensions
[ 0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM erratum 1286807, 2441009
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Kernel command line: console=ttyS0,115200 earlycon root=/dev/mmcblk0p8 rw rootwait rootfstype=squashfs
[ 0.000000] Fallback order for Node 0: 0 1
[ 0.000000] Fallback order for Node 1: 1 0
[ 0.000000] Built 2 zonelists, mobility grouping on. Total pages: 1032192
[ 0.000000] Policy zone: Normal
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] software IO TLB: area num 4.
[ 0.000000] software IO TLB: mapped [mem 0x00000000e6c00000-0x00000000eac00000] (64MB)
[ 0.000000] Memory: 2689108K/4194304K available (13568K kernel code, 1816K rwdata, 4100K rodata, 2752K init, 568K bss, 694188K reserved, 811008K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=2
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] PLLA 147456000
[ 0.000000] PLLC 1500000000
[ 0.000000] PLLL3 1200000000
[ 0.000000] PLLD 800000000
[ 0.000000] PLLH 2075000000
[ 0.000000] PLLN 500000000
[ 0.000000] PLLS 2000000000
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000000] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008309] Console: colour dummy device 80x25
[ 0.012741] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=25000)
[ 0.023012] pid_max: default: 32768 minimum: 301
[ 0.028343] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, vmalloc hugepage)
[ 0.037587] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, vmalloc)
[ 0.045448] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, vmalloc)
[ 0.052928] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, vmalloc)
[ 0.061577] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 0.068119] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[ 0.075767] rcu: Hierarchical SRCU implementation.
[ 0.080501] rcu: Max phase no-delay instances is 400.
[ 0.086335] smp: Bringing up secondary CPUs ...
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot
[ 0.098968] Detected VIPT I-cache on CPU1
[ 0.099019] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[ 0.107192] Detected VIPT I-cache on CPU2
[ 0.107223] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[ 0.115367] Detected VIPT I-cache on CPU3
[ 0.115395] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[ 0.115444] smp: Brought up 2 nodes, 4 CPUs
[ 0.151306] SMP: Total of 4 processors activated.
[ 0.156029] CPU features: detected: 32-bit EL0 Support
[ 0.161188] CPU features: detected: Data cache clean to the PoU not required for I/D coherence
[ 0.169844] CPU features: detected: Common not Private translations
[ 0.176139] CPU features: detected: CRC32 instructions
[ 0.181300] CPU features: detected: RCpc load-acquire (LDAPR)
[ 0.187069] CPU features: detected: LSE atomic instructions
[ 0.192666] CPU features: detected: Privileged Access Never
[ 0.198262] CPU features: detected: RAS Extension Support
[ 0.203684] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[ 0.210728] CPU: All CPU(s) started at EL2
[ 0.214790] alternatives: applying system-wide alternatives
[ 0.224412] devtmpfs: initialized
[ 0.233542] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[ 0.243278] futex hash table entries: 1024 (order: 4, 65536 bytes, vmalloc)
[ 0.260151] pinctrl core: initialized pinctrl subsystem
[ 0.265920] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.272500] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[ 0.279606] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.287421] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.295337] audit: initializing netlink subsys (disabled)
[ 0.300826] audit: type=2000 audit(0.080:1): state=initialized audit_enabled=0 res=1
[ 0.301161] thermal_sys: Registered thermal governor 'step_wise'
[ 0.308565] cpuidle: using governor menu
[ 0.318651] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.325448] ASID allocator initialised with 65536 entries
[ 0.332969] platform f8005c80.crtc0: Fixed dependency cycle(s) with /mipi-dsi@f8006600
[ 0.340913] platform f8006600.mipi-dsi: Fixed dependency cycle(s) with /i2c@f882e000/lcd@45
[ 0.349250] platform f8006600.mipi-dsi: Fixed dependency cycle(s) with /i2c@f882e000/hdmi@48
[ 0.357729] platform f8006600.mipi-dsi: Fixed dependency cycle(s) with /crtc0@f8005c80
[ 0.372090] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[ 0.381354] SP7350 PinCtl by Sunplus Tech.(C) 2023
[ 0.382935] platform hdmi-connector: Fixed dependency cycle(s) with /i2c@f882e000/hdmi@48
[ 0.396144] Modules: 27024 pages in range for non-PLT usage
[ 0.396148] Modules: 518544 pages in range for PLT usage
[ 0.402899] iommu: Default domain type: Translated
[ 0.412967] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.419329] SCSI subsystem initialized
[ 0.423100] usbcore: registered new interface driver usbfs
[ 0.428547] usbcore: registered new interface driver hub
[ 0.433882] usbcore: registered new device driver usb
[ 0.439317] platform f8006600.mipi-dsi: Fixed dependency cycle(s) with /i2c@f882e000/lcd@45
[ 0.447679] i2c 6-0045: Fixed dependency cycle(s) with /mipi-dsi@f8006600
[ 0.454575] platform hdmi-connector: Fixed dependency cycle(s) with /i2c@f882e000/hdmi@48
[ 0.462751] platform f8006600.mipi-dsi: Fixed dependency cycle(s) with /i2c@f882e000/hdmi@48
[ 0.471231] i2c 6-0048: Fixed dependency cycle(s) with /hdmi-connector
[ 0.477788] i2c 6-0048: Fixed dependency cycle(s) with /mipi-dsi@f8006600
[ 0.485053] mc: Linux media interface: v0.10
[ 0.489292] videodev: Linux video capture interface: v2.00
[ 0.494789] pps_core: LinuxPPS API ver. 1 registered
[ 0.499757] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.508941] PTP clock support registered
[ 0.513025] Advanced Linux Sound Architecture Driver Initialized.
[ 0.519398] Bluetooth: Core ver 2.22
[ 0.522921] NET: Registered PF_BLUETOOTH protocol family
[ 0.528241] Bluetooth: HCI device and connection manager initialized
[ 0.534627] Bluetooth: HCI socket layer initialized
[ 0.539521] Bluetooth: L2CAP socket layer initialized
[ 0.544597] Bluetooth: SCO socket layer initialized
[ 0.549835] clocksource: Switched to clocksource arch_sys_counter
[ 0.560231] NET: Registered PF_INET protocol family
[ 0.565276] IP idents hash table entries: 65536 (order: 7, 524288 bytes, vmalloc)
[ 0.574876] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, vmalloc)
[ 0.583515] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, vmalloc)
[ 0.591360] TCP established hash table entries: 32768 (order: 6, 262144 bytes, vmalloc)
[ 0.599569] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, vmalloc)
[ 0.607618] TCP: Hash tables configured (established 32768 bind 32768)
[ 0.614178] UDP hash table entries: 2048 (order: 4, 65536 bytes, vmalloc)
[ 0.620972] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, vmalloc)
[ 0.628294] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.634129] RPC: Registered named UNIX socket transport module.
[ 0.640004] RPC: Registered udp transport module.
[ 0.644721] RPC: Registered tcp transport module.
[ 0.649442] RPC: Registered tcp-with-tls transport module.
[ 0.654951] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.662771] Initialise system trusted keyrings
[ 0.667286] workingset: timestamp_bits=42 max_order=20 bucket_order=0
[ 0.673967] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.679930] NFS: Registering the id_resolver key type
[ 0.684950] Key type id_resolver registered
[ 0.689124] Key type id_legacy registered
[ 0.693542] Key type cifs.idmap registered
[ 0.697654] fuse: init (API version 7.39)
[ 0.726961] Key type asymmetric registered
[ 0.730995] Asymmetric key parser 'x509' registered
[ 0.735917] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.743326] io scheduler mq-deadline registered
[ 0.747872] io scheduler kyber registered
[ 0.751916] io scheduler bfq registered
[ 0.757531] dw_axi_dmac_platform f80fc000.dma-controller: DesignWare AXI DMA Controller, 16 channels
[ 0.767117] ttyS f8801900.serial: sp_uart0's Rx is in PIO mode.
[ 0.772996] ttyS f8801900.serial: sp_uart0's Tx is in PIO mode.
[ 0.779038] f8801900.serial: ttyS0 at MMIO 0xf8801900 (irq = 16, base_baud = 1562500) is a sp_uart0
[ 0.788149] printk: console [ttyS0] enabled
[ 0.788149] printk: console [ttyS0] enabled
[ 0.796440] printk: bootconsole [sunplus_uart0] disabled
[ 0.796440] printk: bootconsole [sunplus_uart0] disabled
[ 0.807507] rpi_touchscreen 6-0045: Atmel I2C read failed: -121
[ 0.809267] sp7350-drm display-subsystem: assigned reserved memory node disp_reserve@5c000000
[ 0.810878] sp7350-drm display-subsystem: bound f8005c80.crtc0 (ops 0xffffffc080dd7330)
[ 0.822219] loop: module loaded
[ 0.823312] sunplus-usb-synopsys-u3phy f80bd000.uphy: sunplus_usb_synopsys_u3phy_probe
[ 0.830012] register sunplus_usb_otg0_driver
[ 0.834609] register ehci0_hcd_sunplus_driver
[ 0.838492] register ohci0_hcd_sunplus_driver
[ 0.842890] usbcore: registered new interface driver cdc_acm
[ 0.848329] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 0.856327] usbcore: registered new interface driver usb-storage
[ 0.862341] usbcore: registered new interface driver ch341
[ 0.867784] usbserial: USB Serial support registered for ch341-uart
[ 0.874035] usbcore: registered new interface driver cp210x
[ 0.879588] usbserial: USB Serial support registered for cp210x
[ 0.885490] usbcore: registered new interface driver ftdi_sio
[ 0.891215] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 0.898509] usbcore: registered new interface driver option
[ 0.904063] usbserial: USB Serial support registered for GSM modem (1-port)
[ 0.911009] usbcore: registered new interface driver pl2303
[ 0.916562] usbserial: USB Serial support registered for pl2303
[ 0.922616] mousedev: PS/2 mouse device common for all mice
[ 0.929576] sp7350-rtc f8801180.rtc: registered as rtc0
[ 0.933537] sp7350-rtc f8801180.rtc: setting system clock to 1970-01-01T08:42:04 UTC (31324)
[ 0.941638] [RTC] Info: sp7350-rtc loaded
[ 0.945692] i2c_dev: i2c /dev entries driver
[ 0.950324] sunplus-gdc f8c09000.gdc: assigned reserved memory node gdc@98000000
[ 0.957486] hantro_dec f8168000.hantro_vc8000d: dec/pp kernel module.
[ 0.963779] hantro_dec f8168000.hantro_vc8000d: major:242 minor:0
[ 0.969976] hantro_dec f8168000.hantro_vc8000d: clock enabled
[ 0.975583] hantro_dec f8168000.hantro_vc8000d: reset okay
[ 0.981044] hantro_dec f8168000.hantro_vc8000d: Core 0 HW ID=0x6e645000
[ 0.987639] hantro_dec f8168000.hantro_vc8000d: Supported HW found at 0xf8168000
[ 0.995038] hantro_dec f8168000.hantro_vc8000d: core[0] has H264
[ 1.001007] hantro_dec f8168000.hantro_vc8000d: core[0] has JPEG
[ 1.006996] hantro_dec f8168000.hantro_vc8000d: core[0] has PP
[ 1.012810] hantro_dec f8168000.hantro_vc8000d: reset hardware
[ 1.018768] hantro_enc f80ff000.hantro_vc8000e: major:241 minor:0
[ 1.024820] hantro_enc f80ff000.hantro_vc8000e: mem iobaseaddr = f80ff000h
[ 1.031655] hantro_enc f80ff000.hantro_vc8000e: mem mapping = ffffffc081765000h
[ 1.039030] hantro_enc f80ff000.hantro_vc8000e: mem iosize = fffh
[ 1.045194] hantro_enc f80ff000.hantro_vc8000e: clock enabled
[ 1.050921] hantro_enc f80ff000.hantro_vc8000e: reset okay
[ 1.056386] hantro_enc f80ff000.hantro_vc8000e: HW at base <0xf80ff000> with ID <0x6e655000>
[ 1.065123] memalloc_d video_codec_dmem: major:240 minor:0
[ 1.070355] memalloc_d video_codec_dmem: module init
[ 1.075230] memalloc_d video_codec_dmem: SW build 1000
[ 1.080431] memalloc_d video_codec_dmem: linear memory base = 0x74000000
[ 1.087199] memalloc_d video_codec_dmem: linear memory size = 64 MB
[ 1.093551] memalloc_d video_codec_dmem: Total size 64 MB; 4096 chunks of size 16384
[ 1.101416] memalloc_e video_codec_emem: allocation method: DYNAMIC
[ 1.107514] memalloc_e video_codec_emem: major:239 minor:0
[ 1.113056] memalloc_e video_codec_emem: SW build 1000
[ 1.118195] memalloc_e video_codec_emem: linear memory base = 0x60000000
[ 1.124960] memalloc_e video_codec_emem: linear memory size = 327680 MB
[ 1.131645] memalloc_e video_codec_emem: chunk size = 4 KB, chunks = 1 configured
[ 1.139223] hantro_codec f880125c.video_codec: Video codec clock enabled
[ 1.145795] hantro_codec f880125c.video_codec: Video codec reset okay
[ 1.152220] chip version: 0xa31
[ 1.155337] VC power control enable
[ 1.159009] v4l2_probe
[ 1.159019] vsiv4l2 video_codec_v4l2: assigned reserved memory node vcodec@80000000
[ 1.169068] usbcore: registered new interface driver uvcvideo
[ 1.174907] Bluetooth: HCI UART driver ver 2.3
[ 1.178955] Bluetooth: HCI UART protocol H4 registered
[ 1.212929] spsdc f8003e80.mmc: Got CD GPIO
[ 1.307559] mmc0: new DDR MMC card at address 0001
[ 1.308505] mmcblk0: mmc0:0001 88A398 7.28 GiB
[ 1.316731] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9
[ 1.317552] mmcblk0boot0: mmc0:0001 88A398 4.00 MiB
[ 1.318263] mmcblk0boot1: mmc0:0001 88A398 4.00 MiB
[ 1.320511] mmcblk0rpmb: mmc0:0001 88A398 4.00 MiB, chardev (238:0)
[ 1.432903] mmc1: new ultra high speed SDR25 SDHC card at address 0001
[ 1.433712] mmcblk1: mmc1:0001 SD16G 14.5 GiB
[ 1.435449] mmcblk1: p1
[ 1.438041] SMCCC: SOC_ID: ID = jep106:0d48:0a31 Revision = 0x00000000
[ 1.442589] usbcore: registered new interface driver usbhid
[ 1.447196] usbhid: USB HID core driver
[ 1.451211] remoteproc remoteproc0: f800817c.remoteproc is available
[ 1.458730] hw perfevents: enabled with armv8_cortex_a55 PMU driver, 7 counters available
[ 1.466172] optee: probing for conduit method.
[ 1.469943] optee: revision 3.13 (df36975c)
[ 1.470226] optee: initialized driver
[ 1.477948] usbcore: registered new interface driver snd-usb-audio
[ 1.484399] sunplus-audio f8800480.audio: sunplus_audio_probe
[ 1.489658] sunplus-audio f8800480.audio: sunplus_i2s_register
[ 1.495466] sunplus-audio f8800480.audio: sunplus_tdm_register
[ 1.501409] aud-codec aud-codec: aud_codec_probe
[ 1.505539] mmc2: error -110 whilst initialising SDIO card
[ 1.506186] spsoc-pcm-driver spsoc-pcm-driver: snd_spsoc_pcm_probe
[ 1.518381] snd_spsoc_audio_init, create soc_card
[ 1.522221] soc-audio soc-audio: ASoC: machine sp-aud should use snd_soc_register_card()
[ 1.530633] debugfs: Directory 'f8800480.audio' with parent 'sp-aud' already present!
[ 1.539041] NET: Registered PF_INET6 protocol family
[ 1.543459] Segment Routing with IPv6
[ 1.546674] In-situ OAM (IOAM) with IPv6
[ 1.550586] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.556097] mmc2: Failed to initialize a non-removable card
[ 1.556713] NET: Registered PF_PACKET protocol family
[ 1.567099] Bluetooth: RFCOMM TTY layer initialized
[ 1.571914] Bluetooth: RFCOMM socket layer initialized
[ 1.577036] Bluetooth: RFCOMM ver 1.11
[ 1.580765] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1.586059] Bluetooth: BNEP filters: protocol multicast
[ 1.591265] Bluetooth: BNEP socket layer initialized
[ 1.596212] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 1.602116] Bluetooth: HIDP socket layer initialized
[ 1.607104] Key type dns_resolver registered
[ 1.611322] Key type ceph registered
[ 1.614947] libceph: loaded (mon/osd proto 15/24)
[ 1.624181] registered taskstats version 1
[ 1.624292] Loading compiled-in X.509 certificates
[ 1.637979] usb 2.0 phy registered
[ 1.639073] sp7350-drm display-subsystem: assigned reserved memory node disp_reserve@5c000000
[ 1.640458] sp7350-drm display-subsystem: bound f8005c80.crtc0 (ops 0xffffffc080dd7330)
[ 1.678313] sp7350-drm display-subsystem: bound f8006600.mipi-dsi (ops 0xffffffc080dd9c10)
[ 1.680061] [drm] Initialized sp7350-drm 1.0.0 20240828 for display-subsystem on minor 0
[ 1.683923] sp7350-drm display-subsystem: [drm] Cannot find any crtc or sizes
[ 1.691640] stmmaceth f8103000.stmmac: User ID: 0x10, Synopsys ID: 0x37
[ 1.692035] sp7350-drm display-subsystem: [drm] Cannot find any crtc or sizes
[ 1.697211] stmmaceth f8103000.stmmac: DWMAC1000
[ 1.708985] stmmaceth f8103000.stmmac: DMA HW capability register supported
[ 1.715931] stmmaceth f8103000.stmmac: RX Checksum Offload Engine supported
[ 1.722869] stmmaceth f8103000.stmmac: COE Type 2
[ 1.727555] stmmaceth f8103000.stmmac: TX Checksum insertion supported
[ 1.734065] stmmaceth f8103000.stmmac: Wake-Up On Lan supported
[ 1.740003] stmmaceth f8103000.stmmac: Normal descriptors
[ 1.745352] stmmaceth f8103000.stmmac: Ring mode enabled
[ 1.750645] stmmaceth f8103000.stmmac: Enable RX Mitigation via HW Watchdog Timer
[ 1.957484] phy phy-f8004a80.uphy.1: phy_power_on was called before phy_init
[ 2.445254] phy phy-f8004a80.uphy.1: phy_power_on was called before phy_init
[ 2.445466] ehci0-sunplus f8102100.usb: Generic Platform EHCI Controller
[ 2.447877] ehci0-sunplus f8102100.usb: new USB bus registered, assigned bus number 1
[ 2.455701] ehci0-sunplus f8102100.usb: irq 37, io mem 0xf8102100
[ 2.467843] ehci0-sunplus f8102100.usb: USB 2.0 started, EHCI 1.10
[ 2.469063] hub 1-0:1.0: USB hub found
[ 2.471691] hub 1-0:1.0: 1 port detected
[ 2.476385] phy phy-f8004a80.uphy.1: phy_power_on was called before phy_init
[ 2.482621] ohci0-sunplus f8102080.usb: Generic Platform OHCI Controller
[ 2.489229] ohci0-sunplus f8102080.usb: new USB bus registered, assigned bus number 2
[ 2.497108] ohci0-sunplus f8102080.usb: irq 39, io mem 0xf8102080
[ 2.557870] hub 2-0:1.0: USB hub found
[ 2.557996] hub 2-0:1.0: 1 port detected
[ 2.558815] sp_udc_probe start, port_num:0, ffffff8001d32000
[ 2.560050] phy phy-f8004a80.uphy.1: phy_power_on was called before phy_init
[ 2.589333] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 2.590605] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 2.592097] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[ 2.598763] clk: Disabling unused clocks
[ 2.602679] [dhd] _dhd_module_init: in Dongle Host Driver, version 101.10.591.68.33 (20240829-2)(429fcb0)
[ 2.602679] drivers/net/wireless/bcmdhd compiled on Sep 26 2024 at 18:43:02
[ 2.602679]
[ 2.620609] [dhd] STATIC-MSG) dhd_static_buf_init : 101.10.361.36 (wlan=r892223-20231107-1)
[ 2.628978] [dhd] STATIC-MSG) dhd_init_wlan_mem : prealloc ok for index 0: 1102848(1077K)
[ 2.637167] [dhd] no wifi platform data, skip
[ 2.641437] [dhd] dhd_wifi_platform_load: Enter
[ 2.645951] [dhd] DHD wifi platform data is required for Android build
[ 2.652460] [dhd] DHD registering bus directly
[ 2.656887] [dhd] bcmsdh_register: register client driver
[ 2.662301] [dhd] _dhd_module_init: Exit err=0
[ 2.666698] ALSA device list:
[ 2.669647] #0: SP7350, Sunplus Technology Inc.
[ 2.674448] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 2.682936] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 2.704445] VFS: Mounted root (squashfs filesystem) readonly on device 259:0.
[ 2.705226] devtmpfs: mounted
[ 2.705928] Freeing unused kernel memory: 2752K
[ 2.707907] Run /sbin/init as init process
[ 2.783096] EXT4-fs (mmcblk0p9): recovery complete
[ 2.783861] EXT4-fs (mmcblk0p9): mounted filesystem ef988f4b-2938-4795-86fb-cfa7d71210a9 r/w with ordered data mode. Quota mode: disabled.
[ 2.804260] overlayfs: "xino" feature enabled using 32 upper inode bits.
/etc/init.d/rcS starts...
Mounting other filesystems ...
rc.extra [bg]
extra done
Boot CM4 firmware by remoteproc
[ 3.070870] remoteproc remoteproc0: powering up f800817c.remoteproc
[ 3.083053] remoteproc remoteproc0: Booting fw image firmware, size 244336
[ 3.084136] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 3.084227] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
[ 3.091016] remoteproc remoteproc0: remote processor f800817c.remoteproc is now up
[ 3.101857] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty-raw addr 0x0
[ 3.105790] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty-raw addr 0x1
[ 3.112834] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty-raw addr 0x2
End of /etc/init.d/rcS
login[127]: root login on 'console'
~ # df -hT
Filesystem Type Size Used Available Use% Mounted on
overlay overlay 6.8G 80.0K 6.6G 0% /
devtmpfs devtmpfs 1.3G 0 1.3G 0% /dev
tmpfs tmpfs 1.7G 0 1.7G 0% /dev/shm
tmpfs tmpfs 1.7G 0 1.7G 0% /tmp
~ # |