diff options
Diffstat (limited to 'arch/arm/boot/dts/sun6i-a31-pangolin.dts')
-rw-r--r-- | arch/arm/boot/dts/sun6i-a31-pangolin.dts | 284 |
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 = <®_vcc3v0>; + vmmc-supply = <®_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 = <®_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 = <®_vcc3v0>; - bus-width = <8>; + pinctrl-0 = <&mmc2_8bit_emmc_pins>; + vmmc-supply = <®_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"; -}; - -®_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 = <®_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 = <®_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"; - }; +®_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>; - }; +®_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"; - }; +®_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"; - }; +®_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"; - }; +®_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"; - }; +®_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"; - }; - }; - }; +®_aldo3 { + regulator-always-on; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-name = "vdd-rtc"; }; &rtp { |