#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;
+       };
 };
 
                };
        };
 
+       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>;