Messages in this thread | | | From | Duje Mihanović <> | Subject | [PATCH 00/10] Initial Marvell PXA1908 support | Date | Fri, 21 Jul 2023 22:37:42 +0200 |
| |
Hello,
This series adds initial support for the Marvell PXA1908 SoC and "samsung,coreprimevelte", a smartphone using the SoC.
USB works and the phone can boot a rootfs from an SD card, but there are some warnings in the dmesg:
During SMP initialization: [ 0.006519] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x000000018cba80, CPU1: 0x00000000000000 [ 0.006542] CPU features: Unsupported CPU feature variation detected. [ 0.006589] CPU1: Booted secondary processor 0x0000000001 [0x410fd032] [ 0.010710] Detected VIPT I-cache on CPU2 [ 0.010716] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x000000018cba80, CPU2: 0x00000000000000 [ 0.010758] CPU2: Booted secondary processor 0x0000000002 [0x410fd032] [ 0.014849] Detected VIPT I-cache on CPU3 [ 0.014855] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x000000018cba80, CPU3: 0x00000000000000 [ 0.014895] CPU3: Booted secondary processor 0x0000000003 [0x410fd032]
SMMU probing fails: [ 0.101798] arm-smmu c0010000.iommu: probing hardware configuration... [ 0.101809] arm-smmu c0010000.iommu: SMMUv1 with: [ 0.101816] arm-smmu c0010000.iommu: no translation support!
On Samsung's PXA1908 phones, the bootloader does not start the ARM system timer, and my temporary solution (which isn't present in this series) was to put the code for starting the timer in the clock driver. Would this hack be accepted upstream in the form of a platform or clocksource driver such as drivers/clocksource/timer-mediatek-cpux.c?
A 3.14 based Marvell tree is available on GitHub acorn-marvell/brillo_pxa_kernel, and a Samsung one on GitHub CoderCharmander/g361f-kernel.
Andreas Färber attempted to upstream support for this SoC in 2017: https://lore.kernel.org/lkml/20170222022929.10540-1-afaerber@suse.de/
Duje Mihanović (10): tty: serial: 8250: Define earlycon for mrvl,mmp-uart gpio: pxa: use dynamic allocation of base gpio: pxa: make pxa_gpio_has_pinctrl return false for MMP_GPIO clk: mmp: Add Marvell PXA1908 clock driver dt-bindings: clock: Add Marvell PXA1908 clock bindings dt-bindings: clock: Add documentation for Marvell PXA1908 arm64: Kconfig.platforms: Add config for Marvell PXA1908 platform arm64: dts: Add DTS for Marvell PXA1908 and samsung,coreprimevelte dt-bindings: marvell: Document PXA1908 SoC MAINTAINERS: add myself as Marvell PXA1908 maintainer
.../bindings/arm/marvell/marvell,pxa1908.yaml | 33 ++ .../bindings/clock/marvell,pxa1908.yaml | 53 +++ MAINTAINERS | 10 + arch/arm64/Kconfig.platforms | 11 + arch/arm64/boot/dts/marvell/Makefile | 1 + .../pxa1908-samsung-coreprimevelte.dts | 321 ++++++++++++++++++ arch/arm64/boot/dts/marvell/pxa1908.dtsi | 298 ++++++++++++++++ drivers/clk/mmp/Makefile | 2 +- drivers/clk/mmp/clk-of-pxa1908.c | 282 +++++++++++++++ drivers/gpio/gpio-pxa.c | 2 + drivers/tty/serial/8250/8250_pxa.c | 1 + include/dt-bindings/clock/marvell,pxa1908.h | 93 +++++ 12 files changed, 1106 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/arm/marvell/marvell,pxa1908.yaml create mode 100644 Documentation/devicetree/bindings/clock/marvell,pxa1908.yaml create mode 100644 arch/arm64/boot/dts/marvell/pxa1908-samsung-coreprimevelte.dts create mode 100644 arch/arm64/boot/dts/marvell/pxa1908.dtsi create mode 100644 drivers/clk/mmp/clk-of-pxa1908.c create mode 100644 include/dt-bindings/clock/marvell,pxa1908.h
-- 2.41.0
| |