]> www.infradead.org Git - linux.git/commitdiff
arm64: dts: amlogic: a1: support all i2c masters and their muxes
authorDmitry Rokosov <ddrokosov@salutedevices.com>
Fri, 6 Oct 2023 11:41:45 +0000 (14:41 +0300)
committerNeil Armstrong <neil.armstrong@linaro.org>
Mon, 9 Oct 2023 08:51:01 +0000 (10:51 +0200)
A1 SoC family has four i2c masters: i2c0 (I2CM_A), i2c1 (I2CM_B), i2c2
(I2CM_C) and i2c3 (I2CM_D).

Signed-off-by: George Stark <gnstark@salutedevices.com>
Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20231006114145.18718-1-ddrokosov@salutedevices.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
arch/arm64/boot/dts/amlogic/meson-a1.dtsi

index 6cd50187896adb7c65154e001c3a4167bbd2c066..648e7f49424f1037f68933dd2c8921cc9363614f 100644 (file)
                                        gpio-ranges = <&periphs_pinctrl 0 0 62>;
                                };
 
+                               i2c0_f11_pins: i2c0-f11 {
+                                       mux {
+                                               groups = "i2c0_sck_f11",
+                                                        "i2c0_sda_f12";
+                                               function = "i2c0";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c0_f9_pins: i2c0-f9 {
+                                       mux {
+                                               groups = "i2c0_sck_f9",
+                                                        "i2c0_sda_f10";
+                                               function = "i2c0";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c1_x_pins: i2c1-x {
+                                       mux {
+                                               groups = "i2c1_sck_x",
+                                                        "i2c1_sda_x";
+                                               function = "i2c1";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c1_a_pins: i2c1-a {
+                                       mux {
+                                               groups = "i2c1_sck_a",
+                                                        "i2c1_sda_a";
+                                               function = "i2c1";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c2_x0_pins: i2c2-x0 {
+                                       mux {
+                                               groups = "i2c2_sck_x0",
+                                                        "i2c2_sda_x1";
+                                               function = "i2c2";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c2_x15_pins: i2c2-x15 {
+                                       mux {
+                                               groups = "i2c2_sck_x15",
+                                                        "i2c2_sda_x16";
+                                               function = "i2c2";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c2_a4_pins: i2c2-a4 {
+                                       mux {
+                                               groups = "i2c2_sck_a4",
+                                                        "i2c2_sda_a5";
+                                               function = "i2c2";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c2_a8_pins: i2c2-a8 {
+                                       mux {
+                                               groups = "i2c2_sck_a8",
+                                                        "i2c2_sda_a9";
+                                               function = "i2c2";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c3_x_pins: i2c3-x {
+                                       mux {
+                                               groups = "i2c3_sck_x",
+                                                        "i2c3_sda_x";
+                                               function = "i2c3";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
+                               i2c3_f_pins: i2c3-f {
+                                       mux {
+                                               groups = "i2c3_sck_f",
+                                                        "i2c3_sda_f";
+                                               function = "i2c3";
+                                               bias-pull-up;
+                                               drive-strength-microamp = <3000>;
+                                       };
+                               };
+
                                uart_a_pins: uart-a {
                                        mux {
                                                groups = "uart_a_tx",
                                              "hifi_pll", "xtal";
                        };
 
+                       i2c0: i2c@1400 {
+                               compatible = "amlogic,meson-axg-i2c";
+                               status = "disabled";
+                               reg = <0x0 0x1400 0x0 0x20>;
+                               interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               clocks = <&clkc_periphs CLKID_I2C_M_A>;
+                               power-domains = <&pwrc PWRC_I2C_ID>;
+                       };
+
                        uart_AO: serial@1c00 {
                                compatible = "amlogic,meson-a1-uart",
                                             "amlogic,meson-ao-uart";
                                status = "disabled";
                        };
 
+                       i2c1: i2c@5c00 {
+                               compatible = "amlogic,meson-axg-i2c";
+                               status = "disabled";
+                               reg = <0x0 0x5c00 0x0 0x20>;
+                               interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               clocks = <&clkc_periphs CLKID_I2C_M_B>;
+                               power-domains = <&pwrc PWRC_I2C_ID>;
+                       };
+
+                       i2c2: i2c@6800 {
+                               compatible = "amlogic,meson-axg-i2c";
+                               status = "disabled";
+                               reg = <0x0 0x6800 0x0 0x20>;
+                               interrupts = <GIC_SPI 76 IRQ_TYPE_EDGE_RISING>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               clocks = <&clkc_periphs CLKID_I2C_M_C>;
+                               power-domains = <&pwrc PWRC_I2C_ID>;
+                       };
+
+                       i2c3: i2c@6c00 {
+                               compatible = "amlogic,meson-axg-i2c";
+                               status = "disabled";
+                               reg = <0x0 0x6c00 0x0 0x20>;
+                               interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               clocks = <&clkc_periphs CLKID_I2C_M_D>;
+                               power-domains = <&pwrc PWRC_I2C_ID>;
+                       };
+
                        usb2_phy1: phy@4000 {
                                compatible = "amlogic,a1-usb2-phy";
                                clocks = <&clkc_periphs CLKID_USB_PHY_IN>;