ARM: dts: lan966x: add flexcom I2C nodes
authorMichael Walle <michael@walle.cc>
Mon, 2 May 2022 22:41:20 +0000 (00:41 +0200)
committerClaudiu Beznea <claudiu.beznea@microchip.com>
Fri, 13 May 2022 13:41:43 +0000 (16:41 +0300)
Add all I2C nodes of the flexcom IP blocks. The driver supports
FIFO, DMA or both combined. But the latter isn't working correctly.
Thus, skip the fifo-size property for now. DMA is doing single byte
reads in this case.

Keep the nodes disabled by default.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Tested-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20220502224127.2604333-7-michael@walle.cc
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
arch/arm/boot/dts/lan966x.dtsi

index a61d394..95d58bd 100644 (file)
                                #size-cells = <0>;
                                status = "disabled";
                        };
+
+                       i2c0: i2c@600 {
+                               compatible = "microchip,sam9x60-i2c";
+                               reg = <0x600 0x200>;
+                               interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&dma0 AT91_XDMAC_DT_PERID(3)>,
+                                      <&dma0 AT91_XDMAC_DT_PERID(2)>;
+                               dma-names = "tx", "rx";
+                               clocks = <&nic_clk>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
                };
 
                flx1: flexcom@e0044000 {
                                #size-cells = <0>;
                                status = "disabled";
                        };
+
+                       i2c1: i2c@600 {
+                               compatible = "microchip,sam9x60-i2c";
+                               reg = <0x600 0x200>;
+                               interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&dma0 AT91_XDMAC_DT_PERID(5)>,
+                                      <&dma0 AT91_XDMAC_DT_PERID(4)>;
+                               dma-names = "tx", "rx";
+                               clocks = <&nic_clk>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
                };
 
                trng: rng@e0048000 {
                                #size-cells = <0>;
                                status = "disabled";
                        };
+
+                       i2c2: i2c@600 {
+                               compatible = "microchip,sam9x60-i2c";
+                               reg = <0x600 0x200>;
+                               interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&dma0 AT91_XDMAC_DT_PERID(7)>,
+                                      <&dma0 AT91_XDMAC_DT_PERID(6)>;
+                               dma-names = "tx", "rx";
+                               clocks = <&nic_clk>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
                };
 
                flx3: flexcom@e0064000 {
                                #size-cells = <0>;
                                status = "disabled";
                        };
+
+                       i2c3: i2c@600 {
+                               compatible = "microchip,sam9x60-i2c";
+                               reg = <0x600 0x200>;
+                               interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&dma0 AT91_XDMAC_DT_PERID(9)>,
+                                      <&dma0 AT91_XDMAC_DT_PERID(8)>;
+                               dma-names = "tx", "rx";
+                               clocks = <&nic_clk>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
                };
 
                dma0: dma-controller@e0068000 {
                                #size-cells = <0>;
                                status = "disabled";
                        };
+
+                       i2c4: i2c@600 {
+                               compatible = "microchip,sam9x60-i2c";
+                               reg = <0x600 0x200>;
+                               interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&dma0 AT91_XDMAC_DT_PERID(11)>,
+                                      <&dma0 AT91_XDMAC_DT_PERID(10)>;
+                               dma-names = "tx", "rx";
+                               clocks = <&nic_clk>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
                };
 
                timer0: timer@e008c000 {