summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/sun6i-a31-pangolin.dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/sun6i-a31-pangolin.dts')
-rw-r--r--arch/arm/boot/dts/sun6i-a31-pangolin.dts284
1 files changed, 143 insertions, 141 deletions
diff --git a/arch/arm/boot/dts/sun6i-a31-pangolin.dts b/arch/arm/boot/dts/sun6i-a31-pangolin.dts
index 07285596641e..8d62f5d25519 100644
--- a/arch/arm/boot/dts/sun6i-a31-pangolin.dts
+++ b/arch/arm/boot/dts/sun6i-a31-pangolin.dts
@@ -1,6 +1,6 @@
/*
* Copyright 2014 Maxime Ripard
- * Copyright 2015 Klaus Goger
+ * Copyright 2016 Klaus Goger
*
* Maxime Ripard <maxime.ripard@free-electrons.com>
* Klaus Goger <klaus.goger@theobroma-systems.com>
@@ -53,6 +53,9 @@
#include "sun6i-a31.dtsi"
#include "sunxi-common-regulators.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/sun4i-a10.h>
+
/ {
model = "Theobroma Systems A31 Pangolin";
compatible = "tsd,a31-pangolin", "allwinner,sun6i-a31";
@@ -98,76 +101,77 @@
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_pangolin>;
- vmmc-supply = <&reg_vcc3v0>;
+ vmmc-supply = <&reg_dcdc1>;
bus-width = <4>;
cd-gpios = <&pio 2 19 GPIO_ACTIVE_LOW>; /* PC19 */
status = "okay";
};
};
-};
-&cpu0 {
- cpu-supply = <&vdd_cpu>;
- operating-points = <
- /* kHz uV */
-/* enable 1.2GHz only with installed thermal solution */
-// 1200000 1340000
- 1024000 1220000
- 832000 1140000
- 480000 1000000
- >;
- sampling-rate = <160000>;
-};
+ thermal-zones {
+ cpu_thermal {
+ cooling-maps {
+ map_fan {
+ trip = <&cpu_active>;
+ cooling-device = <&fan 0 9>;
+ };
+ map0 {
+ trip = <&cpu_alert0>;
+ cooling-device = <&cpu0 0 1>;
+ };
+ map1 {
+ trip = <&cpu_alert1>;
+ cooling-device = <&cpu0 0 2>;
+ };
+ map2 {
+ trip = <&cpu_alert2>;
+ cooling-device = <&cpu0 0 3>;
+ };
+ };
-&cpu_thermal {
- cooling-maps {
- map_fan {
- trip = <&cpu_active>;
- cooling-device = <&fan 0 9>;
- };
- map0 {
- trip = <&cpu_alert0>;
- cooling-device = <&cpu0 0 1>;
- };
- map1 {
- trip = <&cpu_alert1>;
- cooling-device = <&cpu0 0 2>;
- };
- map2 {
- trip = <&cpu_alert2>;
- cooling-device = <&cpu0 0 3>;
+ trips {
+ cpu_active: cpu_active {
+ temperature = <40000>;
+ hysteresis = <2000>;
+ type = "active";
+ };
+ cpu_alert0: cpu_alert0 {
+ temperature = <70000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+ cpu_alert1: cpu_alert1 {
+ temperature = <80000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+ cpu_alert2: cpu_alert2 {
+ temperature = <90000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+ cpu_crit: cpu_crit {
+ temperature = <100000>;
+ hysteresis = <2000>;
+ type = "critical";
+ };
+ };
};
};
- trips {
- cpu_active: cpu_active {
- temperature = <40000>;
- hysteresis = <2000>;
- type = "active";
- };
- cpu_alert0: cpu_alert0 {
- temperature = <70000>;
- hysteresis = <2000>;
- type = "passive";
- };
- cpu_alert1: cpu_alert1 {
- temperature = <80000>;
- hysteresis = <2000>;
- type = "passive";
- };
- cpu_alert2: cpu_alert2 {
- temperature = <90000>;
- hysteresis = <2000>;
- type = "passive";
- };
- cpu_crit: cpu_crit {
- temperature = <100000>;
- hysteresis = <2000>;
- type = "critical";
- };
+ reg_usbotg_vbus: usbotg-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "otg-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ status = "okay";
};
};
+&cpu0 {
+ cpu-supply = <&reg_dcdc3>;
+};
+
&rtc {
status = "disabled";
};
@@ -176,10 +180,6 @@
status = "okay";
};
-&ohci0 {
- status = "okay";
-};
-
&ehci1 {
status = "okay";
};
@@ -194,6 +194,11 @@
status = "okay";
};
+&usb_otg {
+ dr_mode = "otg";
+ status = "okay";
+};
+
&gmac {
pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_rgmii_a>;
@@ -262,19 +267,16 @@
#size-cells = <0>;
status = "okay";
spidev@0x00 {
- compatible = "spidev";
- spi-max-frequency = <16000000>;
- reg = <0>;
+ compatible = "spidev";
+ spi-max-frequency = <6000000>;
+ reg = <0>;
};
spidev@0x01 {
- compatible = "spidev";
- spi-max-frequency = <16000000>;
- reg = <1>;
+ compatible = "spidev";
+ spi-max-frequency = <6000000>;
+ reg = <1>;
};
-};
-&gpu {
- status = "okay";
};
&mmc0_pins_a {
@@ -284,9 +286,9 @@
&mmc2 {
pinctrl-names = "default";
- pinctrl-0 = <&mmc2_pins_a>;
- vmmc-supply = <&reg_vcc3v0>;
- bus-width = <8>;
+ pinctrl-0 = <&mmc2_8bit_emmc_pins>;
+ vmmc-supply = <&reg_dcdc1>;
+ bus-width = <4>;
non-removable;
status = "okay";
};
@@ -304,8 +306,26 @@
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
- gmac_pins_rgmii_a: gmac_rgmii@0 {
+ usb0_id_detect_pin: usb0_id_detect_pin@0 {
+ allwinner,pins = "PH2";
+ allwinner,function = "gpio_in";
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+ };
+ usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+ allwinner,pins = "PD23";
+ allwinner,function = "gpio_in";
+ allwinner,drive = <SUN4I_PINCTRL_20_MA>;
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+ };
+ usb0_vbus_enable: usb0_vbus_enable@0 {
+ allwinner,pins = "PD24";
+ allwinner,function = "gpio_out";
+ allwinner,drive = <SUN4I_PINCTRL_20_MA>;
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+ };
+ gmac_pins_rgmii_a: gmac_rgmii@0 {
+ allwinner,drive = <SUN4I_PINCTRL_40_MA>;
};
};
@@ -327,91 +347,73 @@
status = "okay";
};
-&usb1_vbus_pin_a {
- allwinner,pins = "PD23";
-};
-
-&reg_usb1_vbus {
- gpio = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD 23 */
- status = "okay";
-};
-
&usbphy {
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb0_id_detect_pin>,<&usb0_vbus_detect_pin>;
+ usb0_vbus-supply = <&reg_usbotg_vbus>;
+ usb0_id_det-gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
+ usb0_vbus_det-gpio = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
status = "okay";
- usb1_vbus-supply = <&reg_usb1_vbus>;
};
&p2wi {
status = "okay";
- axp221: pmic@68 {
+ axp22x: pmic@68 {
compatible = "x-powers,axp221";
reg = <0x68>;
interrupt-parent = <&nmi_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
- interrupt-controller;
- #interrupt-cells = <1>;
+ };
+};
- regulators {
- x-powers,dcdc-freq = <3000>;
- vdd_gpio: dcdc1 {
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-always-on;
- regulator-name = "vdd-gpio";
- };
+#include "axp22x.dtsi"
- vdd_gpu: dcdc2 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-always-on;
- regulator-name = "vdd-gpu";
- };
+&reg_dc5ldo {
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-name = "vdd-cpus";
+};
- vdd_cpu: dcdc3 {
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <1360000>;
- regulator-always-on;
- regulator-name = "vdd-cpu";
- regulator-ramp-delay = <50>;
- };
+&reg_dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v0";
+};
- vdd_system: dcdc4 {
- regulator-min-microvolt = <1240000>;
- regulator-max-microvolt = <1240000>;
- regulator-always-on;
- regulator-name = "vdd-system";
- };
+&reg_dcdc2 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1220000>;
+ regulator-name = "vdd-gpu";
+};
- vdd_dram: dcdc5 {
- regulator-min-microvolt = <1500000>;
- regulator-max-microvolt = <1500000>;
- regulator-always-on;
- regulator-name = "vdd-dram";
- };
+&reg_dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <1360000>;
+ regulator-name = "vdd-cpu";
+};
- vdd_analog: aldo3 {
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- regulator-always-on;
- regulator-name = "vdd-analog";
- };
+&reg_dcdc4 {
+ regulator-always-on;
+ regulator-min-microvolt = <1240000>;
+ regulator-max-microvolt = <1240000>;
+ regulator-name = "vdd-sys-dll";
+};
- vdd_cpus: dc5ldo {
- regulator-min-microvolt = <1100000>;
- regulator-max-microvolt = <1100000>;
- regulator-always-on;
- regulator-name = "vdd-cpus";
- };
+&reg_dcdc5 {
+ regulator-always-on;
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-name = "vcc-dram";
+};
- vdd_rtc: rtc_ldo {
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- regulator-always-on;
- regulator-name = "vdd-rtc";
- };
- };
- };
+&reg_aldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "vdd-rtc";
};
&rtp {