Allwinner DT changes for 4.17
There is a bunch of significant additions for this release cycle: - The A83t now has HDMI support - The A80 finally has SMP support (without PSCI, unfortunately) - The A80 has preliminary display support And also: - a number of boards based on old (A10, A20) SoCs now have the HDMI support enabled. - The display frontend is enabled on the A33, allowing to use it for hardware display scaling - New boards: Olimex A20-SOM204 variants -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAlqzw6oACgkQ0rTAlCFN r3Qc5g/+JhIcgMh/aDOEDkq4Z2CFtwUfWl7DbMrat8oqFvh2GQ1m5PhDNiDP1Lh1 Wfvb+RGWFnlm+H1Uv0uq0OrBW0fALD4pqrzlznF9Z3neNf5iWkx0KAjGGgF0x5Mh SYfyNgM1n6qRROiz5V87hUpMgw1gI3TLa5K7qLK7z0iriFjVzx4hXjoHIbsz4Blq 6Rd0KeTlxsSRmc18xUpl10FdGHIW+XTXT9F96amtWmLI8HjgXQzWFj6/xAXLops1 gqtDkw2jiDkFmddfwBuUzHyfMOvE16+HRHVh0bB+y0mkjbEp9WCiFkKqPbvVJdoJ lmgS0c68ovarvjpcfYySrpcpourgQN62pUrKlAB5db2b4anPn0xvt0lqJEeCUSVO D8bMWOEm+haW9ftY1hyIjy5rXYLkCFmAelMWyPrP2Z7U+xWMQztUDDjDxBvgJcHF 9z8batldQfrWvr1c7PK6x2peqqV8OUWhTqAiYjxUhZW7NEIBaEBMArNybc/SmAPj l0OpYuGfQCFWboo8WlJX6XuB1VoYykPcRcqsOf/qC1/8YC+ego1Ldw1Wu+GUn4d1 0pqyRAViDSCfaZs9O9A9B01vjoHGNW0NthWwTtnPCmEfx9ayg1ext5CqfpWA3Zwf l59zChs0hJ2sKaParTMTQBsnGiRzdwx7x1YgEZ+w5xoxl47aQbE= =S3LW -----END PGP SIGNATURE----- Merge tag 'sunxi-dt-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Pull "Allwinner DT changes for 4.17" from Maxime Ripard: There is a bunch of significant additions for this release cycle: - The A83t now has HDMI support - The A80 finally has SMP support (without PSCI, unfortunately) - The A80 has preliminary display support And also: - a number of boards based on old (A10, A20) SoCs now have the HDMI support enabled. - The display frontend is enabled on the A33, allowing to use it for hardware display scaling - New boards: Olimex A20-SOM204 variants * tag 'sunxi-dt-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (39 commits) ARM: dts: sun9i: cubieboard4: Enable VGA display output ARM: dts: sun9i: Add pinmux settings for LCD0 RGB888 output. ARM: dts: sun9i: Add device nodes for documented display pipelines for A80 ARM: dts: sun8i: reference tablet design: Enable PMIC power supplies ARM: dts: sun8i: a33: Enable A33 internal audio codec on A33-OLinuXino ARM: dts: sun8i: a33: Enable PMIC power supplies on A33-OLinuXino ARM: dts: sun8i: a33: Drop sunxi-common-regulators.dtsi for A33-OLinuXino ARM: dts: sun8i: a33: Drop GPIO pinmux settings for A33-OLinuXino ARM: dts: sun9i: Add enable-method for SMP support for the A80 SoC ARM: dts: sun8i: h3: Add eMMC for NanoPi M1 Plus ARM: dts: sun8i: a711: set regulator for each cluster of CPUs ARM: dts: sun8i: a83t: add stable OPP tables and CPUfreq ARM: dts: sun8i: a83t: add cpu0 and cpu100 labels ARM: dtsi: axp81x: remove IP name from DT node name ARM: dtsi: sun8i: a711: enable battery power supply subnode ARM: dtsi: axp81x: add battery power supply subnode ARM: dtsi: axp81x: add node for ADC ARM: dtsi: axp22x: add node for ADC ARM: dtsi: axp209: add node for ADC ARM: dts: sun7i: Enable HDMI support on the Orange Pi mini ...
This commit is contained in:
Коммит
2b7bee1a6d
|
@ -959,6 +959,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \
|
|||
sun7i-a20-m3.dtb \
|
||||
sun7i-a20-mk808c.dtb \
|
||||
sun7i-a20-olimex-som-evb.dtb \
|
||||
sun7i-a20-olimex-som204-evb.dtb \
|
||||
sun7i-a20-olimex-som204-evb-emmc.dtb \
|
||||
sun7i-a20-olinuxino-lime.dtb \
|
||||
sun7i-a20-olinuxino-lime2.dtb \
|
||||
sun7i-a20-olinuxino-lime2-emmc.dtb \
|
||||
|
|
|
@ -58,6 +58,11 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
axp_adc: adc {
|
||||
compatible = "x-powers,axp209-adc";
|
||||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
axp_gpio: gpio {
|
||||
compatible = "x-powers,axp209-gpio";
|
||||
gpio-controller;
|
||||
|
|
|
@ -57,6 +57,11 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
axp_adc: adc {
|
||||
compatible = "x-powers,axp221-adc";
|
||||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
battery_power_supply: battery-power-supply {
|
||||
compatible = "x-powers,axp221-battery-power-supply";
|
||||
status = "disabled";
|
||||
|
|
|
@ -48,7 +48,12 @@
|
|||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
axp_gpio: axp-gpio {
|
||||
axp_adc: adc {
|
||||
compatible = "x-powers,axp813-adc";
|
||||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
axp_gpio: gpio {
|
||||
compatible = "x-powers,axp813-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
@ -64,6 +69,11 @@
|
|||
};
|
||||
};
|
||||
|
||||
battery_power_supply: battery-power-supply {
|
||||
compatible = "x-powers,axp813-battery-power-supply";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
regulators {
|
||||
/* Default work frequency for buck regulators */
|
||||
x-powers,dcdc-freq = <3000>;
|
||||
|
|
|
@ -56,12 +56,27 @@
|
|||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -70,6 +85,16 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
|
|
|
@ -97,7 +97,6 @@
|
|||
864000 1300000
|
||||
624000 1250000
|
||||
>;
|
||||
cooling-max-level = <2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
|
|
|
@ -123,8 +123,6 @@
|
|||
624000 1250000
|
||||
>;
|
||||
#cooling-cells = <2>;
|
||||
cooling-min-level = <0>;
|
||||
cooling-max-level = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -116,8 +116,6 @@
|
|||
432000 1200000
|
||||
>;
|
||||
#cooling-cells = <2>;
|
||||
cooling-min-level = <0>;
|
||||
cooling-max-level = <5>;
|
||||
};
|
||||
|
||||
&pio {
|
||||
|
|
|
@ -58,6 +58,17 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
|
@ -93,6 +104,10 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -113,6 +128,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&ir {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir_pins_a>;
|
||||
|
@ -161,6 +186,10 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&tcon0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
|
|
|
@ -113,8 +113,6 @@
|
|||
480000 1000000
|
||||
>;
|
||||
#cooling-cells = <2>;
|
||||
cooling-min-level = <0>;
|
||||
cooling-max-level = <3>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
|
|
|
@ -63,6 +63,17 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
|
@ -109,6 +120,10 @@
|
|||
>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -130,6 +145,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
|
|
@ -66,12 +66,27 @@
|
|||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -80,6 +95,16 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
|
|
@ -61,6 +61,17 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
|
@ -79,6 +90,10 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -107,6 +122,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Device Tree Source for A20-SOM204-EVB-eMMC Board
|
||||
*
|
||||
* Copyright (C) 2018 Olimex Ltd.
|
||||
* Author: Stefan Mavrodiev <stefan@olimex.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun7i-a20-olimex-som204-evb.dts"
|
||||
|
||||
/ {
|
||||
model = "Olimex A20-SOM204-EVB-eMMC";
|
||||
compatible = "olimex,a20-olimex-som204-evb-emmc", "allwinner,sun7i-a20";
|
||||
|
||||
mmc2_pwrseq: mmc2_pwrseq {
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&mmc2_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
emmc: emmc@0 {
|
||||
reg = <0>;
|
||||
compatible = "mmc-card";
|
||||
broken-hpi;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,335 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Device Tree Source for A20-SOM204-EVB Board
|
||||
*
|
||||
* Copyright (C) 2018 Olimex Ltd.
|
||||
* Author: Stefan Mavrodiev <stefan@olimex.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun7i-a20.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
|
||||
/ {
|
||||
model = "Olimex A20-SOM204-EVB";
|
||||
compatible = "olimex,a20-olimex-som204-evb", "allwinner,sun7i-a20";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart4;
|
||||
serial2 = &uart7;
|
||||
spi0 = &spi1;
|
||||
spi1 = &spi2;
|
||||
ethernet1 = &rtl8723bs;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
stat {
|
||||
label = "a20-som204-evb:green:stat";
|
||||
gpios = <&pio 8 0 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
led1 {
|
||||
label = "a20-som204-evb:green:led1";
|
||||
gpios = <&pio 8 10 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
led2 {
|
||||
label = "a20-som204-evb:yellow:led2";
|
||||
gpios = <&pio 8 11 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
|
||||
rtl_pwrseq: rtl_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&pio 6 9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&ahci {
|
||||
target-supply = <®_ahci_5v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&can0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_rgmii_a>;
|
||||
phy = <&phy3>;
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <®_vcc3v3>;
|
||||
|
||||
snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>;
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 10000 1000000>;
|
||||
status = "okay";
|
||||
|
||||
phy3: ethernet-phy@3 {
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
reg = <0x34>;
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Exposed to UEXT1 */
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
compatible = "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Exposed to UEXT2 */
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>;
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&rtl_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
rtl8723bs: sdio_wifi@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&otg_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
bt_uart_pins: bt_uart_pins@0 {
|
||||
pins = "PG6", "PG7", "PG8";
|
||||
function = "uart3";
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
®_dcdc3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-int-dll";
|
||||
};
|
||||
|
||||
®_ldo1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-name = "vdd-rtc";
|
||||
};
|
||||
|
||||
®_ldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-name = "avcc";
|
||||
};
|
||||
|
||||
®_ldo4 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-pg";
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
gpio = <&pio 2 17 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Exposed to UEXT1 */
|
||||
&spi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi1_pins_a>,
|
||||
<&spi1_cs0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Exposed to UEXT2 */
|
||||
&spi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_a>,
|
||||
<&spi2_cs0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Used for RTL8723BS bluetooth */
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bt_uart_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Exposed to UEXT1 */
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart4_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Exposed to UEXT2 */
|
||||
&uart7 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart7_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
|
||||
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
|
||||
usb0_vbus_power-supply = <&usb_power_supply>;
|
||||
usb0_vbus-supply = <®_usb0_vbus>;
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
status = "okay";
|
||||
};
|
|
@ -61,6 +61,17 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
|
@ -98,6 +109,10 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -119,6 +134,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <dt-bindings/dma/sun4i-a10.h>
|
||||
#include <dt-bindings/clock/sun4i-a10-ccu.h>
|
||||
#include <dt-bindings/clock/sun7i-a20-ccu.h>
|
||||
#include <dt-bindings/reset/sun4i-a10-ccu.h>
|
||||
|
||||
/ {
|
||||
|
@ -116,8 +116,6 @@
|
|||
144000 1000000
|
||||
>;
|
||||
#cooling-cells = <2>;
|
||||
cooling-min-level = <0>;
|
||||
cooling-max-level = <6>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
|
@ -1217,6 +1215,31 @@
|
|||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mali: gpu@1c40000 {
|
||||
compatible = "allwinner,sun7i-a20-mali", "arm,mali-400";
|
||||
reg = <0x01c40000 0x10000>;
|
||||
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "gp",
|
||||
"gpmmu",
|
||||
"pp0",
|
||||
"ppmmu0",
|
||||
"pp1",
|
||||
"ppmmu1",
|
||||
"pmu";
|
||||
clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>;
|
||||
clock-names = "bus", "core";
|
||||
resets = <&ccu RST_GPU>;
|
||||
|
||||
assigned-clocks = <&ccu CLK_GPU>;
|
||||
assigned-clock-rates = <384000000>;
|
||||
};
|
||||
|
||||
gmac: ethernet@1c50000 {
|
||||
compatible = "allwinner,sun7i-a20-gmac";
|
||||
reg = <0x01c50000 0x10000>;
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
|
||||
/dts-v1/;
|
||||
#include "sun8i-a33.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
@ -62,8 +61,6 @@
|
|||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pin_olinuxino>;
|
||||
|
||||
green {
|
||||
label = "a33-olinuxino:green:usr";
|
||||
|
@ -72,13 +69,21 @@
|
|||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dai {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */
|
||||
|
@ -90,23 +95,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pin_olinuxino: led_pins@0 {
|
||||
pins = "PB7";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
|
||||
pins = "PB4";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
pins = "PB3";
|
||||
function = "gpio_in";
|
||||
};
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
|
@ -122,6 +110,14 @@
|
|||
|
||||
#include "axp223.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_aldo1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
|
@ -195,6 +191,21 @@
|
|||
vcc-lcd-supply = <®_dc1sw>;
|
||||
};
|
||||
|
||||
&sound {
|
||||
/* Board level jack widgets */
|
||||
simple-audio-card,widgets = "Microphone", "Microphone Jack",
|
||||
"Headphone", "Headphone Jack";
|
||||
/* Board level routing. First 2 routes copied from SoC level */
|
||||
simple-audio-card,routing =
|
||||
"Left DAC", "AIF1 Slot 0 Left",
|
||||
"Right DAC", "AIF1 Slot 0 Right",
|
||||
"HP", "HPCOM",
|
||||
"Headphone Jack", "HP",
|
||||
"MIC1", "Microphone Jack",
|
||||
"Microphone Jack", "MBIAS";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_b>;
|
||||
|
@ -211,8 +222,6 @@
|
|||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>;
|
||||
usb0_id_det-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
|
||||
usb0_vbus_power-supply = <&usb_power_supply>;
|
||||
usb0_vbus-supply = <®_drivevbus>;
|
||||
|
|
|
@ -289,7 +289,6 @@
|
|||
clock-names = "ahb", "mod",
|
||||
"ram";
|
||||
resets = <&ccu RST_BUS_DE_FE>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
|
|
|
@ -60,6 +60,31 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
blue {
|
||||
label = "bananapi-m3:blue:usr";
|
||||
gpios = <&axp_gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
green {
|
||||
label = "bananapi-m3:green:usr";
|
||||
gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb1_vbus: reg-usb1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb1-vbus";
|
||||
|
@ -82,6 +107,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
/* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */
|
||||
status = "okay";
|
||||
|
@ -100,6 +129,16 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
rgmii_phy: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
|
|
|
@ -128,6 +128,14 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&cpu100 {
|
||||
cpu-supply = <®_dcdc3>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -231,6 +239,10 @@
|
|||
|
||||
#include "axp81x.dtsi"
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_aldo1 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
|
|
@ -60,51 +60,63 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
cpu0: cpu@0 {
|
||||
clocks = <&ccu CLK_C0CPUX>;
|
||||
clock-names = "cpu";
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu0_opp_table>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu0_opp_table>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu0_opp_table>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu0_opp_table>;
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
cpu@100 {
|
||||
cpu100: cpu@100 {
|
||||
clocks = <&ccu CLK_C1CPUX>;
|
||||
clock-names = "cpu";
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu1_opp_table>;
|
||||
reg = <0x100>;
|
||||
};
|
||||
|
||||
cpu@101 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu1_opp_table>;
|
||||
reg = <0x101>;
|
||||
};
|
||||
|
||||
cpu@102 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu1_opp_table>;
|
||||
reg = <0x102>;
|
||||
};
|
||||
|
||||
cpu@103 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
operating-points-v2 = <&cpu1_opp_table>;
|
||||
reg = <0x103>;
|
||||
};
|
||||
};
|
||||
|
@ -155,7 +167,7 @@
|
|||
|
||||
de: display-engine {
|
||||
compatible = "allwinner,sun8i-a83t-display-engine";
|
||||
allwinner,pipelines = <&mixer0>;
|
||||
allwinner,pipelines = <&mixer0>, <&mixer1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -164,6 +176,112 @@
|
|||
device_type = "memory";
|
||||
};
|
||||
|
||||
cpu0_opp_table: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-480000000 {
|
||||
opp-hz = /bits/ 64 <480000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-600000000 {
|
||||
opp-hz = /bits/ 64 <600000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-720000000 {
|
||||
opp-hz = /bits/ 64 <720000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-864000000 {
|
||||
opp-hz = /bits/ 64 <864000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-912000000 {
|
||||
opp-hz = /bits/ 64 <912000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-1008000000 {
|
||||
opp-hz = /bits/ 64 <1008000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-1128000000 {
|
||||
opp-hz = /bits/ 64 <1128000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
};
|
||||
|
||||
cpu1_opp_table: opp_table1 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-480000000 {
|
||||
opp-hz = /bits/ 64 <480000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-600000000 {
|
||||
opp-hz = /bits/ 64 <600000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-720000000 {
|
||||
opp-hz = /bits/ 64 <720000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-864000000 {
|
||||
opp-hz = /bits/ 64 <864000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-912000000 {
|
||||
opp-hz = /bits/ 64 <912000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-1008000000 {
|
||||
opp-hz = /bits/ 64 <1008000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-1128000000 {
|
||||
opp-hz = /bits/ 64 <1128000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <840000>;
|
||||
clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
|
@ -208,6 +326,29 @@
|
|||
};
|
||||
};
|
||||
|
||||
mixer1: mixer@1200000 {
|
||||
compatible = "allwinner,sun8i-a83t-de2-mixer-1";
|
||||
reg = <0x01200000 0x100000>;
|
||||
clocks = <&display_clocks CLK_BUS_MIXER1>,
|
||||
<&display_clocks CLK_MIXER1>;
|
||||
clock-names = "bus",
|
||||
"mod";
|
||||
resets = <&display_clocks RST_WB>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mixer1_out: port@1 {
|
||||
reg = <1>;
|
||||
|
||||
mixer1_out_tcon1: endpoint {
|
||||
remote-endpoint = <&tcon1_in_mixer1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
syscon: syscon@1c00000 {
|
||||
compatible = "allwinner,sun8i-a83t-system-controller",
|
||||
"syscon";
|
||||
|
@ -256,6 +397,40 @@
|
|||
};
|
||||
};
|
||||
|
||||
tcon1: lcd-controller@1c0d000 {
|
||||
compatible = "allwinner,sun8i-a83t-tcon-tv";
|
||||
reg = <0x01c0d000 0x1000>;
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
|
||||
clock-names = "ahb", "tcon-ch1";
|
||||
resets = <&ccu RST_BUS_TCON1>;
|
||||
reset-names = "lcd";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon1_in: port@0 {
|
||||
reg = <0>;
|
||||
|
||||
tcon1_in_mixer1: endpoint {
|
||||
remote-endpoint = <&mixer1_out_tcon1>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon1_out_hdmi: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&hdmi_in_tcon1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@1c0f000 {
|
||||
compatible = "allwinner,sun8i-a83t-mmc",
|
||||
"allwinner,sun7i-a20-mmc";
|
||||
|
@ -427,6 +602,11 @@
|
|||
drive-strength = <40>;
|
||||
};
|
||||
|
||||
hdmi_pins: hdmi-pins {
|
||||
pins = "PH6", "PH7", "PH8";
|
||||
function = "hdmi";
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0-pins {
|
||||
pins = "PH0", "PH1";
|
||||
function = "i2c0";
|
||||
|
@ -685,6 +865,50 @@
|
|||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
hdmi: hdmi@1ee0000 {
|
||||
compatible = "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_SLOW>,
|
||||
<&ccu CLK_HDMI>;
|
||||
clock-names = "iahb", "isfr", "tmds";
|
||||
resets = <&ccu RST_BUS_HDMI1>;
|
||||
reset-names = "ctrl";
|
||||
phys = <&hdmi_phy>;
|
||||
phy-names = "hdmi-phy";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_pins>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hdmi_in: port@0 {
|
||||
reg = <0>;
|
||||
|
||||
hdmi_in_tcon1: endpoint {
|
||||
remote-endpoint = <&tcon1_out_hdmi>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_out: port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_phy: hdmi-phy@1ef0000 {
|
||||
compatible = "allwinner,sun8i-a83t-hdmi-phy";
|
||||
reg = <0x01ef0000 0x10000>;
|
||||
clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>;
|
||||
clock-names = "bus", "mod";
|
||||
resets = <&ccu RST_BUS_HDMI0>;
|
||||
reset-names = "phy";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
r_intc: interrupt-controller@1f00c00 {
|
||||
compatible = "allwinner,sun8i-a83t-r-intc",
|
||||
"allwinner,sun6i-a31-r-intc";
|
||||
|
|
|
@ -68,6 +68,14 @@
|
|||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "mxicy,mx25l12805d", "jedec,spi-nor";
|
||||
};
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
/*
|
||||
* RTL8152B USB-Ethernet adapter is connected to USB1,
|
||||
|
|
|
@ -119,6 +119,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -125,6 +125,14 @@
|
|||
|
||||
#include "axp223.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_aldo1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
|
|
|
@ -74,6 +74,52 @@
|
|||
};
|
||||
};
|
||||
|
||||
vga-connector {
|
||||
compatible = "vga-connector";
|
||||
label = "vga";
|
||||
ddc-i2c-bus = <&i2c3>;
|
||||
|
||||
port {
|
||||
vga_con_in: endpoint {
|
||||
remote-endpoint = <&vga_dac_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vga-dac {
|
||||
compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
|
||||
vdd-supply = <®_dcdc1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
vga_dac_in: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon0_out_vga>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
vga_dac_out: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&vga_con_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&ac100_rtc 1>;
|
||||
|
@ -83,6 +129,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
|
@ -403,6 +459,18 @@
|
|||
|
||||
#include "axp809.dtsi"
|
||||
|
||||
&tcon0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&lcd0_rgb888_pins>;
|
||||
};
|
||||
|
||||
&tcon0_out {
|
||||
tcon0_out_vga: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&vga_dac_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
|
|
|
@ -63,48 +63,72 @@
|
|||
cpu0: cpu@0 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control0>;
|
||||
clock-frequency = <12000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x0>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control0>;
|
||||
clock-frequency = <12000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x1>;
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control0>;
|
||||
clock-frequency = <12000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x2>;
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control0>;
|
||||
clock-frequency = <12000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x3>;
|
||||
};
|
||||
|
||||
cpu4: cpu@100 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control1>;
|
||||
clock-frequency = <18000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x100>;
|
||||
};
|
||||
|
||||
cpu5: cpu@101 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control1>;
|
||||
clock-frequency = <18000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x101>;
|
||||
};
|
||||
|
||||
cpu6: cpu@102 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control1>;
|
||||
clock-frequency = <18000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x102>;
|
||||
};
|
||||
|
||||
cpu7: cpu@103 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
cci-control-port = <&cci_control1>;
|
||||
clock-frequency = <18000000>;
|
||||
enable-method = "allwinner,sun9i-a80-smp";
|
||||
reg = <0x103>;
|
||||
};
|
||||
};
|
||||
|
@ -224,6 +248,12 @@
|
|||
};
|
||||
};
|
||||
|
||||
de: display-engine {
|
||||
compatible = "allwinner,sun9i-a80-display-engine";
|
||||
allwinner,pipelines = <&fe0>, <&fe1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
|
@ -234,6 +264,25 @@
|
|||
*/
|
||||
ranges = <0 0 0 0x20000000>;
|
||||
|
||||
sram_b: sram@20000 {
|
||||
/* 256 KiB secure SRAM at 0x20000 */
|
||||
compatible = "mmio-sram";
|
||||
reg = <0x00020000 0x40000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x00020000 0x40000>;
|
||||
|
||||
smp-sram@1000 {
|
||||
/*
|
||||
* This is checked by BROM to determine if
|
||||
* cpu0 should jump to SMP entry vector
|
||||
*/
|
||||
compatible = "allwinner,sun9i-a80-smp-sram";
|
||||
reg = <0x1000 0x8>;
|
||||
};
|
||||
};
|
||||
|
||||
ehci0: usb@a00000 {
|
||||
compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
|
||||
reg = <0x00a00000 0x100>;
|
||||
|
@ -347,6 +396,11 @@
|
|||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
cpucfg@1700000 {
|
||||
compatible = "allwinner,sun9i-a80-cpucfg";
|
||||
reg = <0x01700000 0x100>;
|
||||
};
|
||||
|
||||
mmc0: mmc@1c0f000 {
|
||||
compatible = "allwinner,sun9i-a80-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
|
@ -431,6 +485,36 @@
|
|||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
cci: cci@1c90000 {
|
||||
compatible = "arm,cci-400";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x01c90000 0x1000>;
|
||||
ranges = <0x0 0x01c90000 0x10000>;
|
||||
|
||||
cci_control0: slave-if@4000 {
|
||||
compatible = "arm,cci-400-ctrl-if";
|
||||
interface-type = "ace";
|
||||
reg = <0x4000 0x1000>;
|
||||
};
|
||||
|
||||
cci_control1: slave-if@5000 {
|
||||
compatible = "arm,cci-400-ctrl-if";
|
||||
interface-type = "ace";
|
||||
reg = <0x5000 0x1000>;
|
||||
};
|
||||
|
||||
pmu@9000 {
|
||||
compatible = "arm,cci-400-pmu,r1";
|
||||
reg = <0x9000 0x5000>;
|
||||
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
de_clocks: clock@3000000 {
|
||||
compatible = "allwinner,sun9i-a80-de-clks";
|
||||
reg = <0x03000000 0x30>;
|
||||
|
@ -445,6 +529,381 @@
|
|||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
fe0: display-frontend@3100000 {
|
||||
compatible = "allwinner,sun9i-a80-display-frontend";
|
||||
reg = <0x03100000 0x40000>;
|
||||
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_FE0>, <&de_clocks CLK_FE0>,
|
||||
<&de_clocks CLK_DRAM_FE0>;
|
||||
clock-names = "ahb", "mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_FE0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fe0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
fe0_out_deu0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&deu0_in_fe0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fe1: display-frontend@3140000 {
|
||||
compatible = "allwinner,sun9i-a80-display-frontend";
|
||||
reg = <0x03140000 0x40000>;
|
||||
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_FE1>, <&de_clocks CLK_FE1>,
|
||||
<&de_clocks CLK_DRAM_FE1>;
|
||||
clock-names = "ahb", "mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_FE0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fe1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
fe1_out_deu1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&deu1_in_fe1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
be0: display-backend@3200000 {
|
||||
compatible = "allwinner,sun9i-a80-display-backend";
|
||||
reg = <0x03200000 0x40000>;
|
||||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_BE0>, <&de_clocks CLK_BE0>,
|
||||
<&de_clocks CLK_DRAM_BE0>;
|
||||
clock-names = "ahb", "mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_BE0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
be0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
be0_in_deu0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&deu0_out_be0>;
|
||||
};
|
||||
|
||||
be0_in_deu1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&deu1_out_be0>;
|
||||
};
|
||||
};
|
||||
|
||||
be0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
be0_out_drc0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&drc0_in_be0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
be1: display-backend@3240000 {
|
||||
compatible = "allwinner,sun9i-a80-display-backend";
|
||||
reg = <0x03240000 0x40000>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_BE1>, <&de_clocks CLK_BE1>,
|
||||
<&de_clocks CLK_DRAM_BE1>;
|
||||
clock-names = "ahb", "mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_BE1>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
be1_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
be1_in_deu0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&deu0_out_be1>;
|
||||
};
|
||||
|
||||
be1_in_deu1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&deu1_out_be1>;
|
||||
};
|
||||
};
|
||||
|
||||
be1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
be1_out_drc1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&drc1_in_be1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
deu0: deu@3300000 {
|
||||
compatible = "allwinner,sun9i-a80-deu";
|
||||
reg = <0x03300000 0x40000>;
|
||||
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_DEU0>,
|
||||
<&de_clocks CLK_IEP_DEU0>,
|
||||
<&de_clocks CLK_DRAM_DEU0>;
|
||||
clock-names = "ahb",
|
||||
"mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_DEU0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
deu0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
deu0_in_fe0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&fe0_out_deu0>;
|
||||
};
|
||||
};
|
||||
|
||||
deu0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
deu0_out_be0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&be0_in_deu0>;
|
||||
};
|
||||
|
||||
deu0_out_be1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&be1_in_deu0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
deu1: deu@3340000 {
|
||||
compatible = "allwinner,sun9i-a80-deu";
|
||||
reg = <0x03340000 0x40000>;
|
||||
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_DEU1>,
|
||||
<&de_clocks CLK_IEP_DEU1>,
|
||||
<&de_clocks CLK_DRAM_DEU1>;
|
||||
clock-names = "ahb",
|
||||
"mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_DEU1>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
deu1_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
deu1_in_fe1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&fe1_out_deu1>;
|
||||
};
|
||||
};
|
||||
|
||||
deu1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
deu1_out_be0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&be0_in_deu1>;
|
||||
};
|
||||
|
||||
deu1_out_be1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&be1_in_deu1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
drc0: drc@3400000 {
|
||||
compatible = "allwinner,sun9i-a80-drc";
|
||||
reg = <0x03400000 0x40000>;
|
||||
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_DRC0>,
|
||||
<&de_clocks CLK_IEP_DRC0>,
|
||||
<&de_clocks CLK_DRAM_DRC0>;
|
||||
clock-names = "ahb",
|
||||
"mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_DRC0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
drc0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
drc0_in_be0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&be0_out_drc0>;
|
||||
};
|
||||
};
|
||||
|
||||
drc0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
drc0_out_tcon0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon0_in_drc0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
drc1: drc@3440000 {
|
||||
compatible = "allwinner,sun9i-a80-drc";
|
||||
reg = <0x03440000 0x40000>;
|
||||
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&de_clocks CLK_BUS_DRC1>,
|
||||
<&de_clocks CLK_IEP_DRC1>,
|
||||
<&de_clocks CLK_DRAM_DRC1>;
|
||||
clock-names = "ahb",
|
||||
"mod",
|
||||
"ram";
|
||||
resets = <&de_clocks RST_DRC1>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
drc1_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
drc1_in_be1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&be1_out_drc1>;
|
||||
};
|
||||
};
|
||||
|
||||
drc1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
drc1_out_tcon1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon1_in_drc1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tcon0: lcd-controller@3c00000 {
|
||||
compatible = "allwinner,sun9i-a80-tcon-lcd";
|
||||
reg = <0x03c00000 0x10000>;
|
||||
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_LCD0>, <&ccu CLK_LCD0>;
|
||||
clock-names = "ahb", "tcon-ch0";
|
||||
resets = <&ccu RST_BUS_LCD0>, <&ccu RST_BUS_EDP>;
|
||||
reset-names = "lcd", "edp";
|
||||
clock-output-names = "tcon0-pixel-clock";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon0_in_drc0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&drc0_out_tcon0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tcon1: lcd-controller@3c10000 {
|
||||
compatible = "allwinner,sun9i-a80-tcon-tv";
|
||||
reg = <0x03c10000 0x10000>;
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_LCD1>, <&ccu CLK_LCD1>;
|
||||
clock-names = "ahb", "tcon-ch1";
|
||||
resets = <&ccu RST_BUS_LCD1>, <&ccu RST_BUS_EDP>;
|
||||
reset-names = "lcd", "edp";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon1_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon1_in_drc1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&drc1_out_tcon1>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ccu: clock@6000000 {
|
||||
compatible = "allwinner,sun9i-a80-ccu";
|
||||
reg = <0x06000000 0x800>;
|
||||
|
@ -494,6 +953,17 @@
|
|||
function = "i2c3";
|
||||
};
|
||||
|
||||
lcd0_rgb888_pins: lcd0-rgb888-pins {
|
||||
pins = "PD0", "PD1", "PD2", "PD3",
|
||||
"PD4", "PD5", "PD6", "PD7",
|
||||
"PD8", "PD9", "PD10", "PD11",
|
||||
"PD12", "PD13", "PD14", "PD15",
|
||||
"PD16", "PD17", "PD18", "PD19",
|
||||
"PD20", "PD21", "PD22", "PD23",
|
||||
"PD24", "PD25", "PD26", "PD27";
|
||||
function = "lcd0";
|
||||
};
|
||||
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1" ,"PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
|
@ -658,6 +1128,11 @@
|
|||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
prcm@8001400 {
|
||||
compatible = "allwinner,sun9i-a80-prcm";
|
||||
reg = <0x08001400 0x200>;
|
||||
};
|
||||
|
||||
apbs_rst: reset@80014b0 {
|
||||
reg = <0x080014b0 0x4>;
|
||||
compatible = "allwinner,sun6i-a31-clock-reset";
|
||||
|
|
Загрузка…
Ссылка в новой задаче