]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARM: dts: aspeed-g6: Add i2c buses
authorJoel Stanley <joel@jms.id.au>
Sun, 15 Sep 2019 14:56:47 +0000 (15:56 +0100)
committerJoel Stanley <joel@jms.id.au>
Fri, 1 Nov 2019 04:59:48 +0000 (15:29 +1030)
The AST2600 has 16 I2C buses each with their own global IRQ line.

Signed-off-by: Joel Stanley <joel@jms.id.au>
arch/arm/boot/dts/aspeed-g6.dtsi

index e7ba75a35855936c545bedbc31acab52c4fef2a2..30542945a38636b2dd35fdf230ddf5f8f0b0b96d 100644 (file)
@@ -12,6 +12,22 @@ / {
        interrupt-parent = <&gic>;
 
        aliases {
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
+               i2c4 = &i2c4;
+               i2c5 = &i2c5;
+               i2c6 = &i2c6;
+               i2c7 = &i2c7;
+               i2c8 = &i2c8;
+               i2c9 = &i2c9;
+               i2c10 = &i2c10;
+               i2c11 = &i2c11;
+               i2c12 = &i2c12;
+               i2c13 = &i2c13;
+               i2c14 = &i2c14;
+               i2c15 = &i2c15;
                serial4 = &uart5;
        };
 
@@ -280,8 +296,258 @@ emmc: sdhci@1e750100 {
                                        pinctrl-0 = <&pinctrl_emmc_default>;
                                };
                        };
+
+                       i2c: bus@1e78a000 {
+                               compatible = "simple-bus";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0x1e78a000 0x1000>;
+                       };
+
                };
        };
 };
 
 #include "aspeed-g6-pinctrl.dtsi"
+
+&i2c {
+       i2c0: i2c-bus@40 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x80 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@100 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x100 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@180 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x180 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@200 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x200 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@280 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x280 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@300 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x300 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@380 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x380 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@400 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x400 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@480 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x480 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@500 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x500 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@580 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x580 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@600 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x600 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@680 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x680 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@700 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x700 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@780 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x780 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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-bus@800 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+               reg = <0x800 0x80>;
+               compatible = "aspeed,ast2600-i2c-bus";
+               clocks = <&syscon ASPEED_CLK_APB1>;
+               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";
+       };
+};