Merge tag 'sunxi-dt-for-4.9-3' of https://git.kernel.org/pub/scm/linux/kernel/git...
authorArnd Bergmann <arnd@arndb.de>
Wed, 21 Sep 2016 20:38:44 +0000 (22:38 +0200)
committerArnd Bergmann <arnd@arndb.de>
Wed, 21 Sep 2016 20:38:44 +0000 (22:38 +0200)
Pull "Allwinner DT changes for 4.9, late edition" from Maxime Ripard:

Here is a bunch of late changes for the 4.9 merge window, mostly:
  - Added a bunch of touchscreens nodes to tablets
  - Added support for the AXP806 PMIC found in the A80 boards
  - Enabled a few pinmux options for the H3

* tag 'sunxi-dt-for-4.9-3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  ARM: dts: sun8i: Add accelerometer to polaroid-mid2407pxe03
  ARM: dts: sun8i: enable UART1 for iNet D978 Rev2 board
  ARM: dts: sun8i: add pinmux for UART1 at PG
  dts: sun8i-h3: add I2C0-2 peripherals to H3 SOC
  dts: sun8i-h3: add pinmux definitions for I2C0-2
  dts: sun8i-h3: associate exposed UARTs on Orange Pi Boards
  dts: sun8i-h3: split off RTS/CTS for UART1 in seperate pinmux
  dts: sun8i-h3: add pinmux definitions for UART2-3
  ARM: dts: sun9i: a80-optimus: Disable EHCI1
  ARM: dts: sun9i: cubieboard4: Add AXP806 PMIC device node and regulators
  ARM: dts: sun9i: a80-optimus: Add AXP806 PMIC device node and regulators
  ARM: dts: sun9i: cubieboard4: Declare AXP809 SW regulator as unused
  ARM: dts: sun9i: a80-optimus: Declare AXP809 SW regulator as unused
  ARM: dts: sun8i: Add touchscreen node for sun8i-a33-ga10h
  ARM: dts: sun8i: Add touchscreen node for sun8i-a23-polaroid-mid2809pxe04
  ARM: dts: sun8i: Add touchscreen node for sun8i-a23-polaroid-mid2407pxe03
  ARM: dts: sun8i: Add touchscreen node for sun8i-a23-inet86dz
  ARM: dts: sun8i: Add touchscreen node for sun8i-a23-gt90h

14 files changed:
arch/arm/boot/dts/sun8i-a23-a33.dtsi
arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts
arch/arm/boot/dts/sun8i-a23-inet86dz.dts
arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts
arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts
arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts
arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
arch/arm/boot/dts/sun8i-h3.dtsi
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
arch/arm/boot/dts/sun9i-a80-optimus.dts

index 01d8bbf..ea4082c 100644 (file)
                                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
                        };
 
+                       uart1_pins_a: uart1@0 {
+                               allwinner,pins = "PG6", "PG7";
+                               allwinner,function = "uart1";
+                       };
+
+                       uart1_pins_cts_rts_a: uart1-cts-rts@0 {
+                               allwinner,pins = "PG8", "PG9";
+                               allwinner,function = "uart1";
+                       };
+
                        mmc0_pins_a: mmc0@0 {
                                allwinner,pins = "PF0", "PF1", "PF2",
                                                 "PF3", "PF4", "PF5";
index f27ebbb..e3c7a25 100644 (file)
        status = "okay";
 };
 
+&touchscreen {
+       reg = <0x40>;
+       compatible = "silead,gsl3675";
+       firmware-name = "gsl3675-gt90h.fw";
+       touchscreen-size-x = <1792>;
+       touchscreen-size-y = <1024>;
+       status = "okay";
+};
+
 &lradc {
        button@600 {
                label = "Back";
index 0f9f71b..d440575 100644 (file)
        status = "okay";
 };
 
+&touchscreen {
+       reg = <0x40>;
+       compatible = "silead,gsl1680";
+       firmware-name = "gsl1680-inet86dz.fw";
+       touchscreen-size-x = <960>;
+       touchscreen-size-y = <640>;
+       status = "okay";
+};
+
 &usbphy {
        usb1_vbus-supply = <&reg_dldo1>;
 };
index 4789aac..a86cbed 100644 (file)
        };
 };
 
+&i2c1 {
+       mma7660: accelerometer@4c {
+               reg = <0x4c>;
+               compatible = "fsl,mma7660";
+       };
+};
+
 &mmc1 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc1_pins_a>;
                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
        };
 };
+
+&reg_ldo_io1 {
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-touchscreen";
+       status = "okay";
+};
+
+&touchscreen {
+       reg = <0x40>;
+       compatible = "silead,gsl1680";
+       firmware-name = "gsl1680-polaroid-mid2407pxe03.fw";
+       touchscreen-size-x = <960>;
+       touchscreen-size-y = <640>;
+       touchscreen-inverted-x;
+       touchscreen-inverted-y;
+       vddio-supply = <&reg_ldo_io1>;
+       status = "okay";
+};
index c9213ca..9955f85 100644 (file)
                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
        };
 };
+
+&touchscreen {
+       reg = <0x40>;
+       compatible = "silead,gsl3670";
+       firmware-name = "gsl3670-polaroid-mid2809pxe04.fw";
+       touchscreen-size-x = <1660>;
+       touchscreen-size-y = <890>;
+       status = "okay";
+};
index de6269d..f711599 100644 (file)
        status = "okay";
 };
 
+&touchscreen {
+       reg = <0x40>;
+       compatible = "silead,gsl3675";
+       firmware-name = "gsl3675-ga10h.fw";
+       touchscreen-size-x = <1630>;
+       touchscreen-size-y = <990>;
+       touchscreen-inverted-y;
+       status = "okay";
+};
+
 &lradc {
        button@600 {
                label = "Back";
index 0f52cd9..fb46655 100644 (file)
        model = "INet-D978 Rev 02";
        compatible = "primux,inet-d978-rev2", "allwinner,sun8i-a33";
 
+       aliases {
+               serial0 = &uart1;
+       };
+
+       chosen {
+               /* Delete debug UART as serial0 is the UART for bluetooth */
+               /delete-property/stdout-path;
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
        };
 };
+
+&r_uart {
+       status = "disabled";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins_a>,
+                   <&uart1_pins_cts_rts_a>;
+       status = "okay";
+};
index f3b1d5f..06fddaa 100644 (file)
 
 &uart1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart1_pins_a>;
+       pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
        status = "okay";
 };
 
index f89fe00..e5bcaba 100644 (file)
        status = "okay";
 };
 
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>;
+       status = "disabled";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pins>;
+       status = "disabled";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>;
+       status = "disabled";
+};
+
 &usb1_vbus_pin_a {
        allwinner,pins = "PG13";
 };
index 0adf932..5c9b5bf 100644 (file)
        status = "okay";
 };
 
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>;
+       status = "disabled";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pins>;
+       status = "disabled";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>;
+       status = "disabled";
+};
+
 &usbphy {
        /* USB VBUS is always on */
        status = "okay";
index daf50b9..3ec9712 100644 (file)
        status = "okay";
 };
 
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>;
+       status = "disabled";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pins>;
+       status = "disabled";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>;
+       status = "disabled";
+};
+
 &usbphy {
        /* USB VBUS is always on */
        status = "okay";
index 6d83b86..99e6640 100644 (file)
                        interrupt-controller;
                        #interrupt-cells = <3>;
 
+                       i2c0_pins: i2c0 {
+                               allwinner,pins = "PA11", "PA12";
+                               allwinner,function = "i2c0";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
+
+                       i2c1_pins: i2c1 {
+                               allwinner,pins = "PA18", "PA19";
+                               allwinner,function = "i2c1";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
+
+                       i2c2_pins: i2c2 {
+                               allwinner,pins = "PE12", "PE13";
+                               allwinner,function = "i2c2";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
+
                        mmc0_pins_a: mmc0@0 {
                                allwinner,pins = "PF0", "PF1", "PF2", "PF3",
                                                 "PF4", "PF5";
                                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
                        };
 
-                       uart1_pins_a: uart1@0 {
-                               allwinner,pins = "PG6", "PG7", "PG8", "PG9";
+                       uart1_pins: uart1 {
+                               allwinner,pins = "PG6", "PG7";
+                               allwinner,function = "uart1";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
+
+                       uart1_rts_cts_pins: uart1_rts_cts {
+                               allwinner,pins = "PG8", "PG9";
                                allwinner,function = "uart1";
                                allwinner,drive = <SUN4I_PINCTRL_10_MA>;
                                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
                        };
+
+                       uart2_pins: uart2 {
+                               allwinner,pins = "PA0", "PA1";
+                               allwinner,function = "uart2";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
+
+                       uart3_pins: uart3 {
+                               allwinner,pins = "PG13", "PG14";
+                               allwinner,function = "uart3";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
                };
 
                timer@01c20c00 {
                        status = "disabled";
                };
 
+               i2c0: i2c@01c2ac00 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2ac00 0x400>;
+                       interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C0>;
+                       resets = <&ccu RST_BUS_I2C0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c1: i2c@01c2b000 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2b000 0x400>;
+                       interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C1>;
+                       resets = <&ccu RST_BUS_I2C1>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c1_pins>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c2: i2c@01c2b400 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2b000 0x400>;
+                       interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C2>;
+                       resets = <&ccu RST_BUS_I2C2>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_pins>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
                gic: interrupt-controller@01c81000 {
                        compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c81000 0x1000>,
index 04b0146..439847a 100644 (file)
                        reg_rtc_ldo: rtc_ldo {
                                regulator-name = "vcc-rtc-vdd1v8-io";
                        };
+
+                       sw {
+                               /* unused */
+                       };
+               };
+       };
+
+       axp806: pmic@745 {
+               compatible = "x-powers,axp806";
+               reg = <0x745>;
+               interrupt-parent = <&nmi_intc>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-controller;
+               #interrupt-cells = <1>;
+               bldoin-supply = <&reg_dcdce>;
+
+               regulators {
+                       reg_s_aldo1: aldo1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-name = "avcc";
+                       };
+
+                       aldo2 {
+                               /*
+                                * unused, but use a different name to
+                                * avoid name clash with axp809's aldo's
+                                */
+                               regulator-name = "s_aldo2";
+                       };
+
+                       aldo3 {
+                               /*
+                                * unused, but use a different name to
+                                * avoid name clash with axp809's aldo's
+                                */
+                               regulator-name = "s_aldo3";
+                       };
+
+                       reg_bldo1: bldo1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1700000>;
+                               regulator-max-microvolt = <1900000>;
+                               regulator-name = "vcc18-efuse-adc-display-csi";
+                       };
+
+                       reg_bldo2: bldo2 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1700000>;
+                               regulator-max-microvolt = <1900000>;
+                               regulator-name =
+                                       "vdd18-drampll-vcc18-pll-cpvdd";
+                       };
+
+                       bldo3 {
+                               /* unused */
+                       };
+
+                       reg_bldo4: bldo4 {
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-name = "vcc12-hsic";
+                       };
+
+                       reg_cldo1: cldo1 {
+                               /*
+                                * This was 3V in the original design, but
+                                * 3.3V is the recommended supply voltage
+                                * for the Ethernet PHY.
+                                */
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcc-gmac-phy";
+                       };
+
+                       reg_cldo2: cldo2 {
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-name = "afvcc-cam";
+                       };
+
+                       reg_cldo3: cldo3 {
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-name = "vcc-io-wifi-codec-io2";
+                       };
+
+                       reg_dcdca: dcdca {
+                               regulator-always-on;
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-name = "vdd-cpub";
+                       };
+
+                       reg_dcdcd: dcdcd {
+                               regulator-always-on;
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-name = "vdd-vpu";
+                       };
+
+                       reg_dcdce: dcdce {
+                               regulator-always-on;
+                               regulator-min-microvolt = <2100000>;
+                               regulator-max-microvolt = <2100000>;
+                               regulator-name = "vcc-bldo-codec-ldoin";
+                       };
+
+                       sw {
+                               /*
+                                * unused, but use a different name to
+                                * avoid name clash with axp809's sw
+                                */
+                               regulator-name = "s_sw";
+                       };
                };
        };
 
index fd874de..ceb6ef1 100644 (file)
 };
 
 &ehci1 {
-       status = "okay";
+       /* Enable if HSIC peripheral is connected */
+       status = "disabled";
 };
 
 &ehci2 {
                        reg_rtc_ldo: rtc_ldo {
                                regulator-name = "vcc-rtc-vdd1v8-io";
                        };
+
+                       sw {
+                               /* unused */
+                       };
+               };
+       };
+
+       axp806: pmic@745 {
+               compatible = "x-powers,axp806";
+               reg = <0x745>;
+               interrupt-parent = <&nmi_intc>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-controller;
+               #interrupt-cells = <1>;
+               bldoin-supply = <&reg_dcdce>;
+
+               regulators {
+                       reg_s_aldo1: aldo1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-name = "avcc";
+                       };
+
+                       aldo2 {
+                               /*
+                                * unused, but use a different name to
+                                * avoid name clash with axp809's aldo's
+                                */
+                               regulator-name = "s_aldo2";
+                       };
+
+                       aldo3 {
+                               /*
+                                * unused, but use a different name to
+                                * avoid name clash with axp809's aldo's
+                                */
+                               regulator-name = "s_aldo3";
+                       };
+
+                       reg_bldo1: bldo1 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1700000>;
+                               regulator-max-microvolt = <1900000>;
+                               regulator-name = "vcc18-efuse-adc-display-csi";
+                       };
+
+                       reg_bldo2: bldo2 {
+                               regulator-always-on;
+                               regulator-min-microvolt = <1700000>;
+                               regulator-max-microvolt = <1900000>;
+                               regulator-name =
+                                       "vdd18-drampll-vcc18-pll-cpvdd";
+                       };
+
+                       bldo3 {
+                               /* unused */
+                       };
+
+                       reg_bldo4: bldo4 {
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-name = "vcc12-hsic";
+                       };
+
+                       reg_cldo1: cldo1 {
+                               /*
+                                * This was 3V in the original design, but
+                                * 3.3V is the recommended supply voltage
+                                * for the Ethernet PHY.
+                                */
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcc-gmac-phy";
+                       };
+
+                       reg_cldo2: cldo2 {
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-name = "afvcc-cam";
+                       };
+
+                       reg_cldo3: cldo3 {
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-name = "vcc-io-wifi-codec-io2";
+                       };
+
+                       reg_dcdca: dcdca {
+                               regulator-always-on;
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-name = "vdd-cpub";
+                       };
+
+                       reg_dcdcd: dcdcd {
+                               regulator-always-on;
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-name = "vdd-vpu";
+                       };
+
+                       reg_dcdce: dcdce {
+                               regulator-always-on;
+                               regulator-min-microvolt = <2100000>;
+                               regulator-max-microvolt = <2100000>;
+                               regulator-name = "vcc-bldo-codec-ldoin";
+                       };
+
+                       sw {
+                               /*
+                                * unused, but use a different name to
+                                * avoid name clash with axp809's sw
+                                */
+                               regulator-name = "s_sw";
+                       };
                };
        };
 
 };
 
 &usbphy2 {
-       status = "okay";
+       phy-supply = <&reg_bldo4>;
+       /* Enable if HSIC peripheral is connected */
+       status = "disabled";
 };
 
 &usbphy3 {