[PATCH] ARM: dts: intel: Drop pxa2xx
Arnd Bergmann
arnd at arndb.de
Mon Dec 22 14:04:09 PST 2025
On Thu, Dec 18, 2025, at 09:21, Daniel wrote:
> On 12/17/25 17:04, Arnd Bergmann wrote:
>> On Fri, Dec 12, 2025, at 22:58, Robert Jarzmik wrote:
>>> "Rob Herring (Arm)" <robh at kernel.org> writes:
>>>
>>>> These .dtsi files are not included anywhere in the tree and
>>>> can't be tested. They have not been touched since 2018 other than
>>>> clean-ups.
>>>>
>>> And yet, there are used by people using pxa2xx board with an DT
>>> support (like the mioa701 for which a board file was never merged).
>>>
>>> If you remove pxa25x.dtsi and pxa27x.dtsi, you might as well
>>> remove all support for this architecture from the kernel, as
>>> these are the building blocks needed to make it work.
>>>
>>> That might be what should be done, I'll let Arnd and Daniel
>>> comment on the future of PXA in the kernel.
>>
>> I agree with Rob that at the very minimum, any dtsi files in the
>> kernel should be build-tested along with the rest, so either
>> we add some dts files using them soon, or we can remove pxa2xx
>> (and maybe pxa3xx) completely.
>
> PXA3xx is in use by the Raumfeld boards, and I would really like to keep
> them around.
Ok, no problem. If there are upstream users, we can always keep that.
> For PXA2xx I'm torn. I don't have the capacity and hardware to work on
> those, but I don't know how many users are out there with out-of-tree
> dts files.
It's clear that nobody has done anything upstream for a while on pxa2xx,
you both initially put a lot of work into it but it has been incomplete
for almost a decade at this point.
I wouldn't even expect you to do any runtime testing, but if we want
to keep it in mainline, it seems the minimum state we should get to
is to complete the upstreaming to the degree that one machine can
plausibly boot with a mainline that gets built by default, and not
introduce new warnings in the process.
At the moment, an empty dts file that includes pxa25x.dtsi doesn't
even build because there is no pwri2c node:
arch/arm/boot/dts/intel/pxa/pxa2xx.dtsi:36.10-43.4: ERROR (path_references): /aliases: Reference to non-existent node or label "pwri2c"
The pxa27x.dtsi file does build but produces a couple of
'dtbs_check' W=1 and W=2 warnings:
arch/arm/boot/dts/intel/pxa/pxa27x.dtsi:134.30-138.5: Warning (node_name_chars_strict): /clocks/pxa2xx_clks at 41300004: Character '_' not recommended in node name
arch/arm/boot/dts/intel/pxa/pxa27x.dtsi:149.31-187.4: Warning (node_name_chars_strict): /opp_table0: Character '_' not recommended in node name
arch/arm/boot/dts/intel/pxa/pxa27x.dtsi:134.30-138.5: Warning (unit_address_vs_reg): /clocks/pxa2xx_clks at 41300004: node has a unit name, but no reg or ranges property
arch/arm/boot/dts/intel/pxa/pxa2xx.dtsi:154.33-160.5: Warning (simple_bus_reg): /pxabus/lcd-controller at 40500000: simple-bus unit address format error, expected "44000000"
arch/arm/boot/dts/intel/pxa/pxa27x.dtsi:29.29-33.5: Warning (simple_bus_reg): /pxabus/pinctrl at 40e00000: simple-bus unit address format error, expected "40e00054"
arch/arm/boot/dts/intel/pxa/pxa2xx.dtsi:67.23-94.5: Warning (unique_unit_address): /pxabus/gpio at 40e00000: duplicate unit-address (also used in node /pxabus/pinctrl at 40e00000)
pxa270-minimal.dtb: /: failed to match any schema with compatible: ['marvell,pxa27x']
pxa270-minimal.dtb: cpus: '#address-cells' is a required property
from schema $id: http://devicetree.org/schemas/cpus.yaml#
pxa270-minimal.dtb: cpus: '#size-cells' is a required property
from schema $id: http://devicetree.org/schemas/cpus.yaml#
pxa270-minimal.dtb: /cpus/cpu: failed to match any schema with compatible: ['marvell,xscale']
pxa270-minimal.dtb: pxabus (simple-bus): $nodename:0: 'pxabus' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
from schema $id: http://devicetree.org/schemas/simple-bus.yaml#
pxa270-minimal.dtb: /pxabus/interrupt-controller at 40d00000: failed to match any schema with compatible: ['marvell,pxa-intc']
pxa270-minimal.dtb: interrupt-controller at 40d00000 (marvell,pxa-intc): interrupt-parent: True is not of type 'array'
from schema $id: http://devicetree.org/schemas/interrupts.yaml#
pxa270-minimal.dtb: /pxabus/mmc at 41100000: failed to match any schema with compatible: ['marvell,pxa-mmc']
pxa270-minimal.dtb: rtc at 40900000 (marvell,pxa-rtc): Unevaluated properties are not allowed ('clocks' was unexpected)
from schema $id: http://devicetree.org/schemas/rtc/marvell,pxa-rtc.yaml#
pxa270-minimal.dtb: /pxabus/lcd-controller at 44000000: failed to match any schema with compatible: ['marvell,pxa2xx-lcdc']
pxa270-minimal.dtb: /pxabus/pinctrl at 40e00000: failed to match any schema with compatible: ['marvell,pxa27x-pinctrl']
pxa270-minimal.dtb: /pxabus/usb at 4c000000: failed to match any schema with compatible: ['marvell,pxa-ohci']
pxa270-minimal.dtb: pwm at 40b00000 (marvell,pxa270-pwm): compatible: 'oneOf' conditional failed, one must be fixed:
['marvell,pxa270-pwm', 'marvell,pxa250-pwm'] is too long
'spacemit,k1-pwm' was expected
'marvell,pxa910-pwm' was expected
from schema $id: http://devicetree.org/schemas/pwm/marvell,pxa-pwm.yaml#
pxa270-minimal.dtb: pwm at 40b00010 (marvell,pxa270-pwm): compatible: 'oneOf' conditional failed, one must be fixed:
['marvell,pxa270-pwm', 'marvell,pxa250-pwm'] is too long
'spacemit,k1-pwm' was expected
'marvell,pxa910-pwm' was expected
from schema $id: http://devicetree.org/schemas/pwm/marvell,pxa-pwm.yaml#
pxa270-minimal.dtb: pwm at 40c00000 (marvell,pxa270-pwm): compatible: 'oneOf' conditional failed, one must be fixed:
['marvell,pxa270-pwm', 'marvell,pxa250-pwm'] is too long
'spacemit,k1-pwm' was expected
'marvell,pxa910-pwm' was expected
from schema $id: http://devicetree.org/schemas/pwm/marvell,pxa-pwm.yaml#
pxa270-minimal.dtb: pwm at 40c00010 (marvell,pxa270-pwm): compatible: 'oneOf' conditional failed, one must be fixed:
['marvell,pxa270-pwm', 'marvell,pxa250-pwm'] is too long
'spacemit,k1-pwm' was expected
'marvell,pxa910-pwm' was expected
from schema $id: http://devicetree.org/schemas/pwm/marvell,pxa-pwm.yaml#
pxa270-minimal.dtb: /pxabus/udc at 40600000: failed to match any schema with compatible: ['marvell,pxa270-udc']
pxa270-minimal.dtb: /pxabus/keypad at 41500000: failed to match any schema with compatible: ['marvell,pxa27x-keypad']
pxa270-minimal.dtb: /pxabus/imaging at 50000000: failed to match any schema with compatible: ['marvell,pxa270-qci']
pxa270-minimal.dtb: imaging at 50000000 (marvell,pxa270-qci): '#clock-cells' is a dependency of 'clock-output-names'
from schema $id: http://devicetree.org/schemas/clock/clock.yaml#
pxa270-minimal.dtb: /clocks/pxa2xx_clks at 41300004: failed to match any schema with compatible: ['marvell,pxa270-clocks']
pxa270-minimal.dtb: /timer at 40a00000: failed to match any schema with compatible: ['marvell,pxa-timer']
pxa270-minimal.dtb: opp_table0 (operating-points-v2): $nodename:0: 'opp_table0' does not match '^opp-table(-[a-z0-9]+)?$'
from schema $id: http://devicetree.org/schemas/opp/opp-v2.yaml#
pxa270-minimal.dtb: opp_table0 (operating-points-v2): Unevaluated properties are not allowed ('opp-104000000', 'opp-156000000', 'opp-208000000', 'opp-312000000', 'opp-416000000', 'opp-520000000', 'opp-624000000' were unexpected)
from schema $id: http://devicetree.org/schemas/opp/opp-v2.yaml#
Most of these have an obvious fix and just need someone to care
a little bit. The Raumfeld files have a similar set of warnings:
arch/arm/boot/dts/intel/pxa/pxa300-raumfeld-common.dtsi:17.9-20.4: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name
arch/arm/boot/dts/intel/pxa/pxa300-raumfeld-controller.dts:242.29-248.4: Warning (node_name_chars_strict): /pxabus/pinctrl at 40e10000/charger_pins: Character '_' not recommended in node name
arch/arm/boot/dts/intel/pxa/pxa300-raumfeld-controller.dts:250.37-256.4: Warning (node_name_chars_strict): /pxabus/pinctrl at 40e10000/dock_detect_pins: Character '_' not recommended in node name
arch/arm/boot/dts/intel/pxa/pxa300-raumfeld-speaker-one.dts:122.3-25: Warning (property_name_chars_strict): /pxabus/i2c at 40301680/codec at 1a:st,needs_esd_watchdog: Character '_' not recommended in property name
pxa300-raumfeld-speaker-l.dtb: /: failed to match any schema with compatible: ['raumfeld,raumfeld-speaker-l-pxa303', 'marvell,pxa300']
pxa300-raumfeld-speaker-l.dtb: /: failed to match any schema with compatible: ['raumfeld,raumfeld-speaker-l-pxa303', 'marvell,pxa300']
pxa300-raumfeld-speaker-l.dtb: / (raumfeld,raumfeld-speaker-l-pxa303): memory: False schema does not allow {'device_type': ['memory'], 'reg': [[2684354560, 134217728]]}
from schema $id: http://devicetree.org/schemas/root-node.yaml#
pxa300-raumfeld-speaker-l.dtb: cpus: '#address-cells' is a required property
from schema $id: http://devicetree.org/schemas/cpus.yaml#
pxa300-raumfeld-speaker-l.dtb: cpus: '#size-cells' is a required property
from schema $id: http://devicetree.org/schemas/cpus.yaml#
pxa300-raumfeld-speaker-l.dtb: /cpus/cpu: failed to match any schema with compatible: ['marvell,xscale']
pxa300-raumfeld-speaker-l.dtb: pxabus (simple-bus): $nodename:0: 'pxabus' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
from schema $id: http://devicetree.org/schemas/simple-bus.yaml#
pxa300-raumfeld-speaker-l.dtb: /pxabus/interrupt-controller at 40d00000: failed to match any schema with compatible: ['marvell,pxa-intc']
pxa300-raumfeld-speaker-l.dtb: interrupt-controller at 40d00000 (marvell,pxa-intc): interrupt-parent: True is not of type 'array'
from schema $id: http://devicetree.org/schemas/interrupts.yaml#
pxa300-raumfeld-speaker-l.dtb: /pxabus/mmc at 41100000: failed to match any schema with compatible: ['marvell,pxa-mmc']
pxa300-raumfeld-speaker-l.dtb: /pxabus/lcd-controller at 44000000: failed to match any schema with compatible: ['marvell,pxa2xx-lcdc']
pxa300-raumfeld-speaker-l.dtb: /pxabus/i2c at 40f500c0: failed to match any schema with compatible: ['mrvl,pwri2c']
pxa300-raumfeld-speaker-l.dtb: regulator at 34 (maxim,max8660): $nodename:0: 'regulator at 34' does not match 'pmic@[0-9a-f]{1,2}'
from schema $id: http://devicetree.org/schemas/regulator/max8660.yaml#
pxa300-raumfeld-speaker-l.dtb: regulator at 34 (maxim,max8660): regulators:regulator-v3: Unevaluated properties are not allowed ('regulator-compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/regulator/max8660.yaml#
pxa300-raumfeld-speaker-l.dtb: regulator at 34 (maxim,max8660): regulators:regulator-v4: Unevaluated properties are not allowed ('regulator-compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/regulator/max8660.yaml#
pxa300-raumfeld-speaker-l.dtb: regulator at 34 (maxim,max8660): regulators:regulator-v5: Unevaluated properties are not allowed ('regulator-compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/regulator/max8660.yaml#
pxa300-raumfeld-speaker-l.dtb: regulator at 34 (maxim,max8660): regulators:regulator-v6: Unevaluated properties are not allowed ('regulator-compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/regulator/max8660.yaml#
pxa300-raumfeld-speaker-l.dtb: regulator at 34 (maxim,max8660): regulators:regulator-v7: Unevaluated properties are not allowed ('regulator-compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/regulator/max8660.yaml#
pxa300-raumfeld-speaker-l.dtb: pinctrl at 40e10000 (pinconf-single): 'led-pins-a', 'led-pins-b' do not match any of the regexes: '-pins(-[0-9]+)?$|-pin$', '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/pinctrl/pinctrl-single.yaml#
pxa300-raumfeld-speaker-l.dtb: /pxabus/mmc at 42000000: failed to match any schema with compatible: ['marvell,pxa-mmc']
pxa300-raumfeld-speaker-l.dtb: /pxabus/mmc at 42500000: failed to match any schema with compatible: ['marvell,pxa-mmc']
pxa300-raumfeld-speaker-l.dtb: /pxabus/usb at 4c000000: failed to match any schema with compatible: ['marvell,pxa-ohci']
pxa300-raumfeld-speaker-l.dtb: ssp at 41000000 (mrvl,pxa3xx-ssp): $nodename:0: 'ssp at 41000000' does not match '^spi(@.*|-([0-9]|[1-9][0-9]+))?$'
from schema $id: http://devicetree.org/schemas/spi/marvell,mmp2-ssp.yaml#
pxa300-raumfeld-speaker-l.dtb: ssp at 41700000 (mrvl,pxa3xx-ssp): $nodename:0: 'ssp at 41700000' does not match '^spi(@.*|-([0-9]|[1-9][0-9]+))?$'
from schema $id: http://devicetree.org/schemas/spi/marvell,mmp2-ssp.yaml#
pxa300-raumfeld-speaker-l.dtb: ssp at 41900000 (mrvl,pxa3xx-ssp): $nodename:0: 'ssp at 41900000' does not match '^spi(@.*|-([0-9]|[1-9][0-9]+))?$'
from schema $id: http://devicetree.org/schemas/spi/marvell,mmp2-ssp.yaml#
pxa300-raumfeld-speaker-l.dtb: ssp at 41a00000 (mrvl,pxa3xx-ssp): $nodename:0: 'ssp at 41a00000' does not match '^spi(@.*|-([0-9]|[1-9][0-9]+))?$'
from schema $id: http://devicetree.org/schemas/spi/marvell,mmp2-ssp.yaml#
pxa300-raumfeld-speaker-l.dtb: /pxabus/timer at 40a00000: failed to match any schema with compatible: ['marvell,pxa-timer']
pxa300-raumfeld-speaker-l.dtb: /pxabus/display-controller at 54000000: failed to match any schema with compatible: ['marvell,pxa300-gcu']
pxa300-raumfeld-speaker-l.dtb: /clocks/clocks: failed to match any schema with compatible: ['marvell,pxa300-clocks']
pxa300-raumfeld-speaker-l.dtb: /ssp-dai0: failed to match any schema with compatible: ['mrvl,pxa-ssp-dai']
pxa300-raumfeld-speaker-l.dtb: /ssp-dai1: failed to match any schema with compatible: ['mrvl,pxa-ssp-dai']
pxa300-raumfeld-speaker-l.dtb: spi (spi-gpio): gpio-miso: False schema does not allow [8, 98, 0]
from schema $id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
pxa300-raumfeld-speaker-l.dtb: spi (spi-gpio): gpio-mosi: False schema does not allow [8, 97, 0]
from schema $id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
pxa300-raumfeld-speaker-l.dtb: spi (spi-gpio): gpio-sck: False schema does not allow [8, 95, 0]
from schema $id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
pxa300-raumfeld-speaker-l.dtb: spi (spi-gpio): 'sck-gpios' is a required property
from schema $id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
pxa300-raumfeld-speaker-l.dtb: spi (spi-gpio): Unevaluated properties are not allowed ('gpio-miso', 'gpio-mosi', 'gpio-sck' were unexpected)
from schema $id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
pxa300-raumfeld-speaker-l.dtb: dac at 2 (ti,dac7512): 'vcc-supply' does not match any of the regexes: '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/iio/dac/ti,dac7512.yaml#
pxa300-raumfeld-speaker-l.dtb: gpio-keys (gpio-keys): 'on-off', 'rescue-boot', 'setup' do not match any of the regexes: '^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$', '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/input/gpio-keys.yaml#
pxa300-raumfeld-speaker-l.dtb: leds (gpio-leds): 'left', 'right' do not match any of the regexes: '(^led-[0-9a-f]$|led)', '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#:%!
It would be good to at least address the warnings for nodes that
have an existing yaml binding. Converting the remaining others or
writing new ones takes more time and I wouldn't stress out about
those (yet).
Arnd
More information about the linux-arm-kernel
mailing list