[PATCH] ARM: dts: pxa1908: convert to OF_UPSTREAM
Duje Mihanović
duje at dujemihanovic.xyz
Sat Aug 16 21:35:19 CEST 2025
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ć <duje at 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ć <duje at dujemihanovic.xyz>
+ */
+
+/ {
+ pxa,rev-id = <3928 0>, <3928 1>, <3928 2>;
+
+ memory at 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 at 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 at 17000000 {
- reg = <0 0x17000000 0 0x1800000>;
- no-map;
- };
-
- gpu at 9000000 {
- reg = <0 0x9000000 0 0x1000000>;
- };
-
- /* Communications processor, aka modem */
- cp at 5000000 {
- reg = <0 0x5000000 0 0x3000000>;
- };
-
- cm3 at a000000 {
- reg = <0 0xa000000 0 0x80000>;
- };
-
- seclog at 8000000 {
- reg = <0 0x8000000 0 0x100000>;
- };
-
- ramoops at 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 at 0 {
- device_type = "cpu";
- compatible = "arm,cortex-a53";
- reg = <0 0>;
- enable-method = "psci";
- };
-
- cpu1: cpu at 1 {
- device_type = "cpu";
- compatible = "arm,cortex-a53";
- reg = <0 1>;
- enable-method = "psci";
- };
-
- cpu2: cpu at 2 {
- device_type = "cpu";
- compatible = "arm,cortex-a53";
- reg = <0 2>;
- enable-method = "psci";
- };
-
- cpu3: cpu at 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 at 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 at d4000000 {
- compatible = "simple-bus";
- reg = <0 0xd4000000 0 0x200000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0xd4000000 0x200000>;
-
- uart0: serial at 17000 {
- compatible = "mrvl,mmp-uart", "intel,xscale-uart";
- reg = <0x17000 0x1000>;
- clock-frequency = <14745600>;
- reg-shift = <2>;
- };
-
- uart1: serial at 18000 {
- compatible = "mrvl,mmp-uart", "intel,xscale-uart";
- reg = <0x18000 0x1000>;
- clock-frequency = <14745600>;
- reg-shift = <2>;
- };
-
- uart2: serial at 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ć <duje at dujemihanovic.xyz>
More information about the U-Boot
mailing list