Commit 190e3138 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'sunxi-h3-h5-for-4.17' of...

Merge tag 'sunxi-h3-h5-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt

Pull "Allwinner H3/H5 changes for 4.17" from Maxime Ripard:

Here is our usual bunch of changes to the common DTSI shared between arm
and arm64, and their associated device trees.

Even though the diffstat is quite big, it's been mostly just cleanups. The
big feature is that the HDMI is now suported on H3 and H5 boards.

* tag 'sunxi-h3-h5-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: allwinner: H5: Add Xunlong Orange Pi Zero Plus
  ARM: dts: sun8i-h3: Add Mali node
  ARM64: dts: sun50i: h5: Enable HDMI output on H5 boards
  ARM: dts: sun8i: h3: Enable HDMI output on H3 boards
  ARM: dts: sunxi: h3/h5: Add HDMI pipeline
  ARM: dts: sun8i: h2-plus: remove unnecessary mmc1_pins node
  ARM: dts: sunxi: h3-h5: rename mmc0_pins_a and mmc1_pins_a
  ARM: dts: sunxi: h3-h5: Move pinctrl of mmc1 from dts to dtsi
  ARM: dts: sunxi: h3-h5: Move pinctrl of mmc0 from dts to dtsi
  ARM: dts: sunxi: h3-h5: remove mmc0 card detection pin from pinctrl
  ARM: dts: sun8i: h2+: add support for Banana Pi M2 Zero board
  ARM: dts: sunxi: Switch MMC nodes away from cd-inverted property
  ARM: dts: nanopi-neo-air: Add WiFi / eMMC
parents cafc8702 a7affb13
...@@ -10,6 +10,7 @@ Required properties: ...@@ -10,6 +10,7 @@ Required properties:
* And, optionally, one of the vendor specific compatible: * And, optionally, one of the vendor specific compatible:
+ allwinner,sun4i-a10-mali + allwinner,sun4i-a10-mali
+ allwinner,sun7i-a20-mali + allwinner,sun7i-a20-mali
+ allwinner,sun8i-h3-mali
+ allwinner,sun50i-h5-mali + allwinner,sun50i-h5-mali
+ amlogic,meson-gxbb-mali + amlogic,meson-gxbb-mali
+ amlogic,meson-gxl-mali + amlogic,meson-gxl-mali
......
...@@ -993,6 +993,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ ...@@ -993,6 +993,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-cubietruck-plus.dtb \
sun8i-a83t-tbs-a711.dtb \ sun8i-a83t-tbs-a711.dtb \
sun8i-h2-plus-orangepi-r1.dtb \ sun8i-h2-plus-orangepi-r1.dtb \
sun8i-h2-plus-bananapi-m2-zero.dtb \
sun8i-h2-plus-orangepi-zero.dtb \ sun8i-h2-plus-orangepi-zero.dtb \
sun8i-h3-bananapi-m2-plus.dtb \ sun8i-h3-bananapi-m2-plus.dtb \
sun8i-h3-beelink-x2.dtb \ sun8i-h3-beelink-x2.dtb \
......
...@@ -164,8 +164,7 @@ phy1: ethernet-phy@1 { ...@@ -164,8 +164,7 @@ phy1: ethernet-phy@1 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -106,8 +106,7 @@ phy1: ethernet-phy@1 { ...@@ -106,8 +106,7 @@ phy1: ethernet-phy@1 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -123,8 +123,7 @@ button-1200 { ...@@ -123,8 +123,7 @@ button-1200 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -162,8 +162,7 @@ phy1: ethernet-phy@1 { ...@@ -162,8 +162,7 @@ phy1: ethernet-phy@1 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -150,8 +150,7 @@ button-800 { ...@@ -150,8 +150,7 @@ button-800 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -141,8 +141,7 @@ button-1142 { ...@@ -141,8 +141,7 @@ button-1142 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH01 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH01 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -106,8 +106,7 @@ phy0: ethernet-phy@0 { ...@@ -106,8 +106,7 @@ phy0: ethernet-phy@0 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -78,8 +78,7 @@ axp209: pmic@34 { ...@@ -78,8 +78,7 @@ axp209: pmic@34 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -152,8 +152,7 @@ button-1200 { ...@@ -152,8 +152,7 @@ button-1200 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -142,8 +142,7 @@ button-1200 { ...@@ -142,8 +142,7 @@ button-1200 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -300,8 +300,7 @@ button-1200 { ...@@ -300,8 +300,7 @@ button-1200 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -106,8 +106,7 @@ &mmc0 { ...@@ -106,8 +106,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -133,8 +133,7 @@ phy1: ethernet-phy@1 { ...@@ -133,8 +133,7 @@ phy1: ethernet-phy@1 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -132,8 +132,7 @@ phy1: ethernet-phy@1 { ...@@ -132,8 +132,7 @@ phy1: ethernet-phy@1 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -96,8 +96,7 @@ &ir0_rx_pins { ...@@ -96,8 +96,7 @@ &ir0_rx_pins {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -98,8 +98,7 @@ hdmi_out_con: endpoint { ...@@ -98,8 +98,7 @@ hdmi_out_con: endpoint {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -82,8 +82,7 @@ axp209: pmic@34 { ...@@ -82,8 +82,7 @@ axp209: pmic@34 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -164,8 +164,7 @@ phy1: ethernet-phy@1 { ...@@ -164,8 +164,7 @@ phy1: ethernet-phy@1 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -140,8 +140,7 @@ phy1: ethernet-phy@1 { ...@@ -140,8 +140,7 @@ phy1: ethernet-phy@1 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -138,8 +138,7 @@ button-800 { ...@@ -138,8 +138,7 @@ button-800 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -93,8 +93,7 @@ &mmc0 { ...@@ -93,8 +93,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t003>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t003>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -104,8 +104,7 @@ &mmc0 { ...@@ -104,8 +104,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t004>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t004>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -92,8 +92,7 @@ &mmc0 { ...@@ -92,8 +92,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_mk802>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_mk802>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -201,8 +201,7 @@ &mmc0 { ...@@ -201,8 +201,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
...@@ -211,8 +210,7 @@ &mmc1 { ...@@ -211,8 +210,7 @@ &mmc1 {
pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>; pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */ cd-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; /* PG13 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -80,8 +80,7 @@ &mmc0 { ...@@ -80,8 +80,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -130,8 +130,7 @@ &mmc0 { ...@@ -130,8 +130,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_wobo_i5>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_wobo_i5>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */ cd-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -125,8 +125,7 @@ &mmc0 { ...@@ -125,8 +125,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_d709>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_d709>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -120,8 +120,7 @@ &mmc0 { ...@@ -120,8 +120,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_h702>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_h702>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -99,8 +99,7 @@ &mmc0 { ...@@ -99,8 +99,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -194,8 +194,7 @@ &mmc0 { ...@@ -194,8 +194,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -236,8 +236,7 @@ &mmc0 { ...@@ -236,8 +236,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_gr8_evb>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_gr8_evb>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -127,8 +127,7 @@ &mmc0 { ...@@ -127,8 +127,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -117,8 +117,7 @@ &mmc0 { ...@@ -117,8 +117,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_colombus>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_colombus>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -218,8 +218,7 @@ &mmc0 { ...@@ -218,8 +218,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_hummingbird>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_hummingbird>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -149,8 +149,7 @@ &mmc0 { ...@@ -149,8 +149,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_i7>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_i7>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -107,8 +107,7 @@ &mmc0 { ...@@ -107,8 +107,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -107,8 +107,7 @@ &mmc0 { ...@@ -107,8 +107,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -151,8 +151,7 @@ &mmc0 { ...@@ -151,8 +151,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_primo81>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_primo81>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -167,8 +167,7 @@ &mmc0 { ...@@ -167,8 +167,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina31s>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina31s>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */ cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -120,8 +120,7 @@ &mmc0 { ...@@ -120,8 +120,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m2>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m2>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */ cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -102,8 +102,7 @@ &mmc0 { ...@@ -102,8 +102,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bs1078v2>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bs1078v2>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -69,8 +69,7 @@ &mmc0 { ...@@ -69,8 +69,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -184,8 +184,7 @@ &mmc0 { ...@@ -184,8 +184,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m1p>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m1p>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -184,8 +184,7 @@ &mmc0 { ...@@ -184,8 +184,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -158,8 +158,7 @@ &mmc0 { ...@@ -158,8 +158,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapro>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapro>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -165,8 +165,7 @@ &mmc0 { ...@@ -165,8 +165,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -206,8 +206,7 @@ &mmc0 { ...@@ -206,8 +206,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -163,8 +163,7 @@ &mmc0 { ...@@ -163,8 +163,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -160,8 +160,7 @@ &mmc0 { ...@@ -160,8 +160,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -107,8 +107,7 @@ &mmc0 { ...@@ -107,8 +107,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 8 5 GPIO_ACTIVE_HIGH>; /* PI5 */ cd-gpios = <&pio 8 5 GPIO_ACTIVE_LOW>; /* PI5 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -124,8 +124,7 @@ &mmc0 { ...@@ -124,8 +124,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -227,8 +227,7 @@ &mmc0 { ...@@ -227,8 +227,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_lamobo_r1>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_lamobo_r1>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -120,8 +120,7 @@ &mmc0 { ...@@ -120,8 +120,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -137,8 +137,7 @@ &mmc0 { ...@@ -137,8 +137,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -215,8 +215,7 @@ &mmc0 { ...@@ -215,8 +215,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
...@@ -225,8 +224,7 @@ &mmc3 { ...@@ -225,8 +224,7 @@ &mmc3 {
pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olimex_som_evb>; pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olimex_som_evb>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 0 GPIO_ACTIVE_HIGH>; /* PH0 */ cd-gpios = <&pio 7 0 GPIO_ACTIVE_LOW>; /* PH0 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -158,8 +158,7 @@ &mmc0 { ...@@ -158,8 +158,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -159,8 +159,7 @@ &mmc0 { ...@@ -159,8 +159,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -226,8 +226,7 @@ &mmc0 { ...@@ -226,8 +226,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
...@@ -236,8 +235,7 @@ &mmc3 { ...@@ -236,8 +235,7 @@ &mmc3 {
pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>; pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -169,8 +169,7 @@ &mmc0 { ...@@ -169,8 +169,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
cd-inverted;
status = "okay"; status = "okay";
}; };
...@@ -179,8 +178,7 @@ &mmc3 { ...@@ -179,8 +178,7 @@ &mmc3 {
pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_orangepi>; pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_orangepi>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -135,8 +135,7 @@ &mmc0 { ...@@ -135,8 +135,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -158,8 +158,7 @@ &mmc0 { ...@@ -158,8 +158,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -159,8 +159,7 @@ &mmc0 { ...@@ -159,8 +159,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -154,8 +154,7 @@ &mmc0 { ...@@ -154,8 +154,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -123,8 +123,7 @@ &mmc0 { ...@@ -123,8 +123,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -107,8 +107,7 @@ &mmc0 { ...@@ -107,8 +107,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_evb>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_evb>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -86,8 +86,7 @@ &mmc0 { ...@@ -86,8 +86,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -144,8 +144,7 @@ &mmc0 { ...@@ -144,8 +144,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina33>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina33>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -87,9 +87,8 @@ &mmc0 { ...@@ -87,9 +87,8 @@ &mmc0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
bus-width = <4>; bus-width = <4>;
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -151,8 +151,7 @@ &mmc0 { ...@@ -151,8 +151,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -176,8 +176,7 @@ &mmc0 { ...@@ -176,8 +176,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
*
* Based on sun8i-h3-bananapi-m2-plus.dts, which is:
* Copyright (C) 2016 Chen-Yu Tsai <wens@csie.org>
*/
/dts-v1/;
#include "sun8i-h3.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "Banana Pi BPI-M2-Zero";
compatible = "sinovoip,bpi-m2-zero", "allwinner,sun8i-h2-plus";
aliases {
serial0 = &uart0;
serial1 = &uart1;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pwr_led {
label = "bananapi-m2-zero:red:pwr";
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
default-state = "on";
};
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-names = "default";
sw4 {
label = "power";
linux,code = <BTN_0>;
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
};
};
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
};
};
&ehci0 {
status = "okay";
};
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
/*
* On the production batch of this board the card detect GPIO is
* high active (card inserted), although on the early samples it's
* low active.
*/
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
status = "okay";
};
&mmc1 {
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&pio>;
interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
interrupt-names = "host-wake";
};
};
&ohci0 {
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
status = "okay";
};
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usbphy {
usb0_id_det-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
/*
* There're two micro-USB connectors, one is power-only and another is
* OTG. The Vbus of these two connectors are connected together, so
* the external USB device will be powered just by the power input
* from the power-only USB port.
*/
status = "okay";
};
...@@ -112,18 +112,13 @@ &emac { ...@@ -112,18 +112,13 @@ &emac {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc_wifi>; vmmc-supply = <&reg_vcc_wifi>;
mmc-pwrseq = <&wifi_pwrseq>; mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>; bus-width = <4>;
...@@ -139,10 +134,6 @@ xr819: sdio_wifi@1 { ...@@ -139,10 +134,6 @@ xr819: sdio_wifi@1 {
}; };
}; };
&mmc1_pins_a {
bias-pull-up;
};
&ohci0 { &ohci0 {
status = "okay"; status = "okay";
}; };
......
...@@ -61,6 +61,17 @@ chosen { ...@@ -61,6 +61,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -100,6 +111,10 @@ wifi_pwrseq: wifi_pwrseq { ...@@ -100,6 +111,10 @@ wifi_pwrseq: wifi_pwrseq {
}; };
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
...@@ -129,6 +144,16 @@ ext_rgmii_phy: ethernet-phy@1 { ...@@ -129,6 +144,16 @@ ext_rgmii_phy: ethernet-phy@1 {
}; };
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -136,18 +161,13 @@ &ir { ...@@ -136,18 +161,13 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>; vqmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>; mmc-pwrseq = <&wifi_pwrseq>;
......
...@@ -61,6 +61,17 @@ chosen { ...@@ -61,6 +61,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
...@@ -100,6 +111,10 @@ spdif_out: spdif-out { ...@@ -100,6 +111,10 @@ spdif_out: spdif-out {
}; };
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
...@@ -108,6 +123,16 @@ &ehci1 { ...@@ -108,6 +123,16 @@ &ehci1 {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -115,18 +140,13 @@ &ir { ...@@ -115,18 +140,13 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
non-removable; non-removable;
......
...@@ -23,6 +23,17 @@ chosen { ...@@ -23,6 +23,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
...@@ -120,6 +131,10 @@ &codec { ...@@ -120,6 +131,10 @@ &codec {
status = "okay"; status = "okay";
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
...@@ -143,6 +158,16 @@ &emac { ...@@ -143,6 +158,16 @@ &emac {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -150,12 +175,9 @@ &ir { ...@@ -150,12 +175,9 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc_io>; vmmc-supply = <&reg_vcc_io>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -101,8 +101,6 @@ &ir { ...@@ -101,8 +101,6 @@ &ir {
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>; vqmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>; mmc-pwrseq = <&wifi_pwrseq>;
......
...@@ -49,6 +49,21 @@ / { ...@@ -49,6 +49,21 @@ / {
aliases { aliases {
ethernet0 = &emac; ethernet0 = &emac;
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
};
&de {
status = "okay";
}; };
&ehci1 { &ehci1 {
...@@ -66,6 +81,16 @@ &emac { ...@@ -66,6 +81,16 @@ &emac {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
......
...@@ -72,16 +72,35 @@ status { ...@@ -72,16 +72,35 @@ status {
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */ gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
}; };
}; };
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
};
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted; status = "okay";
};
&mmc1 {
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay"; status = "okay";
brcmf: bcrmf@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&pio>;
interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
interrupt-names = "host-wake";
};
}; };
&uart0 { &uart0 {
......
...@@ -95,10 +95,7 @@ &ehci3 { ...@@ -95,10 +95,7 @@ &ehci3 {
&mmc0 { &mmc0 {
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
cd-inverted;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
status = "okay"; status = "okay";
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
}; };
......
...@@ -62,6 +62,17 @@ chosen { ...@@ -62,6 +62,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -114,6 +125,10 @@ &codec { ...@@ -114,6 +125,10 @@ &codec {
status = "okay"; status = "okay";
}; };
&de {
status = "okay";
};
&ehci1 { &ehci1 {
status = "okay"; status = "okay";
}; };
...@@ -125,6 +140,16 @@ &emac { ...@@ -125,6 +140,16 @@ &emac {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -132,18 +157,13 @@ &ir { ...@@ -132,18 +157,13 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>; mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>; bus-width = <4>;
......
...@@ -61,6 +61,17 @@ chosen { ...@@ -61,6 +61,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -91,6 +102,10 @@ sw4 { ...@@ -91,6 +102,10 @@ sw4 {
}; };
}; };
&de {
status = "okay";
};
&ehci1 { &ehci1 {
status = "okay"; status = "okay";
}; };
...@@ -99,6 +114,16 @@ &ehci2 { ...@@ -99,6 +114,16 @@ &ehci2 {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -106,18 +131,13 @@ &ir { ...@@ -106,18 +131,13 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
non-removable; non-removable;
......
...@@ -60,6 +60,17 @@ chosen { ...@@ -60,6 +60,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -90,6 +101,10 @@ sw4 { ...@@ -90,6 +101,10 @@ sw4 {
}; };
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
...@@ -102,16 +117,22 @@ &emac { ...@@ -102,16 +117,22 @@ &emac {
phy-handle = <&int_mii_phy>; phy-handle = <&int_mii_phy>;
phy-mode = "mii"; phy-mode = "mii";
allwinner,leds-active-low; allwinner,leds-active-low;
};
&hdmi {
status = "okay"; status = "okay";
}; };
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -59,8 +59,6 @@ &emac { ...@@ -59,8 +59,6 @@ &emac {
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
non-removable; non-removable;
......
...@@ -60,6 +60,17 @@ chosen { ...@@ -60,6 +60,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -98,6 +109,10 @@ &codec { ...@@ -98,6 +109,10 @@ &codec {
status = "okay"; status = "okay";
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
...@@ -121,6 +136,16 @@ &emac { ...@@ -121,6 +136,16 @@ &emac {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -128,12 +153,9 @@ &ir { ...@@ -128,12 +153,9 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -79,6 +79,33 @@ timer { ...@@ -79,6 +79,33 @@ timer {
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
}; };
soc {
mali: gpu@1c40000 {
compatible = "allwinner,sun8i-h3-mali", "arm,mali-400";
reg = <0x01c40000 0x10000>;
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "gp",
"gpmmu",
"pp0",
"ppmmu0",
"pp1",
"ppmmu1",
"pmu";
clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
clock-names = "bus", "core";
resets = <&ccu RST_BUS_GPU>;
assigned-clocks = <&ccu CLK_GPU>;
assigned-clock-rates = <384000000>;
};
};
}; };
&ccu { &ccu {
......
...@@ -150,8 +150,7 @@ &mmc0 { ...@@ -150,8 +150,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>; pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -164,8 +164,7 @@ &reg_dldo2 { ...@@ -164,8 +164,7 @@ &reg_dldo2 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */ cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -85,8 +85,7 @@ &mmc0 { ...@@ -85,8 +85,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -150,8 +150,7 @@ &reg_dldo2 { ...@@ -150,8 +150,7 @@ &reg_dldo2 {
&mmc0 { &mmc0 {
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */ cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -144,8 +144,7 @@ &mmc0 { ...@@ -144,8 +144,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */ cd-gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; /* PH18 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -125,8 +125,7 @@ &mmc0 { ...@@ -125,8 +125,7 @@ &mmc0 {
pinctrl-0 = <&mmc0_pins>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */ cd-gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; /* PH8 */
cd-inverted;
status = "okay"; status = "okay";
}; };
......
...@@ -105,6 +105,12 @@ iosc: internal-osc-clk { ...@@ -105,6 +105,12 @@ iosc: internal-osc-clk {
}; };
}; };
de: display-engine {
compatible = "allwinner,sun8i-h3-display-engine";
allwinner,pipelines = <&mixer0>;
status = "disabled";
};
soc { soc {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
...@@ -123,6 +129,29 @@ display_clocks: clock@1000000 { ...@@ -123,6 +129,29 @@ display_clocks: clock@1000000 {
#reset-cells = <1>; #reset-cells = <1>;
}; };
mixer0: mixer@1100000 {
compatible = "allwinner,sun8i-h3-de2-mixer-0";
reg = <0x01100000 0x100000>;
clocks = <&display_clocks CLK_BUS_MIXER0>,
<&display_clocks CLK_MIXER0>;
clock-names = "bus",
"mod";
resets = <&display_clocks RST_MIXER0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
mixer0_out: port@1 {
reg = <1>;
mixer0_out_tcon0: endpoint {
remote-endpoint = <&tcon0_in_mixer0>;
};
};
};
};
syscon: syscon@1c00000 { syscon: syscon@1c00000 {
compatible = "allwinner,sun8i-h3-system-controller", compatible = "allwinner,sun8i-h3-system-controller",
"syscon"; "syscon";
...@@ -138,9 +167,46 @@ dma: dma-controller@1c02000 { ...@@ -138,9 +167,46 @@ dma: dma-controller@1c02000 {
#dma-cells = <1>; #dma-cells = <1>;
}; };
tcon0: lcd-controller@1c0c000 {
compatible = "allwinner,sun8i-h3-tcon-tv",
"allwinner,sun8i-a83t-tcon-tv";
reg = <0x01c0c000 0x1000>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
clock-names = "ahb", "tcon-ch1";
resets = <&ccu RST_BUS_TCON0>;
reset-names = "lcd";
ports {
#address-cells = <1>;
#size-cells = <0>;
tcon0_in: port@0 {
reg = <0>;
tcon0_in_mixer0: endpoint {
remote-endpoint = <&mixer0_out_tcon0>;
};
};
tcon0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
tcon0_out_hdmi: endpoint@1 {
reg = <1>;
remote-endpoint = <&hdmi_in_tcon0>;
};
};
};
};
mmc0: mmc@1c0f000 { mmc0: mmc@1c0f000 {
/* compatible and clocks are in per SoC .dtsi file */ /* compatible and clocks are in per SoC .dtsi file */
reg = <0x01c0f000 0x1000>; reg = <0x01c0f000 0x1000>;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
resets = <&ccu RST_BUS_MMC0>; resets = <&ccu RST_BUS_MMC0>;
reset-names = "ahb"; reset-names = "ahb";
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
...@@ -152,6 +218,8 @@ mmc0: mmc@1c0f000 { ...@@ -152,6 +218,8 @@ mmc0: mmc@1c0f000 {
mmc1: mmc@1c10000 { mmc1: mmc@1c10000 {
/* compatible and clocks are in per SoC .dtsi file */ /* compatible and clocks are in per SoC .dtsi file */
reg = <0x01c10000 0x1000>; reg = <0x01c10000 0x1000>;
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
resets = <&ccu RST_BUS_MMC1>; resets = <&ccu RST_BUS_MMC1>;
reset-names = "ahb"; reset-names = "ahb";
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
...@@ -348,7 +416,7 @@ i2c2_pins: i2c2 { ...@@ -348,7 +416,7 @@ i2c2_pins: i2c2 {
function = "i2c2"; function = "i2c2";
}; };
mmc0_pins_a: mmc0 { mmc0_pins: mmc0 {
pins = "PF0", "PF1", "PF2", "PF3", pins = "PF0", "PF1", "PF2", "PF3",
"PF4", "PF5"; "PF4", "PF5";
function = "mmc0"; function = "mmc0";
...@@ -356,13 +424,7 @@ mmc0_pins_a: mmc0 { ...@@ -356,13 +424,7 @@ mmc0_pins_a: mmc0 {
bias-pull-up; bias-pull-up;
}; };
mmc0_cd_pin: mmc0_cd_pin { mmc1_pins: mmc1 {
pins = "PF6";
function = "gpio_in";
bias-pull-up;
};
mmc1_pins_a: mmc1 {
pins = "PG0", "PG1", "PG2", "PG3", pins = "PG0", "PG1", "PG2", "PG3",
"PG4", "PG5"; "PG4", "PG5";
function = "mmc1"; function = "mmc1";
...@@ -684,6 +746,50 @@ gic: interrupt-controller@1c81000 { ...@@ -684,6 +746,50 @@ gic: interrupt-controller@1c81000 {
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
}; };
hdmi: hdmi@1ee0000 {
compatible = "allwinner,sun8i-h3-dw-hdmi",
"allwinner,sun8i-a83t-dw-hdmi";
reg = <0x01ee0000 0x10000>;
reg-io-width = <1>;
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
<&ccu CLK_HDMI>;
clock-names = "iahb", "isfr", "tmds";
resets = <&ccu RST_BUS_HDMI1>;
reset-names = "ctrl";
phys = <&hdmi_phy>;
phy-names = "hdmi-phy";
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
hdmi_in: port@0 {
reg = <0>;
hdmi_in_tcon0: endpoint {
remote-endpoint = <&tcon0_out_hdmi>;
};
};
hdmi_out: port@1 {
reg = <1>;
};
};
};
hdmi_phy: hdmi-phy@1ef0000 {
compatible = "allwinner,sun8i-h3-hdmi-phy";
reg = <0x01ef0000 0x10000>;
clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
<&ccu 6>;
clock-names = "bus", "mod", "pll-0";
resets = <&ccu RST_BUS_HDMI0>;
reset-names = "phy";
#phy-cells = <0>;
};
rtc: rtc@1f00000 { rtc: rtc@1f00000 {
compatible = "allwinner,sun6i-a31-rtc"; compatible = "allwinner,sun6i-a31-rtc";
reg = <0x01f00000 0x54>; reg = <0x01f00000 0x54>;
......
...@@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb ...@@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb
......
...@@ -151,8 +151,6 @@ ext_rgmii_phy: ethernet-phy@7 { ...@@ -151,8 +151,6 @@ ext_rgmii_phy: ethernet-phy@7 {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
...@@ -160,8 +158,6 @@ &mmc0 { ...@@ -160,8 +158,6 @@ &mmc0 {
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>; vqmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>; mmc-pwrseq = <&wifi_pwrseq>;
......
...@@ -126,8 +126,6 @@ ext_rgmii_phy: ethernet-phy@7 { ...@@ -126,8 +126,6 @@ ext_rgmii_phy: ethernet-phy@7 {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
......
...@@ -67,6 +67,17 @@ chosen { ...@@ -67,6 +67,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
...@@ -121,6 +132,10 @@ &codec { ...@@ -121,6 +132,10 @@ &codec {
status = "okay"; status = "okay";
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
...@@ -153,6 +168,16 @@ ext_rgmii_phy: ethernet-phy@1 { ...@@ -153,6 +168,16 @@ ext_rgmii_phy: ethernet-phy@1 {
}; };
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -160,8 +185,6 @@ &ir { ...@@ -160,8 +185,6 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
......
...@@ -62,6 +62,17 @@ chosen { ...@@ -62,6 +62,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
...@@ -128,6 +139,10 @@ &codec { ...@@ -128,6 +139,10 @@ &codec {
status = "okay"; status = "okay";
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
...@@ -160,6 +175,16 @@ ext_rgmii_phy: ethernet-phy@1 { ...@@ -160,6 +175,16 @@ ext_rgmii_phy: ethernet-phy@1 {
}; };
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&ir_pins_a>;
...@@ -167,8 +192,6 @@ &ir { ...@@ -167,8 +192,6 @@ &ir {
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
...@@ -176,8 +199,6 @@ &mmc0 { ...@@ -176,8 +199,6 @@ &mmc0 {
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>; mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>; bus-width = <4>;
......
/*
* Copyright (C) 2016 ARM Ltd.
* Copyright (C) 2018 Hauke Mehrtens <hauke@hauke-m.de>
*
* SPDX-License-Identifier: (GPL-2.0+ OR X11)
*/
/dts-v1/;
#include "sun50i-h5.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/sun4i-a10.h>
/ {
model = "Xunlong Orange Pi Zero Plus";
compatible = "xunlong,orangepi-zero-plus", "allwinner,sun50i-h5";
reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
aliases {
ethernet0 = &emac;
ethernet1 = &rtl8189ftv;
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
pwr {
label = "orangepi:green:pwr";
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
default-state = "on";
};
status {
label = "orangepi:red:status";
gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
};
};
reg_gmac_3v3: gmac-3v3 {
compatible = "regulator-fixed";
regulator-name = "gmac-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
};
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&emac {
pinctrl-names = "default";
pinctrl-0 = <&emac_rgmii_pins>;
phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>;
phy-mode = "rgmii";
status = "okay";
};
&external_mdio {
ext_rgmii_phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";
};
&mmc1 {
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
non-removable;
status = "okay";
/*
* Explicitly define the sdio device, so that we can add an ethernet
* alias for it (which e.g. makes u-boot set a mac-address).
*/
rtl8189ftv: sdio_wifi@1 {
reg = <1>;
};
};
&spi0 {
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mxicy,mx25l1606e", "winbond,w25q128";
reg = <0>;
spi-max-frequency = <40000000>;
};
};
&ohci0 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&usb_otg {
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
/* USB Type-A ports' VBUS is always on */
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
status = "okay";
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment