Commit 3264c72d authored by Olof Johansson's avatar Olof Johansson

Merge tag 'sunxi-dt64-for-5.3-201906210808' of...

Merge tag 'sunxi-dt64-for-5.3-201906210808' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Our usual bunch of arm64 DT changes, this time with:
  - Some fixes for the DT schemas that were added during this release
  - Wifi support for the H6
  - LRADC suppport for the A64
  - Some background work on A64 boards, to enable various devices such
    as touchscreens, PMIC, audio, wifi, etc.

* tag 'sunxi-dt64-for-5.3-201906210808' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h6: Add DMA node
  arm64: dts: allwinner: a64: Add lradc node
  dt-bindings: input: sun4i-lradc-keys: Add A64 compatible
  arm64: dts: allwinner: h6: add r_watchog node
  arm64: dts: allwinner: h6: add watchdog node
  dt-bindings: watchdog: add Allwinner H6 watchdog
  arm64: dts: allwinner: a64: Enable audio on Teres-I
  arm64: dts: allwinner: a64: bananapi-m64: Enable PMIC USB power supply
  arm64: dts: allwinner: axp803: add USB power supply node
  arm64: dts: allwinner: a64: Add pinmux for RGB666 LCD
  arm64: dts: allwinner: a64: orangepi-win: Add wifi and bluetooth nodes
  arm64: dts: allwinner: h6: add PIO VCC bank supplies for Pine H64
  arm64: dts: allwinner: a64-oceanic-5205-5inmfd: Enable GT911 CTP
  arm64: dts: allwinner: a64-amarula-relic: Add GT5663 CTP node
  arm64: dts: allwinner: a64: move I2C pinctrl to dtsi
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents d12a73cf 9164665a
......@@ -5,6 +5,7 @@ Required properties:
- compatible: should be one of the following string:
"allwinner,sun4i-a10-lradc-keys"
"allwinner,sun8i-a83t-r-lradc"
"allwinner,sun50i-a64-lradc", "allwinner,sun8i-a83t-r-lradc"
- reg: mmio address range of the chip
- interrupts: interrupt to which the chip is connected
- vref-supply: powersupply for the lradc reference voltage
......
......@@ -6,6 +6,7 @@ Required properties:
"allwinner,sun4i-a10-wdt"
"allwinner,sun6i-a31-wdt"
"allwinner,sun50i-a64-wdt","allwinner,sun6i-a31-wdt"
"allwinner,sun50i-h6-wdt","allwinner,sun6i-a31-wdt"
"allwinner,suniv-f1c100s-wdt", "allwinner,sun4i-a10-wdt"
- reg : Specifies base physical address and size of the registers.
......
......@@ -185,4 +185,10 @@ reg_drivevbus: drivevbus {
status = "disabled";
};
};
usb_power_supply: usb-power-supply {
compatible = "x-powers,axp803-usb-power-supply",
"x-powers,axp813-usb-power-supply";
status = "disabled";
};
};
......@@ -85,8 +85,6 @@ &ehci0 {
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";
sensor@48 {
......@@ -99,6 +97,22 @@ &i2c0_pins {
bias-pull-up;
};
&i2c1 {
status = "okay";
touchscreen@5d {
compatible = "goodix,gt5663";
reg = <0x5d>;
AVDD28-supply = <&reg_ldo_io0>; /* VCC-CTP: GPIO0-LDO */
interrupt-parent = <&pio>;
interrupts = <7 4 IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* CTP-INT: PH4 */
reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* CTP-RST: PH8 */
touchscreen-inverted-x;
touchscreen-inverted-y;
};
};
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
......@@ -262,6 +276,13 @@ &reg_fldo2 {
regulator-name = "vdd-cpus";
};
&reg_ldo_io0 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc-ctp";
status = "okay";
};
&reg_rtc_ldo {
regulator-name = "vcc-rtc";
};
......
......@@ -145,8 +145,6 @@ hdmi_out_con: endpoint {
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "okay";
};
......@@ -394,8 +392,13 @@ &usb_otg {
status = "okay";
};
&usb_power_supply {
status = "okay";
};
&usbphy {
usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_drivevbus>;
status = "okay";
};
......@@ -120,12 +120,6 @@ hdmi_out_con: endpoint {
};
/* i2c1 connected with gpio headers like pine64, bananapi */
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "disabled";
};
&i2c1_pins {
bias-pull-up;
};
......
......@@ -37,6 +37,22 @@ &emac {
status = "okay";
};
&i2c0 {
status = "okay";
touchscreen@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
AVDD28-supply = <&reg_ldo_io0>; /* VDD_CTP: GPIO0-LDO */
interrupt-parent = <&pio>;
interrupts = <7 4 IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* CTP-INT: PH4 */
reset-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* CTP-RST: PH11 */
touchscreen-inverted-x;
touchscreen-inverted-y;
};
};
&mdio {
ext_rgmii_phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
......@@ -52,6 +68,13 @@ &reg_dc1sw {
regulator-name = "vcc-phy";
};
&reg_ldo_io0 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vdd-ctp";
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
......
......@@ -109,6 +109,8 @@ reg_usb1_vbus: usb1-vbus {
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
clocks = <&rtc 1>;
clock-names = "ext_clock";
};
};
......@@ -170,6 +172,14 @@ &mmc1 {
bus-width = <4>;
non-removable;
status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&r_pio>;
interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
interrupt-names = "host-wake";
};
};
&ohci0 {
......@@ -342,7 +352,20 @@ &uart0 {
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
uart-has-rtscts;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <1500000>;
clocks = <&rtc 1>;
clock-names = "lpo";
vbat-supply = <&reg_dldo2>;
vddio-supply = <&reg_dldo4>;
device-wakeup-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
host-wakeup-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
shutdown-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
};
};
/* On Pi-2 connector, RTS/CTS optional */
......
......@@ -122,8 +122,6 @@ hdmi_out_con: endpoint {
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "okay";
};
......
......@@ -79,6 +79,25 @@ wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
};
speaker_amp: audio-amplifier {
compatible = "simple-audio-amplifier";
enable-gpios = <&r_pio 0 12 GPIO_ACTIVE_HIGH>; /* PL12 */
sound-name-prefix = "Speaker Amp";
};
};
&codec {
status = "okay";
};
&codec_analog {
cpvdd-supply = <&reg_eldo1>;
status = "okay";
};
&dai {
status = "okay";
};
&ehci1 {
......@@ -92,8 +111,6 @@ &ehci1 {
*/
&i2c0 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";
};
......@@ -279,6 +296,29 @@ &simplefb_hdmi {
vcc-hdmi-supply = <&reg_dldo1>;
};
&sound {
simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
simple-audio-card,widgets = "Headphone", "Headphone Jack",
"Microphone", "Headset Microphone",
"Microphone", "Internal Microphone",
"Speaker", "Internal Speaker";
simple-audio-card,routing =
"Left DAC", "AIF1 Slot 0 Left",
"Right DAC", "AIF1 Slot 0 Right",
"AIF1 Slot 0 Left ADC", "Left ADC",
"AIF1 Slot 0 Right ADC", "Right ADC",
"Headphone Jack", "HP",
"Speaker Amp INL", "LINEOUT",
"Speaker Amp INR", "LINEOUT",
"Internal Speaker", "Speaker Amp OUTL",
"Internal Speaker", "Speaker Amp OUTR",
"Internal Microphone", "MBIAS",
"MIC1", "Internal Microphone",
"Headset Microphone", "HBIAS",
"MIC2", "Headset Microphone";
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
......
......@@ -611,6 +611,16 @@ i2c1_pins: i2c1-pins {
function = "i2c1";
};
/omit-if-no-ref/
lcd_rgb666_pins: lcd-rgb666-pins {
pins = "PD0", "PD1", "PD2", "PD3", "PD4",
"PD5", "PD6", "PD7", "PD8", "PD9",
"PD10", "PD11", "PD12", "PD13",
"PD14", "PD15", "PD16", "PD17",
"PD18", "PD19", "PD20", "PD21";
function = "lcd0";
};
mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", "PF3",
"PF4", "PF5";
......@@ -730,6 +740,14 @@ spdif: spdif@1c21000 {
status = "disabled";
};
lradc: lradc@1c21800 {
compatible = "allwinner,sun50i-a64-lradc",
"allwinner,sun8i-a83t-r-lradc";
reg = <0x01c21800 0x400>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
i2s0: i2s@1c22000 {
#sound-dai-cells = <0>;
compatible = "allwinner,sun50i-a64-i2s",
......@@ -842,6 +860,8 @@ i2c0: i2c@1c2ac00 {
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2C0>;
resets = <&ccu RST_BUS_I2C0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
......@@ -853,6 +873,8 @@ i2c1: i2c@1c2b000 {
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2C1>;
resets = <&ccu RST_BUS_I2C1>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
......
......@@ -127,6 +127,12 @@ &ohci3 {
status = "okay";
};
&pio {
vcc-pc-supply = <&reg_bldo2>;
vcc-pd-supply = <&reg_cldo1>;
vcc-pg-supply = <&reg_aldo1>;
};
&r_i2c {
status = "okay";
......@@ -247,6 +253,10 @@ pcf8563: rtc@51 {
};
};
&r_pio {
vcc-pm-supply = <&reg_aldo1>;
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_ph_pins>;
......
......@@ -203,11 +203,32 @@ ccu: clock@3001000 {
#reset-cells = <1>;
};
dma: dma-controller@3002000 {
compatible = "allwinner,sun50i-h6-dma";
reg = <0x03002000 0x1000>;
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>;
clock-names = "bus", "mbus";
dma-channels = <16>;
dma-requests = <46>;
resets = <&ccu RST_BUS_DMA>;
#dma-cells = <1>;
};
sid: sid@3006000 {
compatible = "allwinner,sun50i-h6-sid";
reg = <0x03006000 0x400>;
};
watchdog: watchdog@30090a0 {
compatible = "allwinner,sun50i-h6-wdt",
"allwinner,sun6i-a31-wdt";
reg = <0x030090a0 0x20>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
/* Broken on some H6 boards */
status = "disabled";
};
pio: pinctrl@300b000 {
compatible = "allwinner,sun50i-h6-pinctrl";
reg = <0x0300b000 0x400>;
......@@ -622,6 +643,13 @@ r_ccu: clock@7010000 {
#reset-cells = <1>;
};
r_watchdog: watchdog@7020400 {
compatible = "allwinner,sun50i-h6-wdt",
"allwinner,sun6i-a31-wdt";
reg = <0x07020400 0x20>;
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
};
r_intc: interrupt-controller@7021000 {
compatible = "allwinner,sun50i-h6-r-intc",
"allwinner,sun6i-a31-r-intc";
......
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