mirror of https://gitee.com/openkylin/linux.git
arm64: dts: Amlogic updates for v5.2
Highlights - new board: SEI Robotics 510, based on S905X2 SoC (G12A) - enable more periphearls for S905X2 based boards -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlyejMcACgkQWTcYmtP7 xmV0LQ//TloHVjh3MDKwp6hwVygi9eSIB+n0UP1KyH44Al565+OgWY8PN2lPWJhE 4EpPDHgndJhWCABNVYXvuodStPPvH3qE4aibqdmtDaZP9jWVoAB53ZGyHvGkkAHp wzTlrX1WG2Rl6QI/ggrPU9bKYFponrBQYEyETNCFa3iGQPpmr2diwhZjz/DRbYYK BUUB1iFz5WCuLCviZMyeJipkjeio3Qpqegg2muEm1oUfdqM5loIJMxVND866gU7d /AiXy8Nky/EnapEUjau3pyuQQQOCNZXBsp8btRDaq9JURtft3uXAK3s6tHFQ0+qz mcjTrRdruOB9rgctlP8a5AqYnUx8IGorYlZxlorENZop6zrvOUDYSIKyZ7hapj3h 0rvCz2JB7Lr/nN78pfchNHBDP+MackvJNAZw+zDOEXtNgq81ix4Mf392VAsgHX+6 mC8CPzFeJuanhua+DXVBNtQ3ZNXOH3xozEQnGUwEJL/iZJ4T/vafAx0dl385wMGL m5oqVV4odRsNRcVRQlk7AO/atiBoOhBStPB7E3s90gWHEQXo1P2WKY2vEk05JGy8 tpQ3tOjraxmitzPpr7pSAvLnAxkN+KwHDy55oGOCLdr4G60fuEpZJ5dJzLTDmrKe aaN5Ki/foGufxVMqqpLYaxosmyvbUp3Sn4UHF2jcImL3pPRgTNU= =SkrM -----END PGP SIGNATURE----- Merge tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt arm64: dts: Amlogic updates for v5.2 Highlights - new board: SEI Robotics 510, based on S905X2 SoC (G12A) - enable more periphearls for S905X2 based boards * tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: arm64: dts: meson-g12a: Add CMA reserved memory arm64: dts: meson-g12a-x96-max: Enable BT Module arm64: dts: meson-g12a-x96-max: add regulators arm64: dts: meson-g12a-sei510: add regulators arm64: dts: meson-g12a-x96-max: add uart_AO pinctrl arm64: dts: meson-g12a-sei510: add uart_AO pinctrl arm64: dts: meson-g12a-u200: add uart_AO pinctrl arm64: dts: meson: g12a: Add UART A, B & C nodes and pins arm64: dts: meson: g12a: add reset controller arm64: dts: meson: g12a: add uart_ao_a pinctrl arm64: dts: meson: g12a: add pinctrl support controllers arm64: dts: meson: g12a: Add AO Clock + Reset Controller support arm64: dts: meson-gxm-nexbox-a1: Enable USB arm64: dts: meson: g12a: add efuse arm64: dts: meson: g12a: add secure monitor arm64: dts: meson-gxl-s905d-phicomm-n1: add status LED arm64: dts: meson-g12a: Add AO Secure node arm64: dts: Add SEI Robotics SEI510 Board vendor-prefixes: Add prefix for Shenzhen SEI Robotics Co., Ltd Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
0159225bc9
|
@ -110,6 +110,7 @@ Board compatible values (alphabetically, grouped by SoC):
|
|||
|
||||
- "amlogic,u200" (Meson g12a s905d2)
|
||||
- "amediatech,x96-max" (Meson g12a s905x2)
|
||||
- "seirobotics,sei510" (Meson g12a s905x2)
|
||||
|
||||
Amlogic Meson Firmware registers Interface
|
||||
------------------------------------------
|
||||
|
|
|
@ -353,6 +353,7 @@ sandisk Sandisk Corporation
|
|||
sbs Smart Battery System
|
||||
schindler Schindler
|
||||
seagate Seagate Technology PLC
|
||||
seirobotics Shenzhen SEI Robotics Co., Ltd
|
||||
semtech Semtech Corporation
|
||||
sensirion Sensirion AG
|
||||
sff Small Form Factor Committee
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 BayLibre SAS. All rights reserved.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "meson-g12a.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
|
||||
/ {
|
||||
compatible = "seirobotics,sei510", "amlogic,g12a";
|
||||
model = "SEI Robotics SEI510";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart_AO;
|
||||
};
|
||||
|
||||
ao_5v: regulator-ao_5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "AO_5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&dc_in>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
dc_in: regulator-dc_in {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "DC_IN";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
emmc_1v8: regulator-emmc_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "EMMC_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&vddao_3v3>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x40000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
/* TEE Reserved Memory */
|
||||
bl32_reserved: bl32@5000000 {
|
||||
reg = <0x0 0x05300000 0x0 0x2000000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
vddao_3v3: regulator-vddao_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDAO_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&dc_in>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vddao_3v3_t: regultor-vddao_3v3_t {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDAO_3V3_T";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vddao_3v3>;
|
||||
gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
vddio_ao1v8: regulator-vddio_ao1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDIO_AO1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&vddao_3v3>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&uart_AO {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart_ao_a_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
|
@ -25,5 +25,7 @@ memory@0 {
|
|||
|
||||
&uart_AO {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart_ao_a_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
/dts-v1/;
|
||||
|
||||
#include "meson-g12a.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
|
||||
/ {
|
||||
compatible = "amediatech,x96-max", "amlogic,u200", "amlogic,g12a";
|
||||
|
@ -21,8 +23,87 @@ memory@0 {
|
|||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x40000000>;
|
||||
};
|
||||
|
||||
flash_1v8: regulator-flash_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "FLASH_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&vcc_3v3>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dc_in: regulator-dc_in {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "DC_IN";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_1v8: regulator-vcc_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&vcc_3v3>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_3v3: regulator-vcc_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vddao_3v3>;
|
||||
regulator-always-on;
|
||||
/* FIXME: actually controlled by VDDCPU_B_EN */
|
||||
};
|
||||
|
||||
vcc_5v: regulator-vcc_5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&dc_in>;
|
||||
|
||||
gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
|
||||
enable-active-low;
|
||||
};
|
||||
|
||||
vddao_1v8: regulator-vddao_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDAO_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&vddao_3v3>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vddao_3v3: regulator-vddao_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDAO_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&dc_in>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&uart_A {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
|
||||
pinctrl-names = "default";
|
||||
uart-has-rtscts;
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm43438-bt";
|
||||
shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart_AO {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart_ao_a_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/clock/g12a-clkc.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
|
@ -55,6 +56,14 @@ l2: l2-cache0 {
|
|||
};
|
||||
};
|
||||
|
||||
efuse: efuse {
|
||||
compatible = "amlogic,meson-gxbb-efuse";
|
||||
clocks = <&clkc CLKID_EFUSE>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
|
@ -70,6 +79,18 @@ secmon_reserved: secmon@5000000 {
|
|||
reg = <0x0 0x05000000 0x0 0x300000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
linux,cma {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
size = <0x0 0x10000000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
linux,cma-default;
|
||||
};
|
||||
};
|
||||
|
||||
sm: secure-monitor {
|
||||
compatible = "amlogic,meson-gxbb-sm";
|
||||
};
|
||||
|
||||
soc {
|
||||
|
@ -91,6 +112,74 @@ periphs: bus@34400 {
|
|||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
|
||||
|
||||
periphs_pinctrl: pinctrl@40 {
|
||||
compatible = "amlogic,meson-g12a-periphs-pinctrl";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gpio: bank@40 {
|
||||
reg = <0x0 0x40 0x0 0x4c>,
|
||||
<0x0 0xe8 0x0 0x18>,
|
||||
<0x0 0x120 0x0 0x18>,
|
||||
<0x0 0x2c0 0x0 0x40>,
|
||||
<0x0 0x340 0x0 0x1c>;
|
||||
reg-names = "gpio",
|
||||
"pull",
|
||||
"pull-enable",
|
||||
"mux",
|
||||
"ds";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&periphs_pinctrl 0 0 86>;
|
||||
};
|
||||
|
||||
uart_a_pins: uart-a {
|
||||
mux {
|
||||
groups = "uart_a_tx",
|
||||
"uart_a_rx";
|
||||
function = "uart_a";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
uart_a_cts_rts_pins: uart-a-cts-rts {
|
||||
mux {
|
||||
groups = "uart_a_cts",
|
||||
"uart_a_rts";
|
||||
function = "uart_a";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
uart_b_pins: uart-b {
|
||||
mux {
|
||||
groups = "uart_b_tx",
|
||||
"uart_b_rx";
|
||||
function = "uart_b";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
uart_c_pins: uart-c {
|
||||
mux {
|
||||
groups = "uart_c_tx",
|
||||
"uart_c_rx";
|
||||
function = "uart_c";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
uart_c_cts_rts_pins: uart-c-cts-rts {
|
||||
mux {
|
||||
groups = "uart_c_cts",
|
||||
"uart_c_rts";
|
||||
function = "uart_c";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hiu: bus@3c000 {
|
||||
|
@ -122,6 +211,66 @@ aobus: bus@ff800000 {
|
|||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
|
||||
|
||||
rti: sys-ctrl@0 {
|
||||
compatible = "amlogic,meson-gx-ao-sysctrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x0 0x0 0x0 0x100>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0x0 0x0 0x100>;
|
||||
|
||||
clkc_AO: clock-controller {
|
||||
compatible = "amlogic,meson-g12a-aoclkc";
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
clocks = <&xtal>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "mpeg-clk";
|
||||
};
|
||||
|
||||
ao_pinctrl: pinctrl@14 {
|
||||
compatible = "amlogic,meson-g12a-aobus-pinctrl";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gpio_ao: bank@14 {
|
||||
reg = <0x0 0x14 0x0 0x8>,
|
||||
<0x0 0x1c 0x0 0x8>,
|
||||
<0x0 0x24 0x0 0x14>;
|
||||
reg-names = "mux",
|
||||
"ds",
|
||||
"gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&ao_pinctrl 0 0 15>;
|
||||
};
|
||||
|
||||
uart_ao_a_pins: uart-a-ao {
|
||||
mux {
|
||||
groups = "uart_ao_a_tx",
|
||||
"uart_ao_a_rx";
|
||||
function = "uart_ao_a";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
uart_ao_a_cts_rts_pins: uart-ao-a-cts-rts {
|
||||
mux {
|
||||
groups = "uart_ao_a_cts",
|
||||
"uart_ao_a_rts";
|
||||
function = "uart_ao_a";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sec_AO: ao-secure@140 {
|
||||
compatible = "amlogic,meson-gx-ao-secure", "syscon";
|
||||
reg = <0x0 0x140 0x0 0x140>;
|
||||
amlogic,has-chip-id;
|
||||
};
|
||||
|
||||
uart_AO: serial@3000 {
|
||||
compatible = "amlogic,meson-gx-uart",
|
||||
"amlogic,meson-ao-uart";
|
||||
|
@ -163,10 +312,44 @@ cbus: bus@ffd00000 {
|
|||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
|
||||
|
||||
reset: reset-controller@1004 {
|
||||
compatible = "amlogic,meson-g12a-reset",
|
||||
"amlogic,meson-axg-reset";
|
||||
reg = <0x0 0x1004 0x0 0x9c>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
clk_msr: clock-measure@18000 {
|
||||
compatible = "amlogic,meson-g12a-clk-measure";
|
||||
reg = <0x0 0x18000 0x0 0x10>;
|
||||
};
|
||||
|
||||
uart_C: serial@22000 {
|
||||
compatible = "amlogic,meson-gx-uart";
|
||||
reg = <0x0 0x22000 0x0 0x18>;
|
||||
interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart_B: serial@23000 {
|
||||
compatible = "amlogic,meson-gx-uart";
|
||||
reg = <0x0 0x23000 0x0 0x18>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart_A: serial@24000 {
|
||||
compatible = "amlogic,meson-gx-uart";
|
||||
reg = <0x0 0x24000 0x0 0x18>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -14,6 +14,16 @@ / {
|
|||
cvbs-connector {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
status {
|
||||
label = "n1:white:status";
|
||||
gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cvbs_vdac_port {
|
||||
|
|
|
@ -178,3 +178,7 @@ &uart_AO {
|
|||
pinctrl-0 = <&uart_ao_a_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue