mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
ARM: dts: sun5i: Update A10s/A13/gr8/r8 dts(i) files from Linux-v4.18-rc3
Update all A10s/A13/gr8/r8devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commit: commit 190e3138f9577885691540dca59c2f07540bde04 Merge: cafc87023b0d a7affb13b271 Author: Arnd Bergmann <arnd@arndb.de> Date: Tue Mar 27 14:58:00 2018 +0200 Merge tag 'sunxi-h3-h5-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
parent
3c92cca3cd
commit
13b36face7
22 changed files with 1025 additions and 2355 deletions
|
@ -44,7 +44,6 @@
|
|||
#include "sun5i-a10s.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Auxtek t003 A10s hdmi tv-stick";
|
||||
|
@ -94,8 +93,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t003>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -109,17 +107,15 @@
|
|||
|
||||
&pio {
|
||||
mmc0_cd_pin_t003: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
led_pins_t003: led_pins@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -139,14 +135,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_vbus_pin_a {
|
||||
allwinner,pins = "PG13";
|
||||
};
|
||||
|
||||
&usb1_vbus_pin_a {
|
||||
allwinner,pins = "PB10";
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
#include "sun5i-a10s.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Auxtek t004 A10s hdmi tv-stick";
|
||||
|
@ -105,8 +104,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t004>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -124,26 +122,32 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&otg_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
pins = "PG12";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc0_cd_pin_t004: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc1_vcc_en_pin_t004: mmc1_vcc_en_pin@0 {
|
||||
allwinner,pins = "PB18";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB18";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_t004: led_pins@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -158,11 +162,15 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1_vbus_pin_a {
|
||||
allwinner,pins = "PG13";
|
||||
&usb_otg {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>;
|
||||
usb0_id_det-gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -92,8 +92,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_mk802>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -116,24 +115,19 @@
|
|||
|
||||
&pio {
|
||||
led_pins_mk802: led_pins@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin_mk802: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_mk802: usb1_vbus_pin@0 {
|
||||
allwinner,pins = "PB10";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -150,7 +144,7 @@
|
|||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "otg";
|
||||
dr_mode = "peripheral";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Olimex A10s-Olinuxino Micro";
|
||||
|
@ -64,6 +63,17 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
|
@ -77,13 +87,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
&be0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
pinctrl-0 = <&emac_pins_b>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -92,6 +106,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>;
|
||||
|
@ -177,8 +201,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -187,8 +210,7 @@
|
|||
pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; /* PG13 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -202,38 +224,32 @@
|
|||
|
||||
&pio {
|
||||
mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 {
|
||||
allwinner,pins = "PG13";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG13";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PE3";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PE3";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_olinuxino_m: usb1_vbus_pin@0 {
|
||||
allwinner,pins = "PB10";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
allwinner,pins = "PG12";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG12";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -250,8 +266,12 @@
|
|||
|
||||
&spi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_a>,
|
||||
<&spi2_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi2_pins_b>,
|
||||
<&spi2_cs0_pins_b>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tcon0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -263,7 +283,7 @@
|
|||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pins_a>;
|
||||
pinctrl-0 = <&uart2_pins_b>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -278,10 +298,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_vbus_pin_a {
|
||||
allwinner,pins = "PG11";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>;
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
#include "sunxi-common-regulators.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "R7 A10s hdmi tv-stick";
|
||||
|
@ -81,8 +80,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -101,24 +99,20 @@
|
|||
|
||||
&pio {
|
||||
mmc0_cd_pin_r7: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
led_pins_r7: led_pins@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_r7: usb1_vbus_pin@0 {
|
||||
allwinner,pins = "PG13";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG13";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "A10s-Wobo i5";
|
||||
|
@ -95,7 +94,7 @@
|
|||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_b>;
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -131,8 +130,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_wobo_i5>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -146,24 +144,19 @@
|
|||
|
||||
&pio {
|
||||
led_pins_wobo_i5: led_pins@0 {
|
||||
allwinner,pins = "PB2";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin_wobo_i5: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PB3";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PB3";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
emac_power_pin_wobo: emac_power_pin@0 {
|
||||
allwinner,pins = "PA02";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PA02";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -222,10 +215,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1_vbus_pin_a {
|
||||
allwinner,pins = "PG12";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
#include "sun5i.dtsi"
|
||||
|
||||
#include <dt-bindings/dma/sun4i-a10.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
interrupt-parent = <&intc>;
|
||||
|
@ -61,207 +60,118 @@
|
|||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
framebuffer@0 {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0-hdmi";
|
||||
clocks = <&pll3>, <&pll5 1>, <&ahb_gates 36>,
|
||||
<&ahb_gates 43>, <&ahb_gates 44>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
framebuffer@1 {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0";
|
||||
clocks = <&pll3>, <&pll5 1>, <&ahb_gates 36>,
|
||||
<&ahb_gates 44>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
framebuffer@2 {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0-tve0";
|
||||
clocks = <&pll3>, <&pll5 1>, <&ahb_gates 34>,
|
||||
<&ahb_gates 36>, <&ahb_gates 44>;
|
||||
allwinner,pipeline = "de_be0-lcd0-hdmi";
|
||||
clocks = <&ccu CLK_AHB_LCD>, <&ccu CLK_AHB_HDMI>,
|
||||
<&ccu CLK_AHB_DE_BE>, <&ccu CLK_DRAM_DE_BE>,
|
||||
<&ccu CLK_DE_BE>, <&ccu CLK_HDMI>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
clocks {
|
||||
ahb_gates: clk@01c20060 {
|
||||
#clock-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a10s-ahb-gates-clk";
|
||||
reg = <0x01c20060 0x8>;
|
||||
clocks = <&ahb>;
|
||||
clock-indices = <0>, <1>,
|
||||
<2>, <5>, <6>,
|
||||
<7>, <8>, <9>,
|
||||
<10>, <13>,
|
||||
<14>, <17>, <18>,
|
||||
<20>, <21>, <22>,
|
||||
<26>, <28>, <32>,
|
||||
<34>, <36>, <40>,
|
||||
<43>, <44>,
|
||||
<46>, <51>,
|
||||
<52>;
|
||||
clock-output-names = "ahb_usbotg", "ahb_ehci",
|
||||
"ahb_ohci", "ahb_ss", "ahb_dma",
|
||||
"ahb_bist", "ahb_mmc0", "ahb_mmc1",
|
||||
"ahb_mmc2", "ahb_nand",
|
||||
"ahb_sdram", "ahb_emac", "ahb_ts",
|
||||
"ahb_spi0", "ahb_spi1", "ahb_spi2",
|
||||
"ahb_gps", "ahb_stimer", "ahb_ve",
|
||||
"ahb_tve", "ahb_lcd", "ahb_csi",
|
||||
"ahb_hdmi", "ahb_de_be",
|
||||
"ahb_de_fe", "ahb_iep",
|
||||
"ahb_mali400";
|
||||
};
|
||||
|
||||
apb0_gates: clk@01c20068 {
|
||||
#clock-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a10s-apb0-gates-clk";
|
||||
reg = <0x01c20068 0x4>;
|
||||
clocks = <&apb0>;
|
||||
clock-indices = <0>, <3>,
|
||||
<5>, <6>,
|
||||
<10>;
|
||||
clock-output-names = "apb0_codec", "apb0_iis",
|
||||
"apb0_pio", "apb0_ir",
|
||||
"apb0_keypad";
|
||||
};
|
||||
|
||||
apb1_gates: clk@01c2006c {
|
||||
#clock-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a10s-apb1-gates-clk";
|
||||
reg = <0x01c2006c 0x4>;
|
||||
clocks = <&apb1>;
|
||||
clock-indices = <0>, <1>,
|
||||
<2>, <16>,
|
||||
<17>, <18>,
|
||||
<19>;
|
||||
clock-output-names = "apb1_i2c0", "apb1_i2c1",
|
||||
"apb1_i2c2", "apb1_uart0",
|
||||
"apb1_uart1", "apb1_uart2",
|
||||
"apb1_uart3";
|
||||
};
|
||||
display-engine {
|
||||
compatible = "allwinner,sun5i-a10s-display-engine";
|
||||
allwinner,pipelines = <&fe0>;
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
emac: ethernet@01c0b000 {
|
||||
compatible = "allwinner,sun4i-a10-emac";
|
||||
reg = <0x01c0b000 0x1000>;
|
||||
interrupts = <55>;
|
||||
clocks = <&ahb_gates 17>;
|
||||
allwinner,sram = <&emac_sram 1>;
|
||||
soc@1c00000 {
|
||||
hdmi: hdmi@1c16000 {
|
||||
compatible = "allwinner,sun5i-a10s-hdmi";
|
||||
reg = <0x01c16000 0x1000>;
|
||||
interrupts = <58>;
|
||||
clocks = <&ccu CLK_AHB_HDMI>, <&ccu CLK_HDMI>,
|
||||
<&ccu CLK_PLL_VIDEO0_2X>,
|
||||
<&ccu CLK_PLL_VIDEO1_2X>;
|
||||
clock-names = "ahb", "mod", "pll-0", "pll-1";
|
||||
dmas = <&dma SUN4I_DMA_NORMAL 16>,
|
||||
<&dma SUN4I_DMA_NORMAL 16>,
|
||||
<&dma SUN4I_DMA_DEDICATED 24>;
|
||||
dma-names = "ddc-tx", "ddc-rx", "audio-tx";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hdmi_in: port@0 {
|
||||
reg = <0>;
|
||||
|
||||
hdmi_in_tcon0: endpoint {
|
||||
remote-endpoint = <&tcon0_out_hdmi>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mdio: mdio@01c0b080 {
|
||||
compatible = "allwinner,sun4i-a10-mdio";
|
||||
reg = <0x01c0b080 0x14>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
pwm: pwm@01c20e00 {
|
||||
pwm: pwm@1c20e00 {
|
||||
compatible = "allwinner,sun5i-a10s-pwm";
|
||||
reg = <0x01c20e00 0xc>;
|
||||
clocks = <&osc24M>;
|
||||
clocks = <&ccu CLK_HOSC>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart0: serial@01c28000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28000 0x400>;
|
||||
interrupts = <1>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb1_gates 16>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart2: serial@01c28800 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28800 0x400>;
|
||||
interrupts = <3>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&apb1_gates 18>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ccu {
|
||||
compatible = "allwinner,sun5i-a10s-ccu";
|
||||
};
|
||||
|
||||
&pio {
|
||||
compatible = "allwinner,sun5i-a10s-pinctrl";
|
||||
|
||||
uart0_pins_a: uart0@0 {
|
||||
allwinner,pins = "PB19", "PB20";
|
||||
allwinner,function = "uart0";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB19", "PB20";
|
||||
function = "uart0";
|
||||
};
|
||||
|
||||
uart2_pins_a: uart2@0 {
|
||||
allwinner,pins = "PC18", "PC19";
|
||||
allwinner,function = "uart2";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
uart2_pins_b: uart2@1 {
|
||||
pins = "PC18", "PC19";
|
||||
function = "uart2";
|
||||
};
|
||||
|
||||
emac_pins_a: emac0@0 {
|
||||
allwinner,pins = "PA0", "PA1", "PA2",
|
||||
emac_pins_b: emac0@1 {
|
||||
pins = "PA0", "PA1", "PA2",
|
||||
"PA3", "PA4", "PA5", "PA6",
|
||||
"PA7", "PA8", "PA9", "PA10",
|
||||
"PA11", "PA12", "PA13", "PA14",
|
||||
"PA15", "PA16";
|
||||
allwinner,function = "emac";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
};
|
||||
|
||||
emac_pins_b: emac0@1 {
|
||||
allwinner,pins = "PD6", "PD7", "PD10",
|
||||
"PD11", "PD12", "PD13", "PD14",
|
||||
"PD15", "PD18", "PD19", "PD20",
|
||||
"PD21", "PD22", "PD23", "PD24",
|
||||
"PD25", "PD26", "PD27";
|
||||
allwinner,function = "emac";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
function = "emac";
|
||||
};
|
||||
|
||||
mmc1_pins_a: mmc1@0 {
|
||||
allwinner,pins = "PG3", "PG4", "PG5",
|
||||
pins = "PG3", "PG4", "PG5",
|
||||
"PG6", "PG7", "PG8";
|
||||
allwinner,function = "mmc1";
|
||||
allwinner,drive = <SUN4I_PINCTRL_30_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
function = "mmc1";
|
||||
drive-strength = <30>;
|
||||
};
|
||||
|
||||
spi2_pins_a: spi2@0 {
|
||||
allwinner,pins = "PB12", "PB13", "PB14";
|
||||
allwinner,function = "spi2";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
spi2_pins_b: spi2@1 {
|
||||
pins = "PB12", "PB13", "PB14";
|
||||
function = "spi2";
|
||||
};
|
||||
|
||||
spi2_cs0_pins_a: spi2_cs0@0 {
|
||||
allwinner,pins = "PB11";
|
||||
allwinner,function = "spi2";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
spi2_cs0_pins_b: spi2_cs0@1 {
|
||||
pins = "PB11";
|
||||
function = "spi2";
|
||||
};
|
||||
};
|
||||
|
||||
&sram_a {
|
||||
emac_sram: sram-section@8000 {
|
||||
compatible = "allwinner,sun4i-a10-sram-a3-a4";
|
||||
reg = <0x8000 0x4000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&tcon0_out {
|
||||
tcon0_out_hdmi: endpoint@2 {
|
||||
reg = <2>;
|
||||
remote-endpoint = <&hdmi_in_tcon0>;
|
||||
allwinner,tcon-channel = <1>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
|
||||
/ {
|
||||
|
@ -126,8 +125,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_d709>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -137,24 +135,21 @@
|
|||
|
||||
&pio {
|
||||
mmc0_cd_pin_d709: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG0";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG2";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -211,10 +206,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_vbus_pin_a {
|
||||
allwinner,pins = "PG12";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "HSG H702";
|
||||
|
@ -121,8 +120,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_h702>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -136,24 +134,20 @@
|
|||
|
||||
&pio {
|
||||
mmc0_cd_pin_h702: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG0";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG2";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -191,7 +185,6 @@
|
|||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
pinctrl-0 = <&usb0_vbus_pin_a>;
|
||||
gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -207,10 +200,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_vbus_pin_a {
|
||||
allwinner,pins = "PG12";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
|
|
|
@ -42,171 +42,9 @@
|
|||
|
||||
/dts-v1/;
|
||||
#include "sun5i-a13.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
#include "sun5i-reference-design-tablet.dtsi"
|
||||
|
||||
/ {
|
||||
model = "INet-98V Rev 02";
|
||||
compatible = "primux,inet98v-rev2", "allwinner,sun5i-a13";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
reg = <0x34>;
|
||||
interrupts = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
pcf8563: rtc@51 {
|
||||
compatible = "nxp,pcf8563";
|
||||
reg = <0x51>;
|
||||
};
|
||||
};
|
||||
|
||||
&lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
status = "okay";
|
||||
|
||||
button@200 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <200000>;
|
||||
};
|
||||
|
||||
button@400 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <400000>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_inet98fv2>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&otg_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
mmc0_cd_pin_inet98fv2: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
};
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
®_dcdc3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1250000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-name = "vdd-int-pll";
|
||||
};
|
||||
|
||||
®_ldo1 {
|
||||
regulator-name = "vdd-rtc";
|
||||
};
|
||||
|
||||
®_ldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-name = "avcc";
|
||||
};
|
||||
|
||||
®_ldo3 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi";
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins_b>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_vbus_pin_a {
|
||||
allwinner,pins = "PG12";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
|
||||
usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
|
||||
usb0_vbus-supply = <®_usb0_vbus>;
|
||||
usb1_vbus-supply = <®_ldo3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
#include "sunxi-common-regulators.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Olimex A13-Olinuxino Micro";
|
||||
|
@ -100,8 +99,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -115,45 +113,37 @@
|
|||
|
||||
&pio {
|
||||
mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG0";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
led_pins_olinuxinom: led_pins@0 {
|
||||
allwinner,pins = "PG9";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG9";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG2";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
usb0_vbus_pin_olinuxinom: usb0_vbus_pin@0 {
|
||||
allwinner,pins = "PG12";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG12";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb1_vbus_pin_olinuxinom: usb1_vbus_pin@0 {
|
||||
allwinner,pins = "PG11";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG11";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Olimex A13-Olinuxino";
|
||||
|
@ -72,6 +71,51 @@
|
|||
default-state = "on";
|
||||
};
|
||||
};
|
||||
|
||||
bridge {
|
||||
compatible = "dumb-vga-dac";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
vga_bridge_in: endpoint {
|
||||
remote-endpoint = <&tcon0_out_vga>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
vga_bridge_out: endpoint {
|
||||
remote-endpoint = <&vga_con_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vga {
|
||||
compatible = "vga-connector";
|
||||
|
||||
port {
|
||||
vga_con_in: endpoint {
|
||||
remote-endpoint = <&vga_bridge_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&be0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
|
@ -150,8 +194,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -165,38 +208,32 @@
|
|||
|
||||
&pio {
|
||||
mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG0";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PG9";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_20_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG9";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG2";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_olinuxino: usb1_vbus_pin@0 {
|
||||
allwinner,pins = "PG11";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG11";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -211,6 +248,19 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&tcon0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&lcd_rgb666_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tcon0_out {
|
||||
tcon0_out_vga: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&vga_bridge_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins_b>;
|
||||
|
@ -222,10 +272,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_vbus_pin_a {
|
||||
allwinner,pins = "PG12";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
|
|
|
@ -80,23 +80,7 @@
|
|||
};
|
||||
|
||||
&codec_pa_pin {
|
||||
allwinner,pins = "PG3";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
icn8318: touchscreen@40 {
|
||||
compatible = "chipone,icn8318";
|
||||
reg = <0x40>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <6 9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ts_wake_pin_p66>;
|
||||
wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
|
||||
touchscreen-size-x = <800>;
|
||||
touchscreen-size-y = <480>;
|
||||
touchscreen-inverted-x;
|
||||
touchscreen-swapped-x-y;
|
||||
};
|
||||
pins = "PG3";
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
|
@ -116,30 +100,35 @@
|
|||
|
||||
&pio {
|
||||
i2c_lcd_pins: i2c_lcd_pin@0 {
|
||||
allwinner,pins = "PG10", "PG12";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG10", "PG12";
|
||||
function = "gpio_out";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
ts_wake_pin_p66: ts_wake_pin@0 {
|
||||
allwinner,pins = "PB3";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
gpio = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */
|
||||
};
|
||||
|
||||
&touchscreen {
|
||||
compatible = "chipone,icn8318";
|
||||
reg = <0x40>;
|
||||
/* The P66 uses a different EINT then the reference design */
|
||||
interrupts = <6 9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
|
||||
/* The icn8318 binding expects wake-gpios instead of power-gpios */
|
||||
wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
|
||||
touchscreen-size-x = <800>;
|
||||
touchscreen-size-y = <480>;
|
||||
touchscreen-inverted-x;
|
||||
touchscreen-swapped-x-y;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
/* The P66 uses the uart pins as gpios */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&usb0_vbus_pin_a {
|
||||
allwinner,pins = "PB4";
|
||||
pins = "PB4";
|
||||
};
|
||||
|
|
|
@ -46,27 +46,11 @@
|
|||
|
||||
#include "sun5i.dtsi"
|
||||
|
||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
chosen {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
framebuffer@0 {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0";
|
||||
clocks = <&ahb_gates 36>, <&ahb_gates 44>, <&de_be_clk>,
|
||||
<&tcon_ch0_clk>, <&dram_gates 26>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu_thermal {
|
||||
/* milliseconds */
|
||||
|
@ -84,7 +68,7 @@
|
|||
trips {
|
||||
cpu_alert0: cpu_alert0 {
|
||||
/* milliCelsius */
|
||||
temperature = <850000>;
|
||||
temperature = <85000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
@ -99,237 +83,27 @@
|
|||
};
|
||||
};
|
||||
|
||||
clocks {
|
||||
ahb_gates: clk@01c20060 {
|
||||
#clock-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-ahb-gates-clk";
|
||||
reg = <0x01c20060 0x8>;
|
||||
clocks = <&ahb>;
|
||||
clock-indices = <0>, <1>,
|
||||
<2>, <5>, <6>,
|
||||
<7>, <8>, <9>,
|
||||
<10>, <13>,
|
||||
<14>, <20>,
|
||||
<21>, <22>,
|
||||
<28>, <32>, <34>,
|
||||
<36>, <40>, <44>,
|
||||
<46>, <51>,
|
||||
<52>;
|
||||
clock-output-names = "ahb_usbotg", "ahb_ehci",
|
||||
"ahb_ohci", "ahb_ss", "ahb_dma",
|
||||
"ahb_bist", "ahb_mmc0", "ahb_mmc1",
|
||||
"ahb_mmc2", "ahb_nand",
|
||||
"ahb_sdram", "ahb_spi0",
|
||||
"ahb_spi1", "ahb_spi2",
|
||||
"ahb_stimer", "ahb_ve", "ahb_tve",
|
||||
"ahb_lcd", "ahb_csi", "ahb_de_be",
|
||||
"ahb_de_fe", "ahb_iep",
|
||||
"ahb_mali400";
|
||||
};
|
||||
|
||||
apb0_gates: clk@01c20068 {
|
||||
#clock-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-apb0-gates-clk";
|
||||
reg = <0x01c20068 0x4>;
|
||||
clocks = <&apb0>;
|
||||
clock-indices = <0>, <5>,
|
||||
<6>;
|
||||
clock-output-names = "apb0_codec", "apb0_pio",
|
||||
"apb0_ir";
|
||||
};
|
||||
|
||||
apb1_gates: clk@01c2006c {
|
||||
#clock-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-apb1-gates-clk";
|
||||
reg = <0x01c2006c 0x4>;
|
||||
clocks = <&apb1>;
|
||||
clock-indices = <0>, <1>,
|
||||
<2>, <17>,
|
||||
<19>;
|
||||
clock-output-names = "apb1_i2c0", "apb1_i2c1",
|
||||
"apb1_i2c2", "apb1_uart1",
|
||||
"apb1_uart3";
|
||||
};
|
||||
|
||||
dram_gates: clk@01c20100 {
|
||||
#clock-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-dram-gates-clk",
|
||||
"allwinner,sun4i-a10-gates-clk";
|
||||
reg = <0x01c20100 0x4>;
|
||||
clocks = <&pll5 0>;
|
||||
clock-indices = <0>,
|
||||
<1>,
|
||||
<25>,
|
||||
<26>,
|
||||
<29>,
|
||||
<31>;
|
||||
clock-output-names = "dram_ve",
|
||||
"dram_csi",
|
||||
"dram_de_fe",
|
||||
"dram_de_be",
|
||||
"dram_ace",
|
||||
"dram_iep";
|
||||
};
|
||||
|
||||
de_be_clk: clk@01c20104 {
|
||||
#clock-cells = <0>;
|
||||
#reset-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-display-clk";
|
||||
reg = <0x01c20104 0x4>;
|
||||
clocks = <&pll3>, <&pll7>, <&pll5 1>;
|
||||
clock-output-names = "de-be";
|
||||
};
|
||||
|
||||
de_fe_clk: clk@01c2010c {
|
||||
#clock-cells = <0>;
|
||||
#reset-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-display-clk";
|
||||
reg = <0x01c2010c 0x4>;
|
||||
clocks = <&pll3>, <&pll7>, <&pll5 1>;
|
||||
clock-output-names = "de-fe";
|
||||
};
|
||||
|
||||
tcon_ch0_clk: clk@01c20118 {
|
||||
#clock-cells = <0>;
|
||||
#reset-cells = <1>;
|
||||
compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
|
||||
reg = <0x01c20118 0x4>;
|
||||
clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
|
||||
clock-output-names = "tcon-ch0-sclk";
|
||||
};
|
||||
|
||||
tcon_ch1_clk: clk@01c2012c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
|
||||
reg = <0x01c2012c 0x4>;
|
||||
clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
|
||||
clock-output-names = "tcon-ch1-sclk";
|
||||
};
|
||||
};
|
||||
|
||||
display-engine {
|
||||
compatible = "allwinner,sun5i-a13-display-engine";
|
||||
allwinner,pipelines = <&fe0>;
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
tcon0: lcd-controller@01c0c000 {
|
||||
compatible = "allwinner,sun5i-a13-tcon";
|
||||
reg = <0x01c0c000 0x1000>;
|
||||
interrupts = <44>;
|
||||
resets = <&tcon_ch0_clk 1>;
|
||||
reset-names = "lcd";
|
||||
clocks = <&ahb_gates 36>,
|
||||
<&tcon_ch0_clk>,
|
||||
<&tcon_ch1_clk>;
|
||||
clock-names = "ahb",
|
||||
"tcon-ch0",
|
||||
"tcon-ch1";
|
||||
clock-output-names = "tcon-pixel-clock";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tcon0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon0_in_be0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&be0_out_tcon0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pwm: pwm@01c20e00 {
|
||||
soc@1c00000 {
|
||||
pwm: pwm@1c20e00 {
|
||||
compatible = "allwinner,sun5i-a13-pwm";
|
||||
reg = <0x01c20e00 0xc>;
|
||||
clocks = <&osc24M>;
|
||||
clocks = <&ccu CLK_HOSC>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
fe0: display-frontend@01e00000 {
|
||||
compatible = "allwinner,sun5i-a13-display-frontend";
|
||||
reg = <0x01e00000 0x20000>;
|
||||
interrupts = <47>;
|
||||
clocks = <&ahb_gates 46>, <&de_fe_clk>,
|
||||
<&dram_gates 25>;
|
||||
clock-names = "ahb", "mod",
|
||||
"ram";
|
||||
resets = <&de_fe_clk>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fe0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
fe0_out_be0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&be0_in_fe0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
be0: display-backend@01e60000 {
|
||||
compatible = "allwinner,sun5i-a13-display-backend";
|
||||
reg = <0x01e60000 0x10000>;
|
||||
clocks = <&ahb_gates 44>, <&de_be_clk>,
|
||||
<&dram_gates 26>;
|
||||
clock-names = "ahb", "mod",
|
||||
"ram";
|
||||
resets = <&de_be_clk>;
|
||||
status = "disabled";
|
||||
|
||||
assigned-clocks = <&de_be_clk>;
|
||||
assigned-clock-rates = <300000000>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
be0_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
be0_in_fe0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&fe0_out_be0>;
|
||||
};
|
||||
};
|
||||
|
||||
be0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
be0_out_tcon0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon0_in_be0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ccu {
|
||||
compatible = "allwinner,sun5i-a13-ccu";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
clock-latency = <244144>; /* 8 32k periods */
|
||||
operating-points = <
|
||||
|
@ -342,34 +116,8 @@
|
|||
432000 1200000
|
||||
>;
|
||||
#cooling-cells = <2>;
|
||||
cooling-min-level = <0>;
|
||||
cooling-max-level = <5>;
|
||||
};
|
||||
|
||||
&pio {
|
||||
compatible = "allwinner,sun5i-a13-pinctrl";
|
||||
|
||||
lcd_rgb666_pins: lcd_rgb666@0 {
|
||||
allwinner,pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7",
|
||||
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15",
|
||||
"PD18", "PD19", "PD20", "PD21", "PD22", "PD23",
|
||||
"PD24", "PD25", "PD26", "PD27";
|
||||
allwinner,function = "lcd0";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
};
|
||||
|
||||
uart1_pins_a: uart1@0 {
|
||||
allwinner,pins = "PE10", "PE11";
|
||||
allwinner,function = "uart1";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
};
|
||||
|
||||
uart1_pins_b: uart1@1 {
|
||||
allwinner,pins = "PG3", "PG4";
|
||||
allwinner,function = "uart1";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -159,23 +159,19 @@
|
|||
|
||||
&pio {
|
||||
usb0_id_pin_chip_pro: usb0-id-pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG2";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
wifi_reg_on_pin_chip_pro: wifi-reg-on-pin@0 {
|
||||
allwinner,pins = "PB10";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins>;
|
||||
pinctrl-0 = <&pwm0_pins>, <&pwm1_pins>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -224,7 +220,7 @@
|
|||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins_a>, <&uart1_cts_rts_pins_a>;
|
||||
pinctrl-0 = <&uart1_pins_b>, <&uart1_cts_rts_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -56,25 +56,39 @@
|
|||
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
serial0 = &uart1;
|
||||
serial1 = &uart3;
|
||||
spi0 = &spi2;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
wifi_reg_on: wifi_reg_on {
|
||||
compatible = "regulator-fixed";
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
status {
|
||||
label = "chip:white:status";
|
||||
gpios = <&axp_gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
|
||||
mmc0_pwrseq: mmc0_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&chip_wifi_reg_on_pin>;
|
||||
reset-gpios = <&pio 2 19 GPIO_ACTIVE_LOW>; /* PC19 */
|
||||
};
|
||||
|
||||
regulator-name = "wifi-reg-on";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&pio 2 19 GPIO_ACTIVE_HIGH>; /* PC19 */
|
||||
enable-active-high;
|
||||
onewire {
|
||||
compatible = "w1-gpio";
|
||||
gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&chip_w1_pin>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -114,6 +128,20 @@
|
|||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
|
@ -134,13 +162,14 @@
|
|||
};
|
||||
|
||||
&mmc0_pins_a {
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <&wifi_reg_on>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&mmc0_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
@ -156,24 +185,24 @@
|
|||
|
||||
&pio {
|
||||
chip_vbus_pin: chip_vbus_pin@0 {
|
||||
allwinner,pins = "PB10";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PB10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
chip_wifi_reg_on_pin: chip_wifi_reg_on_pin@0 {
|
||||
allwinner,pins = "PC19";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PC19";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
chip_id_det_pin: chip_id_det_pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG2";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
chip_w1_pin: chip_w1_pin@0 {
|
||||
pins = "PD2";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -202,17 +231,25 @@
|
|||
regulator-always-on;
|
||||
};
|
||||
|
||||
/*
|
||||
* Both LDO3 and LDO4 are used in parallel to power up the WiFi/BT
|
||||
* Chip.
|
||||
*
|
||||
* If those are not enabled, the SDIO part will not enumerate, and
|
||||
* since there's no way currently to pass DT infos to an SDIO device,
|
||||
* we cannot really do better than this ugly hack for now.
|
||||
*/
|
||||
®_ldo3 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vdd-wifi1";
|
||||
regulator-name = "vcc-wifi-1";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
®_ldo4 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vdd-wifi2";
|
||||
regulator-name = "vcc-wifi-2";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -229,6 +266,12 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&spi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_a>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&tcon0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -246,7 +289,7 @@
|
|||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins_a>,
|
||||
<&uart3_pins_cts_rts_a>;
|
||||
<&uart3_cts_rts_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
|
@ -45,43 +45,3 @@
|
|||
|
||||
#include "sun5i-a13.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
framebuffer@1 {
|
||||
compatible = "allwinner,simple-framebuffer",
|
||||
"simple-framebuffer";
|
||||
allwinner,pipeline = "de_be0-lcd0-tve0";
|
||||
clocks = <&ahb_gates 34>, <&ahb_gates 36>,
|
||||
<&ahb_gates 44>, <&de_be_clk>,
|
||||
<&tcon_ch1_clk>, <&dram_gates 26>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
tve0: tv-encoder@01c0a000 {
|
||||
compatible = "allwinner,sun4i-a10-tv-encoder";
|
||||
reg = <0x01c0a000 0x1000>;
|
||||
clocks = <&ahb_gates 34>;
|
||||
resets = <&tcon_ch0_clk 0>;
|
||||
status = "disabled";
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tve0_in_tcon0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon0_out_tve0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tcon0_out {
|
||||
tcon0_out_tve0: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tve0_in_tcon0>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
*/
|
||||
#include "sunxi-reference-design-tablet.dtsi"
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
|
||||
/ {
|
||||
|
@ -84,6 +85,23 @@
|
|||
};
|
||||
|
||||
&i2c1 {
|
||||
/*
|
||||
* The gsl1680 is rated at 400KHz and it will not work reliable at
|
||||
* 100KHz, this has been confirmed on multiple different q8 tablets.
|
||||
* All other devices on this bus are also rated for 400KHz.
|
||||
*/
|
||||
clock-frequency = <400000>;
|
||||
|
||||
touchscreen: touchscreen {
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; /* EINT11 (PG11) */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ts_power_pin>;
|
||||
power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
|
||||
/* Tablet dts must provide reg and compatible */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pcf8563: rtc@51 {
|
||||
compatible = "nxp,pcf8563";
|
||||
reg = <0x51>;
|
||||
|
@ -92,6 +110,14 @@
|
|||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
};
|
||||
|
@ -101,8 +127,7 @@
|
|||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
|
||||
vmmc-supply = <®_vcc3v0>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
|
||||
cd-inverted;
|
||||
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -112,38 +137,38 @@
|
|||
|
||||
&pio {
|
||||
codec_pa_pin: codec_pa_pin@0 {
|
||||
allwinner,pins = "PG10";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin: mmc0_cd_pin@0 {
|
||||
allwinner,pins = "PG0";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG0";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
ts_power_pin: ts_power_pin {
|
||||
pins = "PB3";
|
||||
function = "gpio_out";
|
||||
drive-strength = <10>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
allwinner,pins = "PG1";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
|
||||
pins = "PG1";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
allwinner,pins = "PG2";
|
||||
allwinner,function = "gpio_in";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||
pins = "PG2";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_pin_a: usb0_vbus_pin@0 {
|
||||
allwinner,pins = "PG12";
|
||||
allwinner,function = "gpio_out";
|
||||
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
pins = "PG12";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
106
include/dt-bindings/clock/sun5i-ccu.h
Normal file
106
include/dt-bindings/clock/sun5i-ccu.h
Normal file
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
* Copyright 2016 Maxime Ripard
|
||||
*
|
||||
* Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_CLK_SUN5I_H_
|
||||
#define _DT_BINDINGS_CLK_SUN5I_H_
|
||||
|
||||
#define CLK_HOSC 1
|
||||
|
||||
#define CLK_PLL_VIDEO0_2X 9
|
||||
|
||||
#define CLK_PLL_VIDEO1_2X 16
|
||||
#define CLK_CPU 17
|
||||
|
||||
#define CLK_AHB_OTG 23
|
||||
#define CLK_AHB_EHCI 24
|
||||
#define CLK_AHB_OHCI 25
|
||||
#define CLK_AHB_SS 26
|
||||
#define CLK_AHB_DMA 27
|
||||
#define CLK_AHB_BIST 28
|
||||
#define CLK_AHB_MMC0 29
|
||||
#define CLK_AHB_MMC1 30
|
||||
#define CLK_AHB_MMC2 31
|
||||
#define CLK_AHB_NAND 32
|
||||
#define CLK_AHB_SDRAM 33
|
||||
#define CLK_AHB_EMAC 34
|
||||
#define CLK_AHB_TS 35
|
||||
#define CLK_AHB_SPI0 36
|
||||
#define CLK_AHB_SPI1 37
|
||||
#define CLK_AHB_SPI2 38
|
||||
#define CLK_AHB_GPS 39
|
||||
#define CLK_AHB_HSTIMER 40
|
||||
#define CLK_AHB_VE 41
|
||||
#define CLK_AHB_TVE 42
|
||||
#define CLK_AHB_LCD 43
|
||||
#define CLK_AHB_CSI 44
|
||||
#define CLK_AHB_HDMI 45
|
||||
#define CLK_AHB_DE_BE 46
|
||||
#define CLK_AHB_DE_FE 47
|
||||
#define CLK_AHB_IEP 48
|
||||
#define CLK_AHB_GPU 49
|
||||
#define CLK_APB0_CODEC 50
|
||||
#define CLK_APB0_SPDIF 51
|
||||
#define CLK_APB0_I2S 52
|
||||
#define CLK_APB0_PIO 53
|
||||
#define CLK_APB0_IR 54
|
||||
#define CLK_APB0_KEYPAD 55
|
||||
#define CLK_APB1_I2C0 56
|
||||
#define CLK_APB1_I2C1 57
|
||||
#define CLK_APB1_I2C2 58
|
||||
#define CLK_APB1_UART0 59
|
||||
#define CLK_APB1_UART1 60
|
||||
#define CLK_APB1_UART2 61
|
||||
#define CLK_APB1_UART3 62
|
||||
#define CLK_NAND 63
|
||||
#define CLK_MMC0 64
|
||||
#define CLK_MMC1 65
|
||||
#define CLK_MMC2 66
|
||||
#define CLK_TS 67
|
||||
#define CLK_SS 68
|
||||
#define CLK_SPI0 69
|
||||
#define CLK_SPI1 70
|
||||
#define CLK_SPI2 71
|
||||
#define CLK_IR 72
|
||||
#define CLK_I2S 73
|
||||
#define CLK_SPDIF 74
|
||||
#define CLK_KEYPAD 75
|
||||
#define CLK_USB_OHCI 76
|
||||
#define CLK_USB_PHY0 77
|
||||
#define CLK_USB_PHY1 78
|
||||
#define CLK_GPS 79
|
||||
#define CLK_DRAM_VE 80
|
||||
#define CLK_DRAM_CSI 81
|
||||
#define CLK_DRAM_TS 82
|
||||
#define CLK_DRAM_TVE 83
|
||||
#define CLK_DRAM_DE_FE 84
|
||||
#define CLK_DRAM_DE_BE 85
|
||||
#define CLK_DRAM_ACE 86
|
||||
#define CLK_DRAM_IEP 87
|
||||
#define CLK_DE_BE 88
|
||||
#define CLK_DE_FE 89
|
||||
#define CLK_TCON_CH0 90
|
||||
|
||||
#define CLK_TCON_CH1 92
|
||||
#define CLK_CSI 93
|
||||
#define CLK_VE 94
|
||||
#define CLK_CODEC 95
|
||||
#define CLK_AVS 96
|
||||
#define CLK_HDMI 97
|
||||
#define CLK_GPU 98
|
||||
|
||||
#define CLK_IEP 100
|
||||
|
||||
#endif /* _DT_BINDINGS_CLK_SUN5I_H_ */
|
32
include/dt-bindings/reset/sun5i-ccu.h
Normal file
32
include/dt-bindings/reset/sun5i-ccu.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Copyright 2016 Maxime Ripard
|
||||
*
|
||||
* Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _RST_SUN5I_H_
|
||||
#define _RST_SUN5I_H_
|
||||
|
||||
#define RST_USB_PHY0 0
|
||||
#define RST_USB_PHY1 1
|
||||
#define RST_GPS 2
|
||||
#define RST_DE_BE 3
|
||||
#define RST_DE_FE 4
|
||||
#define RST_TVE 5
|
||||
#define RST_LCD 6
|
||||
#define RST_CSI 7
|
||||
#define RST_VE 8
|
||||
#define RST_GPU 9
|
||||
#define RST_IEP 10
|
||||
|
||||
#endif /* _RST_SUN5I_H_ */
|
Loading…
Reference in a new issue