]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ARM: dts: aspeed-g6: move i2c controllers directly into apb node
authorDawid Glazik <dawid.glazik@linux.intel.com>
Fri, 24 Apr 2026 20:20:59 +0000 (22:20 +0200)
committerAndrew Jeffery <andrew@codeconstruct.com.au>
Mon, 18 May 2026 04:47:30 +0000 (14:17 +0930)
We currently have the apb's mapping of the i2c controller space as a
labelled mostly-empty node:

  apb {
    i2c: bus@1e78a000 {
      ranges = <...>;
    };
  }

... and then define the contents of the i2c block later:

  i2c: {
    i2c0: i2c-bus@80 {
      reg = <0x80 0x80>;
    };
    i2c1: i2c-bus@100 {
      reg = <0x100 0x80>;
    };
  }

Krzysztof mentions[1] that isn't convention though, with the top-level
simple-bus being empty and linked via the label. So, drop the label
usage and move the i2c bus definition into the simple-bus node directly
under the apb:

  apb {
     bus@1e78a000 {
      ranges = <...>;

      i2c0: i2c-bus@80 {
        reg = <0x80 0x80>;
      };
      i2c1: i2c-bus@100 {
        reg = <0x100 0x80>;
      };
    };
  }

This will allow us to be consistent when we add new definitions for the
i3c nodes, which would require the latter format.

Link: https://lore.kernel.org/linux-devicetree/c5331cf8-7295-4e6a-ba39-e0751a2c357e@kernel.org/
Suggested-by: Jeremy Kerr <jk@codeconstruct.com.au>
Signed-off-by: Dawid Glazik <dawid.glazik@linux.intel.com>
Link: https://patch.msgid.link/7c7010a87bb70b9e2abdadfea76d41cdcb88a82f.1777058942.git.dawid.glazik@linux.intel.com
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi

index 189bc3bbb47c9edc16656a71b713562a0ac11f67..f5641128614f2c63ecb81e152451d623dedf0f07 100644 (file)
                                status = "disabled";
                        };
 
-                       i2c: bus@1e78a000 {
+                       bus@1e78a000 {
                                compatible = "simple-bus";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                ranges = <0 0x1e78a000 0x1000>;
+
+                               i2c0: i2c@80 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x80 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c1_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c1: i2c@100 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x100 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c2_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c2: i2c@180 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x180 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c3_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c3: i2c@200 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x200 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c4_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c4: i2c@280 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x280 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c5_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c5: i2c@300 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x300 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c6_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c6: i2c@380 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x380 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c7_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c7: i2c@400 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x400 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c8_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c8: i2c@480 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x480 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c9_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c9: i2c@500 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x500 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c10_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c10: i2c@580 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x580 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c11_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c11: i2c@600 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x600 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c12_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c12: i2c@680 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x680 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c13_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c13: i2c@700 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x700 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c14_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c14: i2c@780 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x780 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c15_default>;
+                                       status = "disabled";
+                               };
+
+                               i2c15: i2c@800 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x800 0x80>;
+                                       compatible = "aspeed,ast2600-i2c-bus";
+                                       clocks = <&syscon ASPEED_CLK_APB2>;
+                                       resets = <&syscon ASPEED_RESET_I2C>;
+                                       interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
+                                       bus-frequency = <100000>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_i2c16_default>;
+                                       status = "disabled";
+                               };
                        };
 
                        fsim0: fsi@1e79b000 {
 };
 
 #include "aspeed-g6-pinctrl.dtsi"
-
-&i2c {
-       i2c0: i2c@80 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x80 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c1_default>;
-               status = "disabled";
-       };
-
-       i2c1: i2c@100 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x100 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c2_default>;
-               status = "disabled";
-       };
-
-       i2c2: i2c@180 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x180 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c3_default>;
-               status = "disabled";
-       };
-
-       i2c3: i2c@200 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x200 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c4_default>;
-               status = "disabled";
-       };
-
-       i2c4: i2c@280 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x280 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c5_default>;
-               status = "disabled";
-       };
-
-       i2c5: i2c@300 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x300 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c6_default>;
-               status = "disabled";
-       };
-
-       i2c6: i2c@380 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x380 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c7_default>;
-               status = "disabled";
-       };
-
-       i2c7: i2c@400 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x400 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c8_default>;
-               status = "disabled";
-       };
-
-       i2c8: i2c@480 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x480 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c9_default>;
-               status = "disabled";
-       };
-
-       i2c9: i2c@500 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x500 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c10_default>;
-               status = "disabled";
-       };
-
-       i2c10: i2c@580 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x580 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c11_default>;
-               status = "disabled";
-       };
-
-       i2c11: i2c@600 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x600 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c12_default>;
-               status = "disabled";
-       };
-
-       i2c12: i2c@680 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x680 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c13_default>;
-               status = "disabled";
-       };
-
-       i2c13: i2c@700 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x700 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c14_default>;
-               status = "disabled";
-       };
-
-       i2c14: i2c@780 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x780 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c15_default>;
-               status = "disabled";
-       };
-
-       i2c15: i2c@800 {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x800 0x80>;
-               compatible = "aspeed,ast2600-i2c-bus";
-               clocks = <&syscon ASPEED_CLK_APB2>;
-               resets = <&syscon ASPEED_RESET_I2C>;
-               interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
-               bus-frequency = <100000>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_i2c16_default>;
-               status = "disabled";
-       };
-};