[PATCH v2 1/5] ARM: dts: lpc32xx: remove usb bus and elevate all children nodes

Vladimir Zapolskiy vz at mleia.com
Fri Nov 14 16:20:22 PST 2025


Hi Frank.

On 11/14/25 19:47, Frank Li wrote:
> Remove usb bus and elevate all children nodes because usb bus is not
> existed and only group usb devices logically.
> 
> Update register address and related full node name.
> 
> Fix below CHECK_DTBS warnings:
> arm/boot/dts/nxp/lpc/lpc3250-ea3250.dtb: usb (simple-bus): $nodename:0: 'usb' 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#
> 
> Signed-off-by: Frank Li <Frank.Li at nxp.com>
> ---
> change in v2
> - elevate usb children node
> - fab leave unchange now utils finish discussion.
> ---
>   arch/arm/boot/dts/nxp/lpc/lpc32xx.dtsi | 77 ++++++++++++--------------
>   1 file changed, 35 insertions(+), 42 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/nxp/lpc/lpc32xx.dtsi b/arch/arm/boot/dts/nxp/lpc/lpc32xx.dtsi
> index 4dff0d7694322..d6243adbc05bc 100644
> --- a/arch/arm/boot/dts/nxp/lpc/lpc32xx.dtsi
> +++ b/arch/arm/boot/dts/nxp/lpc/lpc32xx.dtsi
> @@ -86,51 +86,44 @@ dma: dma-controller at 31000000 {
>   			#dma-cells = <2>;
>   		};
>   
> -		usb {
> -			#address-cells = <1>;
> -			#size-cells = <1>;
> -			compatible = "simple-bus";
> -			ranges = <0x0 0x31020000 0x00001000>;
> -
> -			/*
> -			 * Enable either ohci or usbd (gadget)!
> -			 */
> -			ohci: usb at 0 {
> -				compatible = "nxp,ohci-nxp", "usb-ohci";
> -				reg = <0x0 0x300>;
> -				interrupt-parent = <&sic1>;
> -				interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&usbclk LPC32XX_USB_CLK_HOST>;
> -				status = "disabled";
> -			};
> +		/*
> +		 * Enable either ohci or usbd (gadget)!
> +		 */
> +		ohci: usb at 31020000 {
> +			compatible = "nxp,ohci-nxp", "usb-ohci";
> +			reg = <0x31020000 0x300>;
> +			interrupt-parent = <&sic1>;
> +			interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&usbclk LPC32XX_USB_CLK_HOST>;
> +			status = "disabled";
> +		};
>   
> -			usbd: usbd at 0 {
> -				compatible = "nxp,lpc3220-udc";
> -				reg = <0x0 0x300>;
> -				interrupt-parent = <&sic1>;
> -				interrupts = <29 IRQ_TYPE_LEVEL_HIGH>,
> -					     <30 IRQ_TYPE_LEVEL_HIGH>,
> -					     <28 IRQ_TYPE_LEVEL_HIGH>,
> -					     <26 IRQ_TYPE_LEVEL_LOW>;
> -				clocks = <&usbclk LPC32XX_USB_CLK_DEVICE>;
> -				status = "disabled";
> -			};
> +		usbd: usbd at 31020000 {
> +			compatible = "nxp,lpc3220-udc";
> +			reg = <0x31020000 0x300>;
> +			interrupt-parent = <&sic1>;
> +			interrupts = <29 IRQ_TYPE_LEVEL_HIGH>,
> +				     <30 IRQ_TYPE_LEVEL_HIGH>,
> +				     <28 IRQ_TYPE_LEVEL_HIGH>,
> +				     <26 IRQ_TYPE_LEVEL_LOW>;
> +			clocks = <&usbclk LPC32XX_USB_CLK_DEVICE>;
> +			status = "disabled";
> +		};
>   
> -			i2cusb: i2c at 300 {
> -				compatible = "nxp,pnx-i2c";
> -				reg = <0x300 0x100>;
> -				interrupt-parent = <&sic1>;
> -				interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&usbclk LPC32XX_USB_CLK_I2C>;
> -				#address-cells = <1>;
> -				#size-cells = <0>;
> -			};
> +		i2cusb: i2c at 31020300 {
> +			compatible = "nxp,pnx-i2c";
> +			reg = <0x31020300 0x100>;
> +			interrupt-parent = <&sic1>;
> +			interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&usbclk LPC32XX_USB_CLK_I2C>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +		};
>   
> -			usbclk: clock-controller at f00 {
> -				compatible = "nxp,lpc3220-usb-clk";
> -				reg = <0xf00 0x100>;
> -				#clock-cells = <1>;
> -			};
> +		usbclk: clock-controller at 31020f00 {
> +			compatible = "nxp,lpc3220-usb-clk";
> +			reg = <0x31020f00 0x100>;
> +			#clock-cells = <1>;
>   		};
>   
>   		clcd: clcd at 31040000 {

As for me the change looks good, but I need some time to do
a regression testing, I'll do it over the weekend.

Thank you for the contribution!

-- 
Best wishes,
Vladimir



More information about the linux-arm-kernel mailing list