]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
MIPS: mobileye: eyeq5: add 5 I2C controller nodes
authorThéo Lebrun <theo.lebrun@bootlin.com>
Fri, 4 Jul 2025 11:47:07 +0000 (13:47 +0200)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 16 Jul 2025 16:30:45 +0000 (18:30 +0200)
Add the SoC I2C controller nodes to the platform devicetree. Use a
default bus frequency of 400kHz. They are AMBA devices that are matched
on PeriphID.

Set transfer timeout to 10ms instead of Linux's default of 200ms.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/boot/dts/mobileye/eyeq5.dtsi

index e15d9ce0bdf4930ae3c06767a4446fecfbd4096f..a838e33a2a05988fabfe287ead852d480bdd7141 100644 (file)
                ranges;
                compatible = "simple-bus";
 
+               i2c0: i2c@300000 {
+                       compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+                       reg = <0 0x300000 0x0 0x1000>;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-frequency = <400000>; /* Fast mode */
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+                       clock-names = "i2cclk", "apb_pclk";
+                       resets = <&olb 0 13>;
+                       i2c-transfer-timeout-us = <10000>;
+                       mobileye,olb = <&olb 0>;
+               };
+
+               i2c1: i2c@400000 {
+                       compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+                       reg = <0 0x400000 0x0 0x1000>;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-frequency = <400000>; /* Fast mode */
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+                       clock-names = "i2cclk", "apb_pclk";
+                       resets = <&olb 0 14>;
+                       i2c-transfer-timeout-us = <10000>;
+                       mobileye,olb = <&olb 1>;
+               };
+
+               i2c2: i2c@500000 {
+                       compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+                       reg = <0 0x500000 0x0 0x1000>;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-frequency = <400000>; /* Fast mode */
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+                       clock-names = "i2cclk", "apb_pclk";
+                       resets = <&olb 0 15>;
+                       i2c-transfer-timeout-us = <10000>;
+                       mobileye,olb = <&olb 2>;
+               };
+
+               i2c3: i2c@600000 {
+                       compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+                       reg = <0 0x600000 0x0 0x1000>;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-frequency = <400000>; /* Fast mode */
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+                       clock-names = "i2cclk", "apb_pclk";
+                       resets = <&olb 0 16>;
+                       i2c-transfer-timeout-us = <10000>;
+                       mobileye,olb = <&olb 3>;
+               };
+
+               i2c4: i2c@700000 {
+                       compatible = "mobileye,eyeq5-i2c", "arm,primecell";
+                       reg = <0 0x700000 0x0 0x1000>;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SHARED 5 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-frequency = <400000>; /* Fast mode */
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&olb 35>, <&olb EQ5C_PER_I2C>;
+                       clock-names = "i2cclk", "apb_pclk";
+                       resets = <&olb 0 17>;
+                       i2c-transfer-timeout-us = <10000>;
+                       mobileye,olb = <&olb 4>;
+               };
+
                uart0: serial@800000 {
                        compatible = "arm,pl011", "arm,primecell";
                        reg = <0 0x800000 0x0 0x1000>;