mirror of https://gitee.com/openkylin/linux.git
Allwinner DT changes for 5.1, take 2
Our usual bunch of DT changes for the Allwinner arm SoCs: - LCD support for the Q8 A13 tablets - GMAC support for the A80 - PMIC power supplies for the A83t -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXF1aSwAKCRDj7w1vZxhR xbvdAPsHdtIdikKqoGWDG7aUyT8keXxjhEkGdqeDIWidDd1KpAD+LRrBYvwRG2kw 6woaH9MegfyRCYEef+1t3l3tSu1z4wk= =zO0b -----END PGP SIGNATURE----- Merge tag 'sunxi-dt-for-5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt Allwinner DT changes for 5.1, take 2 Our usual bunch of DT changes for the Allwinner arm SoCs: - LCD support for the Q8 A13 tablets - GMAC support for the A80 - PMIC power supplies for the A83t * tag 'sunxi-dt-for-5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: dts: sun8i: a83t: Enable PMIC power supplies on various boards ARM: dts: sun9i: cubieboard4: Enable GMAC ARM: dts: sun9i: a80-optimus: Enable GMAC ARM: dts: sun9i: Add A80 GMAC RGMII pinmux setting ARM: dts: sun9i: Add A80 GMAC gigabit ethernet controller node ARM: dts: sun9i: Add GMAC clock node ARM: dts: sun9i: cubieboard4: Add GPIO pin-bank regulator supplies ARM: dts: sun9i: a80-optimus: Add GPIO pin-bank regulator supplies ARM: dts: sun9i: a80-optimus: Add node for AXP809's unused dc1sw regulator ARM: dts: sun5i: q8-tablet: Use bananapi,s070wv20-ct16 panel compatible ARM: dts: sun5i: q8-tablet: Add LCD Panel power supply ARM: dts: sun5i: q8-tablet: Add LCD Panel enable GPIO ARM: dts: sun5i: q8-tablet: Move panel properties to correct node level ARM: dts: sun5i: Add backlight GPIO for reference design tablet Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
d0bc18830d
|
@ -49,14 +49,15 @@ / {
|
||||||
compatible = "allwinner,q8-a13", "allwinner,sun5i-a13";
|
compatible = "allwinner,q8-a13", "allwinner,sun5i-a13";
|
||||||
|
|
||||||
panel: panel {
|
panel: panel {
|
||||||
compatible = "urt,umsh-8596md-t", "simple-panel";
|
compatible = "bananapi,s070wv20-ct16", "simple-panel";
|
||||||
|
power-supply = <®_vcc3v3>;
|
||||||
|
enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */
|
||||||
|
backlight = <&backlight>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
port@0 {
|
port@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
/* TODO: lcd panel uses axp gpio0 as enable pin */
|
|
||||||
backlight = <&backlight>;
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ backlight: backlight {
|
||||||
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||||
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
||||||
default-brightness-level = <8>;
|
default-brightness-level = <8>;
|
||||||
/* TODO: backlight uses axp gpio1 as enable pin */
|
enable-gpios = <&axp_gpio 1 GPIO_ACTIVE_HIGH>; /* AXP GPIO1 */
|
||||||
};
|
};
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
|
|
|
@ -154,6 +154,10 @@ ac100_rtc: rtc {
|
||||||
|
|
||||||
#include "axp81x.dtsi"
|
#include "axp81x.dtsi"
|
||||||
|
|
||||||
|
&ac_power_supply {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
®_aldo1 {
|
®_aldo1 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
|
|
|
@ -237,6 +237,14 @@ ac100_rtc: rtc {
|
||||||
|
|
||||||
#include "axp81x.dtsi"
|
#include "axp81x.dtsi"
|
||||||
|
|
||||||
|
&ac_power_supply {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&battery_power_supply {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
®_aldo1 {
|
®_aldo1 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
|
|
|
@ -247,6 +247,14 @@ ac100_rtc: rtc {
|
||||||
|
|
||||||
#include "axp81x.dtsi"
|
#include "axp81x.dtsi"
|
||||||
|
|
||||||
|
&ac_power_supply {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&battery_power_supply {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
®_aldo1 {
|
®_aldo1 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
|
|
|
@ -133,6 +133,19 @@ &de {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&gmac {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
|
phy = <&phy1>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-supply = <®_cldo1>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy1: ethernet-phy@1 {
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&i2c3 {
|
&i2c3 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&i2c3_pins>;
|
pinctrl-0 = <&i2c3_pins>;
|
||||||
|
@ -183,10 +196,26 @@ &osc32k {
|
||||||
clocks = <&ac100_rtc 0>;
|
clocks = <&ac100_rtc 0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&pio {
|
||||||
|
vcc-pa-supply = <®_ldo_io1>;
|
||||||
|
vcc-pb-supply = <®_aldo2>;
|
||||||
|
vcc-pc-supply = <®_dcdc1>;
|
||||||
|
vcc-pd-supply = <®_dc1sw>;
|
||||||
|
vcc-pe-supply = <®_eldo2>;
|
||||||
|
vcc-pf-supply = <®_dcdc1>;
|
||||||
|
vcc-pg-supply = <®_ldo_io0>;
|
||||||
|
vcc-ph-supply = <®_dcdc1>;
|
||||||
|
};
|
||||||
|
|
||||||
&r_ir {
|
&r_ir {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&r_pio {
|
||||||
|
vcc-pl-supply = <®_dldo2>;
|
||||||
|
vcc-pm-supply = <®_eldo3>;
|
||||||
|
};
|
||||||
|
|
||||||
&r_rsb {
|
&r_rsb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
@ -217,6 +246,10 @@ aldo3 {
|
||||||
/* unused */
|
/* unused */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
reg_dc1sw: dc1sw {
|
||||||
|
regulator-name = "vcc-pd";
|
||||||
|
};
|
||||||
|
|
||||||
reg_dc5ldo: dc5ldo {
|
reg_dc5ldo: dc5ldo {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <800000>;
|
regulator-min-microvolt = <800000>;
|
||||||
|
@ -271,7 +304,6 @@ reg_dldo1: dldo1 {
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_dldo2: dldo2 {
|
reg_dldo2: dldo2 {
|
||||||
regulator-always-on;
|
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3000000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3000000>;
|
||||||
regulator-name = "vcc-pl";
|
regulator-name = "vcc-pl";
|
||||||
|
@ -290,14 +322,12 @@ reg_eldo2: eldo2 {
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_eldo3: eldo3 {
|
reg_eldo3: eldo3 {
|
||||||
regulator-always-on;
|
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3000000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3000000>;
|
||||||
regulator-name = "vcc-pm-codec-io1";
|
regulator-name = "vcc-pm-codec-io1";
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_ldo_io0: ldo_io0 {
|
reg_ldo_io0: ldo_io0 {
|
||||||
regulator-always-on;
|
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3000000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3000000>;
|
||||||
regulator-name = "vcc-pg";
|
regulator-name = "vcc-pg";
|
||||||
|
@ -385,6 +415,14 @@ reg_cldo1: cldo1 {
|
||||||
*/
|
*/
|
||||||
regulator-min-microvolt = <3300000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3300000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
|
/*
|
||||||
|
* The PHY requires 20ms after all voltages
|
||||||
|
* are applied until core logic is ready and
|
||||||
|
* 30ms after the reset pin is de-asserted.
|
||||||
|
* Set a 100ms delay to account for PMIC
|
||||||
|
* ramp time and board traces.
|
||||||
|
*/
|
||||||
|
regulator-enable-ramp-delay = <100000>;
|
||||||
regulator-name = "vcc-gmac-phy";
|
regulator-name = "vcc-gmac-phy";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,19 @@ &ehci2 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&gmac {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
|
phy = <&phy1>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-supply = <®_cldo1>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy1: ethernet-phy@1 {
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc0_pins>;
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
@ -172,10 +185,26 @@ &osc32k {
|
||||||
clocks = <&ac100_rtc 0>;
|
clocks = <&ac100_rtc 0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&pio {
|
||||||
|
vcc-pa-supply = <®_ldo_io1>;
|
||||||
|
vcc-pb-supply = <®_aldo2>;
|
||||||
|
vcc-pc-supply = <®_dcdc1>;
|
||||||
|
vcc-pd-supply = <®_dcdc1>;
|
||||||
|
vcc-pe-supply = <®_eldo2>;
|
||||||
|
vcc-pf-supply = <®_dcdc1>;
|
||||||
|
vcc-pg-supply = <®_ldo_io0>;
|
||||||
|
vcc-ph-supply = <®_dcdc1>;
|
||||||
|
};
|
||||||
|
|
||||||
&r_ir {
|
&r_ir {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&r_pio {
|
||||||
|
vcc-pl-supply = <®_dldo2>;
|
||||||
|
vcc-pm-supply = <®_eldo3>;
|
||||||
|
};
|
||||||
|
|
||||||
&r_rsb {
|
&r_rsb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
@ -213,6 +242,10 @@ reg_dc5ldo: dc5ldo {
|
||||||
regulator-name = "vdd-cpus-09-usbh";
|
regulator-name = "vdd-cpus-09-usbh";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dc1sw {
|
||||||
|
/* unused */
|
||||||
|
};
|
||||||
|
|
||||||
reg_dcdc1: dcdc1 {
|
reg_dcdc1: dcdc1 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3000000>;
|
||||||
|
@ -260,7 +293,6 @@ reg_dldo1: dldo1 {
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_dldo2: dldo2 {
|
reg_dldo2: dldo2 {
|
||||||
regulator-always-on;
|
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3000000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3000000>;
|
||||||
regulator-name = "vcc-pl";
|
regulator-name = "vcc-pl";
|
||||||
|
@ -279,14 +311,12 @@ reg_eldo2: eldo2 {
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_eldo3: eldo3 {
|
reg_eldo3: eldo3 {
|
||||||
regulator-always-on;
|
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3000000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3000000>;
|
||||||
regulator-name = "vcc-pm-codec-io1";
|
regulator-name = "vcc-pm-codec-io1";
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_ldo_io0: ldo_io0 {
|
reg_ldo_io0: ldo_io0 {
|
||||||
regulator-always-on;
|
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3000000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3000000>;
|
||||||
regulator-name = "vcc-pg";
|
regulator-name = "vcc-pg";
|
||||||
|
@ -374,6 +404,14 @@ reg_cldo1: cldo1 {
|
||||||
*/
|
*/
|
||||||
regulator-min-microvolt = <3300000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3300000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
|
/*
|
||||||
|
* The PHY requires 20ms after all voltages
|
||||||
|
* are applied until core logic is ready and
|
||||||
|
* 30ms after the reset pin is de-asserted.
|
||||||
|
* Set a 100ms delay to account for PMIC
|
||||||
|
* ramp time and board traces.
|
||||||
|
*/
|
||||||
|
regulator-enable-ramp-delay = <100000>;
|
||||||
regulator-name = "vcc-gmac-phy";
|
regulator-name = "vcc-gmac-phy";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,10 @@ / {
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
ethernet0 = &gmac;
|
||||||
|
};
|
||||||
|
|
||||||
cpus {
|
cpus {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
@ -183,6 +187,37 @@ osc32k: clk-32k {
|
||||||
clock-output-names = "osc32k";
|
clock-output-names = "osc32k";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following two are dummy clocks, placeholders
|
||||||
|
* used in the gmac_tx clock. The gmac driver will
|
||||||
|
* choose one parent depending on the PHY interface
|
||||||
|
* mode, using clk_set_rate auto-reparenting.
|
||||||
|
*
|
||||||
|
* The actual TX clock rate is not controlled by the
|
||||||
|
* gmac_tx clock.
|
||||||
|
*/
|
||||||
|
mii_phy_tx_clk: mii_phy_tx_clk {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <25000000>;
|
||||||
|
clock-output-names = "mii_phy_tx";
|
||||||
|
};
|
||||||
|
|
||||||
|
gmac_int_tx_clk: gmac_int_tx_clk {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <125000000>;
|
||||||
|
clock-output-names = "gmac_int_tx";
|
||||||
|
};
|
||||||
|
|
||||||
|
gmac_tx_clk: clk@800030 {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "allwinner,sun7i-a20-gmac-clk";
|
||||||
|
reg = <0x00800030 0x4>;
|
||||||
|
clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
|
||||||
|
clock-output-names = "gmac_tx";
|
||||||
|
};
|
||||||
|
|
||||||
cpus_clk: clk@8001410 {
|
cpus_clk: clk@8001410 {
|
||||||
compatible = "allwinner,sun9i-a80-cpus-clk";
|
compatible = "allwinner,sun9i-a80-cpus-clk";
|
||||||
reg = <0x08001410 0x4>;
|
reg = <0x08001410 0x4>;
|
||||||
|
@ -283,6 +318,23 @@ smp-sram@1000 {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gmac: ethernet@830000 {
|
||||||
|
compatible = "allwinner,sun7i-a20-gmac";
|
||||||
|
reg = <0x00830000 0x1054>;
|
||||||
|
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "macirq";
|
||||||
|
clocks = <&ccu CLK_BUS_GMAC>, <&gmac_tx_clk>;
|
||||||
|
clock-names = "stmmaceth", "allwinner_gmac_tx";
|
||||||
|
resets = <&ccu RST_BUS_GMAC>;
|
||||||
|
reset-names = "stmmaceth";
|
||||||
|
snps,pbl = <2>;
|
||||||
|
snps,fixed-burst;
|
||||||
|
snps,force_sf_dma_mode;
|
||||||
|
status = "disabled";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
ehci0: usb@a00000 {
|
ehci0: usb@a00000 {
|
||||||
compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
|
compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
|
||||||
reg = <0x00a00000 0x100>;
|
reg = <0x00a00000 0x100>;
|
||||||
|
@ -948,6 +1000,19 @@ pio: pinctrl@6000800 {
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
#gpio-cells = <3>;
|
#gpio-cells = <3>;
|
||||||
|
|
||||||
|
gmac_rgmii_pins: gmac-rgmii-pins {
|
||||||
|
allwinner,pins = "PA0", "PA1", "PA2", "PA3",
|
||||||
|
"PA4", "PA5", "PA7", "PA8",
|
||||||
|
"PA9", "PA10", "PA12", "PA13",
|
||||||
|
"PA15", "PA16", "PA17";
|
||||||
|
allwinner,function = "gmac";
|
||||||
|
/*
|
||||||
|
* data lines in RGMII mode use DDR mode
|
||||||
|
* and need a higher signal drive strength
|
||||||
|
*/
|
||||||
|
drive-strength = <40>;
|
||||||
|
};
|
||||||
|
|
||||||
i2c3_pins: i2c3-pins {
|
i2c3_pins: i2c3-pins {
|
||||||
pins = "PG10", "PG11";
|
pins = "PG10", "PG11";
|
||||||
function = "i2c3";
|
function = "i2c3";
|
||||||
|
|
Loading…
Reference in New Issue