MIPS: Ingenic: Add missing nodes for X1000 and CU1000-Neo.
author周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
Tue, 14 Jan 2020 17:03:47 +0000 (01:03 +0800)
committerPaul Burton <paulburton@kernel.org>
Wed, 15 Jan 2020 18:45:45 +0000 (10:45 -0800)
Add I2C0/I2C1/I2C2 nodes for X1000 and add I2C0, ADS7830,
MSC1, AP6212A, wlan_pwrseq nodes for CU1000-Neo.

Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: robh+dt@kernel.org
Cc: paul.burton@mips.com
Cc: jhogan@kernel.org
Cc: mark.rutland@arm.com
Cc: syq@debian.org
Cc: ralf@linux-mips.org
Cc: rick.tyliu@ingenic.com
Cc: jason@lakedaemon.net
Cc: keescook@chromium.org
Cc: geert+renesas@glider.be
Cc: krzk@kernel.org
Cc: paul@crapouillou.net
Cc: prasannatsmkumar@gmail.com
Cc: sernia.zhou@foxmail.com
Cc: zhenwenjin@gmail.com
Cc: ebiederm@xmission.com
arch/mips/boot/dts/ingenic/cu1000-neo.dts
arch/mips/boot/dts/ingenic/x1000.dtsi

index b0733da..03abd94 100644 (file)
@@ -4,6 +4,7 @@
 #include "x1000.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/clock/ingenic,tcu.h>
+#include <dt-bindings/interrupt-controller/irq.h>
 
 / {
        compatible = "yna,cu1000-neo", "ingenic,x1000";
                device_type = "memory";
                reg = <0x0 0x04000000>;
        };
+
+       wlan_pwrseq: msc1-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+
+               clocks = <&lpoclk>;
+               clock-names = "ext_clock";
+
+               reset-gpios = <&gpc 17 GPIO_ACTIVE_LOW>;
+               post-power-on-delay-ms = <200>;
+
+               lpoclk: ap6212a {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <32768>;
+               };
+       };
 };
 
 &exclk {
        ingenic,pwm-channels-mask = <0xfa>;
 };
 
+&i2c0 {
+       status = "okay";
+
+       clock-frequency = <400000>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&pins_i2c0>;
+
+       ads7830@48 {
+               compatible = "ti,ads7830";
+               reg = <0x48>;
+       };
+};
+
 &uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pins_uart2>;
        status = "okay";
 };
 
+&msc1 {
+       bus-width = <4>;
+       max-frequency = <50000000>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&pins_msc1>;
+
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       non-removable;
+
+       mmc-pwrseq = <&wlan_pwrseq>;
+
+       status = "okay";
+
+       ap6212a: wifi@1 {
+               compatible = "brcm,bcm4329-fmac";
+               reg = <1>;
+
+               interrupt-parent = <&gpc>;
+               interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+               interrupt-names = "host-wake";
+
+               brcm,drive-strength = <10>;
+       };
+};
+
 &pinctrl {
+       pins_i2c0: i2c0 {
+               function = "i2c0";
+               groups = "i2c0-data";
+               bias-disable;
+       };
+
        pins_uart2: uart2 {
                function = "uart2";
                groups = "uart2-data-d";
                groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
                bias-disable;
        };
+
+       pins_msc1: msc1 {
+               function = "mmc1";
+               groups = "mmc1-1bit", "mmc1-4bit";
+               bias-disable;
+       };
 };
index 61061a4..4994c69 100644 (file)
                };
        };
 
+       i2c0: i2c-controller@10050000 {
+               compatible = "ingenic,x1000-i2c";
+               reg = <0x10050000 0x1000>;
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               interrupt-parent = <&intc>;
+               interrupts = <60>;
+
+               clocks = <&cgu X1000_CLK_I2C0>;
+
+               status = "disabled";
+       };
+
+       i2c1: i2c-controller@10051000 {
+               compatible = "ingenic,x1000-i2c";
+               reg = <0x10051000 0x1000>;
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               interrupt-parent = <&intc>;
+               interrupts = <59>;
+
+               clocks = <&cgu X1000_CLK_I2C1>;
+
+               status = "disabled";
+       };
+
+       i2c2: i2c-controller@10052000 {
+               compatible = "ingenic,x1000-i2c";
+               reg = <0x10052000 0x1000>;
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               interrupt-parent = <&intc>;
+               interrupts = <58>;
+
+               clocks = <&cgu X1000_CLK_I2C2>;
+
+               status = "disabled";
+       };
+
        uart0: serial@10030000 {
                compatible = "ingenic,x1000-uart";
                reg = <0x10030000 0x100>;