arm64: dts: amlogic updates for v5.11

- AXG SoCs: add/enable PCIe & USB OTG support
 - AXG SoCs: add MIPI DSI support
 - Khadas VIM: add RTC
 - several cleanups & fixups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl/GxC4ACgkQWTcYmtP7
 xmUbdA/+IA2JJZg9q2u0xJmePsft6QTwLqIiDRp970jfooVSLqSPz7xYhdlWiXR5
 Gxzyv6Kyd0Nw/G16Ffl6sPs30/lMI8OYsR/imOqc8SYTRvUE/4gy0xXEd8aLWSU4
 2g4B8k985WIEeRNz/788SoGvtpA+zXMmS7EHNczoyQaihfywE56fYaM/TjT+pi+a
 prrCxdiRCX8DGOjB6ynR8efQyguUxRhOKx5sJZnaymY5NhaYl0ZUjRNR8iqhkFj0
 SLSGghTal5PcweVSDWMuZbtxaCtf6v3dnZ9ohzS0w25U7xnNoVVQX/OMjA19ZLDt
 SX2QcS5fCr1BcTfSxsw8zXrbPAqGlrb1PlWdf9uneHf02ze38P7FZSQFhyjzM+1v
 L9aZgSbvg4jJ/H/p8HFyxuf3ynQMzadRkhcfGo5sUfGWDgwG6189tNjpTPD3BSub
 CguzUOSuIfml/8KnS0S5aI0NCXyESprHfNwZQyvz6FdgXxdtF38twwKgpmUHUoxA
 uw5bzpJgrpF7PM9OpmP/yCfETj4EQ++hQyosJNeAweIrt+VIkQ/OW4SZ5dBrwB3k
 R0rCU80E5gpNBrmmY7AvbjCv91DH2xzxz7/w2FZmt5vs5KBxRCPnCkeRwor0n+sT
 asQ0YMUoMnJqCbay8ditaARhCvNQCfNe8w+KDrr2MqnCi/PLYLw=
 =XtmV
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dts: amlogic updates for v5.11
- AXG SoCs: add/enable PCIe & USB OTG support
- AXG SoCs: add MIPI DSI support
- Khadas VIM: add RTC
- several cleanups & fixups

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson-sm1: fix typo in opp table
  arm64: dts: meson: add KHAMSIN IR remote node to SML5442TW
  arm64: dts: meson: update the Khadas VIM3/3L LED bindings
  arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
  arm64: dts: meson: add rtc aliases to meson-khadas-vim3.dtsi
  arm64: dts: meson: Add capacity-dmips-mhz attributes to GXM
  arm64: dts: meson-axg-s400: enable PCIe M.2 Key E slots
  arm64: dts: meson-axg: add PCIe nodes
  arm64: dts: meson-axg: add MIPI DSI PHY nodes
  arm64: dts: meson-axg: add PWRC node
  arm64: dts: meson: enable rtc node on Khadas VIM1/VIM2 boards
  dt-bindings: clk: axg-clkc: add MIPI DSI Host clock binding
  dt-bindings: clk: axg-clkc: add Video Clocks
  arm64: dts: meson: add watchdog to g12-common dtsi
  arm64: dts: meson: remove empty lines from aml-s905x-cc v2 dts

Link: https://lore.kernel.org/r/7heek9jgox.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2020-12-08 23:56:06 +01:00
commit 1e3e7ca547
11 changed files with 201 additions and 15 deletions

View File

@ -441,6 +441,16 @@
status = "okay";
};
&pcieA {
reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>;
status = "okay";
};
&pcieB {
reset-gpios = <&gpio GPIOZ_10 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
status = "okay";
};
&pwm_ab {
status = "okay";
pinctrl-0 = <&pwm_a_x20_pins>;

View File

@ -12,6 +12,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
#include <dt-bindings/reset/amlogic,meson-axg-reset.h>
#include <dt-bindings/power/meson-axg-power.h>
/ {
compatible = "amlogic,meson-axg";
@ -171,6 +172,58 @@
#size-cells = <2>;
ranges;
pcieA: pcie@f9800000 {
compatible = "amlogic,axg-pcie", "snps,dw-pcie";
reg = <0x0 0xf9800000 0x0 0x400000>,
<0x0 0xff646000 0x0 0x2000>,
<0x0 0xf9f00000 0x0 0x100000>;
reg-names = "elbi", "cfg", "config";
interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0>;
interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
bus-range = <0x0 0xff>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
ranges = <0x82000000 0 0xf9c00000 0x0 0xf9c00000 0 0x00300000>;
clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_A>, <&clkc CLKID_PCIE_CML_EN0>;
clock-names = "general", "pclk", "port";
resets = <&reset RESET_PCIE_A>, <&reset RESET_PCIE_APB>;
reset-names = "port", "apb";
num-lanes = <1>;
phys = <&pcie_phy>;
phy-names = "pcie";
status = "disabled";
};
pcieB: pcie@fa000000 {
compatible = "amlogic,axg-pcie", "snps,dw-pcie";
reg = <0x0 0xfa000000 0x0 0x400000>,
<0x0 0xff648000 0x0 0x2000>,
<0x0 0xfa400000 0x0 0x100000>;
reg-names = "elbi", "cfg", "config";
interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0>;
interrupt-map = <0 0 0 0 &gic GIC_SPI 169 IRQ_TYPE_EDGE_RISING>;
bus-range = <0x0 0xff>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
ranges = <0x82000000 0 0xfa500000 0x0 0xfa500000 0 0x00300000>;
clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_B>, <&clkc CLKID_PCIE_CML_EN1>;
clock-names = "general", "pclk", "port";
resets = <&reset RESET_PCIE_B>, <&reset RESET_PCIE_APB>;
reset-names = "port", "apb";
num-lanes = <1>;
phys = <&pcie_phy>;
phy-names = "pcie";
status = "disabled";
};
usb: usb@ffe09080 {
compatible = "amlogic,meson-axg-usb-ctrl";
reg = <0x0 0xffe09080 0x0 0x20>;
@ -229,9 +282,19 @@
tx-fifo-depth = <2048>;
resets = <&reset RESET_ETHERNET>;
reset-names = "stmmaceth";
power-domains = <&pwrc PWRC_AXG_ETHERNET_MEM_ID>;
status = "disabled";
};
pcie_phy: phy@ff644000 {
compatible = "amlogic,axg-pcie-phy";
reg = <0x0 0xff644000 0x0 0x1c>;
resets = <&reset RESET_PCIE_PHY>;
phys = <&mipi_pcie_analog_dphy>;
phy-names = "analog";
#phy-cells = <0>;
};
pdm: audio-controller@ff632000 {
compatible = "amlogic,axg-pdm";
reg = <0x0 0xff632000 0x0 0x34>;
@ -1159,6 +1222,52 @@
clocks = <&xtal>;
clock-names = "xtal";
};
pwrc: power-controller {
compatible = "amlogic,meson-axg-pwrc";
#power-domain-cells = <1>;
amlogic,ao-sysctrl = <&sysctrl_AO>;
resets = <&reset RESET_VIU>,
<&reset RESET_VENC>,
<&reset RESET_VCBUS>,
<&reset RESET_VENCL>,
<&reset RESET_VID_LOCK>;
reset-names = "viu", "venc", "vcbus",
"vencl", "vid_lock";
clocks = <&clkc CLKID_VPU>,
<&clkc CLKID_VAPB>;
clock-names = "vpu", "vapb";
/*
* VPU clocking is provided by two identical clock paths
* VPU_0 and VPU_1 muxed to a single clock by a glitch
* free mux to safely change frequency while running.
* Same for VAPB but with a final gate after the glitch free mux.
*/
assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
<&clkc CLKID_VPU_0>,
<&clkc CLKID_VPU>, /* Glitch free mux */
<&clkc CLKID_VAPB_0_SEL>,
<&clkc CLKID_VAPB_0>,
<&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
assigned-clock-parents = <&clkc CLKID_FCLK_DIV4>,
<0>, /* Do Nothing */
<&clkc CLKID_VPU_0>,
<&clkc CLKID_FCLK_DIV4>,
<0>, /* Do Nothing */
<&clkc CLKID_VAPB_0>;
assigned-clock-rates = <0>, /* Do Nothing */
<250000000>,
<0>, /* Do Nothing */
<0>, /* Do Nothing */
<250000000>,
<0>; /* Do Nothing */
};
mipi_pcie_analog_dphy: phy {
compatible = "amlogic,axg-mipi-pcie-analog-phy";
#phy-cells = <0>;
status = "disabled";
};
};
};
@ -1171,6 +1280,19 @@
#mbox-cells = <1>;
};
mipi_dphy: phy@ff640000 {
compatible = "amlogic,axg-mipi-dphy";
reg = <0x0 0xff640000 0x0 0x100>;
clocks = <&clkc CLKID_MIPI_DSI_PHY>;
clock-names = "pclk";
resets = <&reset RESET_MIPI_PHY>;
reset-names = "phy";
phys = <&mipi_pcie_analog_dphy>;
phy-names = "analog";
#phy-cells = <0>;
status = "disabled";
};
audio: bus@ff642000 {
compatible = "simple-bus";
reg = <0x0 0xff642000 0x0 0x2000>;

View File

@ -2183,6 +2183,12 @@
amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
};
watchdog: wdt@f0d0 {
compatible = "amlogic,meson-gxbb-wdt";
reg = <0x0 0xf0d0 0x0 0x10>;
clocks = <&xtal>;
};
spicc0: spi@13000 {
compatible = "amlogic,meson-g12a-spicc";
reg = <0x0 0x13000 0x0 0x44>;

View File

@ -63,6 +63,10 @@
pinctrl-names = "default";
};
&ir {
linux,rc-map-name = "rc-khamsin";
};
/* This is connected to the Bluetooth module: */
&uart_A {
status = "okay";

View File

@ -97,8 +97,7 @@
pinctrl-names = "default";
rtc: rtc@51 {
/* has to be enabled manually when a battery is connected: */
status = "disabled";
status = "okay";
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;

View File

@ -84,7 +84,6 @@
regulator-always-on;
};
vcck: regulator-vcck {
compatible = "regulator-fixed";
regulator-name = "VCCK";
@ -124,7 +123,6 @@
regulator-always-on;
};
vddio_card: regulator-vddio-card {
compatible = "regulator-gpio";
regulator-name = "VDDIO_CARD";
@ -195,7 +193,6 @@
};
};
&aiu {
status = "okay";
};
@ -207,7 +204,6 @@
hdmi-phandle = <&hdmi_tx>;
};
&ethmac {
status = "okay";
};

View File

@ -228,8 +228,7 @@
pinctrl-names = "default";
rtc: rtc@51 {
/* has to be enabled manually when a battery is connected: */
status = "disabled";
status = "okay";
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
@ -341,7 +340,7 @@
#size-cells = <1>;
compatible = "winbond,w25q16", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <3000000>;
spi-max-frequency = <104000000>;
};
};

View File

@ -42,11 +42,28 @@
};
};
cpu0: cpu@0 {
capacity-dmips-mhz = <1024>;
};
cpu1: cpu@1 {
capacity-dmips-mhz = <1024>;
};
cpu2: cpu@2 {
capacity-dmips-mhz = <1024>;
};
cpu3: cpu@3 {
capacity-dmips-mhz = <1024>;
};
cpu4: cpu@100 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x0 0x100>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
next-level-cache = <&l2>;
clocks = <&scpi_dvfs 1>;
#cooling-cells = <2>;
@ -57,6 +74,7 @@
compatible = "arm,cortex-a53";
reg = <0x0 0x101>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
next-level-cache = <&l2>;
clocks = <&scpi_dvfs 1>;
#cooling-cells = <2>;
@ -67,6 +85,7 @@
compatible = "arm,cortex-a53";
reg = <0x0 0x102>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
next-level-cache = <&l2>;
clocks = <&scpi_dvfs 1>;
#cooling-cells = <2>;
@ -77,6 +96,7 @@
compatible = "arm,cortex-a53";
reg = <0x0 0x103>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
next-level-cache = <&l2>;
clocks = <&scpi_dvfs 1>;
#cooling-cells = <2>;

View File

@ -6,6 +6,7 @@
*/
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/meson-g12a-gpio.h>
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
@ -13,6 +14,8 @@
aliases {
serial0 = &uart_AO;
ethernet0 = &ethmac;
rtc0 = &rtc;
rtc1 = &vrtc;
};
chosen {
@ -40,14 +43,16 @@
leds {
compatible = "gpio-leds";
led-white {
label = "vim3:white:sys";
white {
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
led-red {
label = "vim3:red";
red {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio_expander 5 GPIO_ACTIVE_HIGH>;
};
};
@ -330,7 +335,7 @@
#gpio-cells = <2>;
};
rtc@51 {
rtc: rtc@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;

View File

@ -130,7 +130,7 @@
opp-microvolt = <790000>;
};
opp-1512000000 {
opp-1500000000 {
opp-hz = /bits/ 64 <1500000000>;
opp-microvolt = <800000>;
};

View File

@ -72,5 +72,30 @@
#define CLKID_PCIE_CML_EN1 80
#define CLKID_MIPI_ENABLE 81
#define CLKID_GEN_CLK 84
#define CLKID_VPU_0_SEL 92
#define CLKID_VPU_0 93
#define CLKID_VPU_1_SEL 95
#define CLKID_VPU_1 96
#define CLKID_VPU 97
#define CLKID_VAPB_0_SEL 99
#define CLKID_VAPB_0 100
#define CLKID_VAPB_1_SEL 102
#define CLKID_VAPB_1 103
#define CLKID_VAPB_SEL 104
#define CLKID_VAPB 105
#define CLKID_VCLK 106
#define CLKID_VCLK2 107
#define CLKID_VCLK_DIV1 122
#define CLKID_VCLK_DIV2 123
#define CLKID_VCLK_DIV4 124
#define CLKID_VCLK_DIV6 125
#define CLKID_VCLK_DIV12 126
#define CLKID_VCLK2_DIV1 127
#define CLKID_VCLK2_DIV2 128
#define CLKID_VCLK2_DIV4 129
#define CLKID_VCLK2_DIV6 130
#define CLKID_VCLK2_DIV12 131
#define CLKID_CTS_ENCL 133
#define CLKID_VDIN_MEAS 136
#endif /* __AXG_CLKC_H */