Unverified Commit 7eb5b8d0 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'arm-soc/for-6.17/devicetree' of https://github.com/Broadcom/stblinux into soc/dt

This pull request contains Broadcom ARM-based SoCs Device Tree updates
for 6.17, please pull the following:

- Linus makes a number of updates to the BCMBCA SoCs Device Tree files
  to correct UART interrupt numbers, add interrupts to the RNG block,
  and leverage the fact that all SoCs have the same peripherals at the
  same aperture

- Uwe corrects the Merakia MX6X DTS file to have #pwm-cells = 3 as per
  the binding

* tag 'arm-soc/for-6.17/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcm958625-meraki-mx6x: Use #pwm-cells = <3>
  ARM: dts: bcm63178: Add BCMBCA peripherals
  ARM: dts: bcm63148: Add BCMBCA peripherals
  ARM: dts: bcm63138: Add BCMBCA peripherals
  ARM: dts: bcm6878: Add BCMBCA peripherals
  ARM: dts: bcm6855: Add BCMBCA peripherals
  ARM: dts: bcm6846: Add interrupt to RNG
  dt-bindings: rng: r200: Add interrupt property
  ARM: dts: bcm6878: Correct UART0 IRQ number

Link: https://lore.kernel.org/r/20250630190216.1518354-2-florian.fainelli@broadcom.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 0dc89a25 8df00d6b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -20,11 +20,17 @@ properties:
  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    rng@18032000 {
        compatible = "brcm,iproc-rng200";
        reg = <0x18032000 0x28>;
        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
    };
+78 −1
Original line number Diff line number Diff line
@@ -184,13 +184,69 @@ ubus@fffe8000 {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0xfffe8000 0x8100>;
		ranges = <0 0xfffe8000 0x10000>;

		timer: timer@80 {
			compatible = "brcm,bcm6328-timer", "syscon";
			reg = <0x80 0x3c>;
		};

		/* GPIOs 0 .. 31 */
		gpio0: gpio@100 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x100 0x04>, <0x114 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 32 .. 63 */
		gpio1: gpio@104 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x104 0x04>, <0x118 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 64 .. 95 */
		gpio2: gpio@108 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x108 0x04>, <0x11c 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 96 .. 127 */
		gpio3: gpio@10c {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x10c 0x04>, <0x120 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 128 .. 159 */
		gpio4: gpio@110 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x110 0x04>, <0x124 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		rng@300 {
			compatible = "brcm,iproc-rng200";
			reg = <0x300 0x28>;
			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
		};

		serial0: serial@600 {
			compatible = "brcm,bcm6345-uart";
			reg = <0x600 0x1b>;
@@ -209,6 +265,14 @@ serial1: serial@620 {
			status = "disabled";
		};

		leds: led-controller@700 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm63138-leds";
			reg = <0x700 0xdc>;
			status = "disabled";
		};

		hsspi: spi@1000 {
			#address-cells = <1>;
			#size-cells = <0>;
@@ -248,6 +312,19 @@ bootlut: bootlut@8000 {
			reg = <0x8000 0x50>;
		};

		pl081_dma: dma-controller@d000 {
			compatible = "arm,pl081", "arm,primecell";
			// The magic B105F00D info is missing
			arm,primecell-periphid = <0x00041081>;
			reg = <0xd000 0x1000>;
			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
			memcpy-burst-size = <256>;
			memcpy-bus-width = <32>;
			clocks = <&periph_clk>;
			clock-names = "apb_pclk";
			#dma-cells = <2>;
		};

		reboot {
			compatible = "syscon-reboot";
			regmap = <&timer>;
+64 −0
Original line number Diff line number Diff line
@@ -99,6 +99,62 @@ bus@ff800000 {
		#size-cells = <1>;
		ranges = <0 0xfffe8000 0x8000>;

		/* GPIOs 0 .. 31 */
		gpio0: gpio@100 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x100 0x04>, <0x114 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 32 .. 63 */
		gpio1: gpio@104 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x104 0x04>, <0x118 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 64 .. 95 */
		gpio2: gpio@108 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x108 0x04>, <0x11c 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 96 .. 127 */
		gpio3: gpio@10c {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x10c 0x04>, <0x120 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 128 .. 159 */
		gpio4: gpio@110 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x110 0x04>, <0x124 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		rng@300 {
			compatible = "brcm,iproc-rng200";
			reg = <0x300 0x28>;
			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
		};

		uart0: serial@600 {
			compatible = "brcm,bcm6345-uart";
			reg = <0x600 0x20>;
@@ -108,6 +164,14 @@ uart0: serial@600 {
			status = "disabled";
		};

		leds: led-controller@700 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm63138-leds";
			reg = <0x700 0xdc>;
			status = "disabled";
		};

		hsspi: spi@1000 {
			#address-cells = <1>;
			#size-cells = <0>;
+112 −0
Original line number Diff line number Diff line
@@ -117,6 +117,97 @@ bus@ff800000 {
		#size-cells = <1>;
		ranges = <0 0xff800000 0x800000>;

		watchdog@480 {
			compatible = "brcm,bcm6345-wdt";
			reg = <0x480 0x10>;
		};

		/* GPIOs 0 .. 31 */
		gpio0: gpio@500 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x500 0x04>, <0x520 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 32 .. 63 */
		gpio1: gpio@504 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x504 0x04>, <0x524 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 64 .. 95 */
		gpio2: gpio@508 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x508 0x04>, <0x528 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 96 .. 127 */
		gpio3: gpio@50c {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x50c 0x04>, <0x52c 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 128 .. 159 */
		gpio4: gpio@510 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x510 0x04>, <0x530 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 160 .. 191 */
		gpio5: gpio@514 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x514 0x04>, <0x534 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 192 .. 223 */
		gpio6: gpio@518 {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x518 0x04>, <0x538 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		/* GPIOs 224 .. 255 */
		gpio7: gpio@51c {
			compatible = "brcm,bcm6345-gpio";
			reg = <0x51c 0x04>, <0x53c 0x04>;
			reg-names = "dirout", "dat";
			gpio-controller;
			#gpio-cells = <2>;
			status = "disabled";
		};

		rng@b80 {
			compatible = "brcm,iproc-rng200";
			reg = <0xb80 0x28>;
			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
		};

		hsspi: spi@1000 {
			#address-cells = <1>;
			#size-cells = <0>;
@@ -143,6 +234,27 @@ nandcs: nand@0 {
			};
		};

		leds: led-controller@3000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm63138-leds";
			reg = <0x3000 0xdc>;
			status = "disabled";
		};

		pl081_dma: dma-controller@11000 {
			compatible = "arm,pl081", "arm,primecell";
			// The magic B105F00D info is missing
			arm,primecell-periphid = <0x00041081>;
			reg = <0x11000 0x1000>;
			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
			memcpy-burst-size = <256>;
			memcpy-bus-width = <32>;
			clocks = <&periph_clk>;
			clock-names = "apb_pclk";
			#dma-cells = <2>;
		};

		uart0: serial@12000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x12000 0x1000>;
+1 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ uart0: serial@640 {
		rng@b80 {
			compatible = "brcm,iproc-rng200";
			reg = <0xb80 0x28>;
			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
		};

		leds: led-controller@800 {
Loading