Convert the PXA1908 platform and its coreprimevelte board to OF_UPSTREAM and enable the few drivers found in the upstream DTS.
Signed-off-by: Duje Mihanović <d...@dujemihanovic.xyz> --- Important note: The PXA1908 DTs were merged into Linux during the v6.17 merge window. Thus, it depends on the v6.17-rc1-dts subtree tag being merged. I'm sending this now just so that any eventual feedback can be addressed in time for the v6.17 release. --- arch/arm/Kconfig | 1 + .../dts/pxa1908-samsung-coreprimevelte-u-boot.dtsi | 20 ++++ arch/arm/dts/pxa1908-samsung-coreprimevelte.dts | 74 -------------- arch/arm/dts/pxa1908.dtsi | 106 --------------------- configs/coreprimevelte_defconfig | 7 +- 5 files changed, 27 insertions(+), 181 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 40368abc297ec4748b3b3731e485dca3b53b8897..2a3ff2108c1d2255c47604d21783e6548773e68f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -882,6 +882,7 @@ config ARCH_MMP select OF_CONTROL select SAVE_PREV_BL_FDT_ADDR select SAVE_PREV_BL_INITRAMFS_START_ADDR + imply OF_UPSTREAM config ARCH_LPC32XX bool "NXP LPC32xx platform" diff --git a/arch/arm/dts/pxa1908-samsung-coreprimevelte-u-boot.dtsi b/arch/arm/dts/pxa1908-samsung-coreprimevelte-u-boot.dtsi new file mode 100644 index 0000000000000000000000000000000000000000..2e5ec5c597d426e6394a0203eeda68939ca726f5 --- /dev/null +++ b/arch/arm/dts/pxa1908-samsung-coreprimevelte-u-boot.dtsi @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2025 Duje Mihanović <d...@dujemihanovic.xyz> + */ + +/ { + pxa,rev-id = <3928 0>, <3928 1>, <3928 2>; + + memory@0 { + reg = <0 0x1000000 0 0x3f000000>; + }; +}; + +&uart0 { + clock-frequency = <14745600>; +}; + +&pmx { + compatible = "marvell,pxa1908-padconf", "pinctrl-single"; +}; diff --git a/arch/arm/dts/pxa1908-samsung-coreprimevelte.dts b/arch/arm/dts/pxa1908-samsung-coreprimevelte.dts deleted file mode 100644 index 588e39e92650f9217e02bb332dcdcd5f74cc7fce..0000000000000000000000000000000000000000 --- a/arch/arm/dts/pxa1908-samsung-coreprimevelte.dts +++ /dev/null @@ -1,74 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -#include "pxa1908.dtsi" - -/ { - pxa,rev-id = <3928 2>; - model = "Samsung Galaxy Core Prime VE LTE"; - compatible = "samsung,coreprimevelte", "marvell,pxa1908"; - - aliases { - serial0 = &uart0; - }; - - chosen { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - stdout-path = "serial0:115200n8"; - - /* S-Boot places the initramfs here */ - linux,initrd-start = <0x4d70000>; - linux,initrd-end = <0x5000000>; - - fb0: framebuffer@17177000 { - compatible = "simple-framebuffer"; - reg = <0 0x17177000 0 (480 * 800 * 4)>; - width = <480>; - height = <800>; - stride = <(480 * 4)>; - format = "a8r8g8b8"; - }; - }; - - memory { - device_type = "memory"; - reg = <0 0x1000000 0 0x3f000000>; - }; - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - framebuffer@17000000 { - reg = <0 0x17000000 0 0x1800000>; - no-map; - }; - - gpu@9000000 { - reg = <0 0x9000000 0 0x1000000>; - }; - - /* Communications processor, aka modem */ - cp@5000000 { - reg = <0 0x5000000 0 0x3000000>; - }; - - cm3@a000000 { - reg = <0 0xa000000 0 0x80000>; - }; - - seclog@8000000 { - reg = <0 0x8000000 0 0x100000>; - }; - - ramoops@8100000 { - compatible = "ramoops"; - reg = <0 0x8100000 0 0x40000>; - record-size = <0x8000>; - console-size = <0x20000>; - max-reason = <5>; - }; - }; -}; diff --git a/arch/arm/dts/pxa1908.dtsi b/arch/arm/dts/pxa1908.dtsi deleted file mode 100644 index e8ec2606c2515ee2031004ab3102fec37b7d4b87..0000000000000000000000000000000000000000 --- a/arch/arm/dts/pxa1908.dtsi +++ /dev/null @@ -1,106 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/dts-v1/; - -#include <dt-bindings/interrupt-controller/arm-gic.h> - -/ { - model = "Marvell Armada PXA1908"; - compatible = "marvell,pxa1908"; - #address-cells = <2>; - #size-cells = <2>; - interrupt-parent = <&gic>; - - cpus { - #address-cells = <2>; - #size-cells = <0>; - - cpu0: cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a53"; - reg = <0 0>; - enable-method = "psci"; - }; - - cpu1: cpu@1 { - device_type = "cpu"; - compatible = "arm,cortex-a53"; - reg = <0 1>; - enable-method = "psci"; - }; - - cpu2: cpu@2 { - device_type = "cpu"; - compatible = "arm,cortex-a53"; - reg = <0 2>; - enable-method = "psci"; - }; - - cpu3: cpu@3 { - device_type = "cpu"; - compatible = "arm,cortex-a53"; - reg = <0 3>; - enable-method = "psci"; - }; - }; - - psci { - compatible = "arm,psci-0.2"; - method = "smc"; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, - <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, - <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, - <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; - }; - - soc { - compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - - gic: interrupt-controller@d1df9000 { - compatible = "arm,gic-400"; - reg = <0 0xd1df9000 0 0x1000>, - <0 0xd1dfa000 0 0x2000>, - /* The subsequent registers are guesses. */ - <0 0xd1dfc000 0 0x2000>, - <0 0xd1dfe000 0 0x2000>; - interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; - interrupt-controller; - #interrupt-cells = <3>; - }; - - apb@d4000000 { - compatible = "simple-bus"; - reg = <0 0xd4000000 0 0x200000>; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0 0 0xd4000000 0x200000>; - - uart0: serial@17000 { - compatible = "mrvl,mmp-uart", "intel,xscale-uart"; - reg = <0x17000 0x1000>; - clock-frequency = <14745600>; - reg-shift = <2>; - }; - - uart1: serial@18000 { - compatible = "mrvl,mmp-uart", "intel,xscale-uart"; - reg = <0x18000 0x1000>; - clock-frequency = <14745600>; - reg-shift = <2>; - }; - - uart2: serial@36000 { - compatible = "mrvl,mmp-uart", "intel,xscale-uart"; - reg = <0x36000 0x1000>; - clock-frequency = <117000000>; - reg-shift = <2>; - }; - }; - }; -}; diff --git a/configs/coreprimevelte_defconfig b/configs/coreprimevelte_defconfig index 05116669200b3f1393518c8f9d1d0d5b9f90db6f..c4cd9d2dc01e49d4f02c3e8f6ccfdcfe18909915 100644 --- a/configs/coreprimevelte_defconfig +++ b/configs/coreprimevelte_defconfig @@ -5,7 +5,7 @@ CONFIG_ARCH_CPU_INIT=y CONFIG_ARCH_MMP=y CONFIG_TEXT_BASE=0x1000000 CONFIG_NR_DRAM_BANKS=2 -CONFIG_DEFAULT_DEVICE_TREE="pxa1908-samsung-coreprimevelte" +CONFIG_DEFAULT_DEVICE_TREE="marvell/mmp/pxa1908-samsung-coreprimevelte" CONFIG_TARGET_COREPRIMEVELTE=y CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_ARMV8_PSCI=y @@ -14,5 +14,10 @@ CONFIG_FIT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_DM=y CONFIG_OF_BOARD=y +CONFIG_PINCTRL=y +CONFIG_PINCONF=y +CONFIG_PINCTRL_SINGLE=y CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550_MEM32=y +CONFIG_VIDEO=y +CONFIG_VIDEO_SIMPLE=y --- base-commit: a80bfe1a849a5f2b63c55057fd4f77db89a19fe6 change-id: 20250816-pxa1908-upstream-5963cfe7cb15 Best regards, -- Duje Mihanović <d...@dujemihanovic.xyz>