Amlogic ARM64 DT changes for v6.11:

- New Boards:
   - OSMC Vero 4K
   - Dreambox One & Two
   - GXLX/S905L p271 Reference Boards
 - Amlogic A4 Power Domain
 - A bunch of DT fixes to allmost solve all remaining check errors
 - Amlogic S4 PWM
 - Fixes for:
   - SM1 SPDIF compatibles
   - Bump G12 SPDIF driver strength
   - Add power domain to HDMI TX
   - Correct HDMI TX clocks
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmaCaVoACgkQd9zb2sjI
 SdH12Q//cjh5uKcQ0vwxQUCXRViQA2oTQA+YsAiI7CW3/e3iZOTtgTdf/vlp7eKt
 fboSw8RDbzI0B+Jr/jyi1gToyNuqlttmGAsBmBe0ETdTRG2wtd7Im+RVPS0shy0/
 GqDBemOpyXj08Vn/rB48g7YJGGOXfutvpK1/MPnBM0q+lYuy+gM6WatgVB1sZL4p
 mMY6feEwdemfWhXP3oX4HSrvj6AuuI/VVfbreueY0CRfieyWTDGLllsnEeBucU7V
 zm10iLG3ufalUiWMzswOSEMQUeqaA2OG8OWEKI7ie+hWcwJDlBBv3m5xSvVLd14J
 RqXwkeKTY1vT4ROi655yY70eZ5xU9/yb+C9QjgkG8ox6RKl2CI9qOsyhrPZysBx6
 CIY6C8qGw9hpJn9Yc2lXRqnJMUVK+zGujU/nAfopVAQ3W0r2xUJwi7XhWDFyQYG/
 lOo5pWf7mB688olngd2pHjhWlMEEJxniVtRpyDD9AInJ+90BB55bKhA0OXYOfBkn
 gxCa77wKjAqc6Rgib5mJ36ELy/WsBuIoHkDEhwxviSjnWqUN1VJwk74aTbvkyoSb
 Uphan5bjGVt2SRbW290M6bIUFiSz+Wg+CadnSdpoBzr5gRoFeJzAWZVuTwL4IWX4
 HFmvRI2o8ShZE0YmsbvbLF22XzaZxZ3lyEBo+HzZyUbOd63SuKE=
 =/Qxt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmaCtFIACgkQYKtH/8kJ
 Uifl+xAArmGlq94Rm2y6RMy52qiV3C2kPV+JaLW3jSGXhtV3yQwUN2yFZeRMq3qc
 VNF/TOM4OJc848J63BztnvmP2uvHWdCrkU9AU8c5OR0zZa5GkiujFtOPE2cCUe2r
 9eiyxRbShhS/aO5mvOiL2bSmt3vg1To+rBBC5olUGgpYcfPEK+652ly8hsgLdBBc
 8okcCqsreNaLHUmaV+Q1SOFsQX/6nGKTO33BV8RDVper6VHF5HKlSwh7bc2uweyd
 iSWzYwisF5Z5SlTN10YRAt67eNBLjQGr5plshks604JO3JxeR8oTVzYiLY4EnO+l
 Xf2e3XVBBadmb9CAKiqxlRVFSwYBI7CeY6DTAl7dYDi0eLq7bnP3BB3u6Zc5MszX
 AuKLw635oTY8+BtFN0NWpl2U0Pkm0+2d/ebenaiEpODZMmMX57/+Nb/mo3xIvLJN
 XB8OFQJWb0I8gK9kMRz6bprVdf3SWn28H/quJSc152EjTrXIzT/lrMgGaiNAwR+W
 Tq2AyX/nYTHoDrd1vs8kqo9ncGghR4flb57l0FnxWj/qsQrjP8zEaNBn8jJmmXhX
 DAS2pjiPJpp1PyrI30sY80oyn/JGLZ2pcJFl4X19lGaHNpfH6CGTjiI/23ploZzT
 MDz70J/c7FRxbDM7iX7mqBha/hDa5453Xs47PPTIHbdlTvFo7R4=
 =jZg+
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM64 DT changes for v6.11:
- New Boards:
  - OSMC Vero 4K
  - Dreambox One & Two
  - GXLX/S905L p271 Reference Boards
- Amlogic A4 Power Domain
- A bunch of DT fixes to allmost solve all remaining check errors
- Amlogic S4 PWM
- Fixes for:
  - SM1 SPDIF compatibles
  - Bump G12 SPDIF driver strength
  - Add power domain to HDMI TX
  - Correct HDMI TX clocks

* tag 'amlogic-arm64-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: (32 commits)
  arm64: dts: amlogic: setup hdmi system clock
  arm64: dts: amlogic: gx: correct hdmi clocks
  arm64: dts: amlogic: Add Amlogic S4 PWM
  arm64: dts: amlogic: add power domain to hdmitx
  arm64: dts: amlogic: g12: bump spdif output drive strength
  arm64: dts: amlogic: sm1: fix spdif compatibles
  arm64: dts: amlogic: ad402: fix thermal zone node name
  arm64: dts: meson: add initial support for Dreambox One/Two
  dt-bindings: arm: amlogic: add support for Dreambox One/Two
  dt-bindings: add dream vendor prefix
  arm64: dts: meson: add support for OSMC Vero 4K
  dt-bindings: arm: amlogic: add OSMC Vero 4K
  arm64: dts: amlogic: gxbb-odroidc2: fix invalid reset-gpio property
  arm64: dts: amlogic: a1: drop the invalid reset-name for usb@fe004400
  arm64: dts: amlogic: a1: use correct node name for mmc controller
  arm64: dts: amlogic: c3: use correct compatible for gpio_intc node
  arm64: dts: amlogic: axg: fix tdm audio-controller clock order
  arm64: dts: amlogic: g12a-u200: add missing AVDD-supply to acodec
  arm64: dts: amlogic: g12a-u200: drop invalid sound-dai-cells
  arm64: dts: amlogic: sm1: fix tdm controllers compatible
  ...

Link: https://lore.kernel.org/r/7f71e76c-c793-429a-b0ed-7296553a3eff@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2024-07-01 15:51:10 +02:00
commit 35b94a99fc
25 changed files with 1048 additions and 276 deletions

View File

@ -91,6 +91,7 @@ properties:
- libretech,aml-s905x-cc
- libretech,aml-s905x-cc-v2
- nexbox,a95x
- osmc,vero4k
- const: amlogic,s905x
- const: amlogic,meson-gxl
@ -107,6 +108,13 @@ properties:
- const: amlogic,s905d
- const: amlogic,meson-gxl
- description: Boards with the Amlogic Meson GXLX S905L SoC
items:
- enum:
- amlogic,p271
- const: amlogic,s905l
- const: amlogic,meson-gxlx
- description: Boards with the Amlogic Meson GXM S912 SoC
items:
- enum:
@ -169,6 +177,8 @@ properties:
- azw,gtking
- azw,gtking-pro
- bananapi,bpi-m2s
- dream,dreambox-one
- dream,dreambox-two
- hardkernel,odroid-go-ultra
- hardkernel,odroid-n2
- hardkernel,odroid-n2l

View File

@ -20,6 +20,7 @@ properties:
enum:
- amlogic,meson-a1-pwrc
- amlogic,meson-s4-pwrc
- amlogic,a4-pwrc
- amlogic,c3-pwrc
- amlogic,t7-pwrc

View File

@ -396,6 +396,8 @@ patternProperties:
description: DPTechnics
"^dragino,.*":
description: Dragino Technology Co., Limited
"^dream,.*":
description: Dream Property GmbH
"^ds,.*":
description: DaSheng, Inc.
"^dserve,.*":

View File

@ -21,6 +21,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3-ts050.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-mnt-reform2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-dreambox-one.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-dreambox-two.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
@ -62,6 +64,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-vero4k.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxlx-s905l-p271.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-gt1-ultimate.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-mecool-kiii-pro.dtb

View File

@ -4,6 +4,7 @@
*/
#include "amlogic-a4-common.dtsi"
#include <dt-bindings/power/amlogic,a4-pwrc.h>
/ {
cpus {
#address-cells = <2>;
@ -37,4 +38,13 @@
enable-method = "psci";
};
};
sm: secure-monitor {
compatible = "amlogic,meson-gxbb-sm";
pwrc: power-controller {
compatible = "amlogic,a4-pwrc";
#power-domain-cells = <1>;
};
};
};

View File

@ -111,8 +111,7 @@
};
gpio_intc: interrupt-controller@4080 {
compatible = "amlogic,meson-gpio-intc",
"amlogic,c3-gpio-intc";
compatible = "amlogic,c3-gpio-intc", "amlogic,meson-gpio-intc";
reg = <0x0 0x4080 0x0 0x0020>;
interrupt-controller;
#interrupt-cells = <2>;

View File

@ -7,6 +7,7 @@
/dts-v1/;
#include "meson-a1.dtsi"
#include <dt-bindings/thermal/thermal.h>
/ {
compatible = "amlogic,ad402", "amlogic,a1";
@ -83,6 +84,50 @@
vin-supply = <&vddao_3v3>;
regulator-always-on;
};
thermal-zones {
soc_thermal: soc-thermal {
polling-delay = <1000>;
polling-delay-passive = <100>;
sustainable-power = <130>;
thermal-sensors = <&cpu_temp>;
trips {
soc_passive: soc-passive {
temperature = <70000>;
hysteresis = <2000>;
type = "passive";
};
soc_hot: soc-hot {
temperature = <85000>;
hysteresis = <5000>;
type = "hot";
};
soc_critical: soc-critical {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
soc_cooling_maps: cooling-maps {
map0 {
trip = <&soc_passive>;
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
map1 {
trip = <&soc_hot>;
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
};
};
/* Bluetooth HCI H4 */

View File

@ -28,6 +28,7 @@
reg = <0x0 0x0>;
enable-method = "psci";
next-level-cache = <&l2>;
#cooling-cells = <2>;
};
cpu1: cpu@1 {
@ -36,6 +37,7 @@
reg = <0x0 0x1>;
enable-method = "psci";
next-level-cache = <&l2>;
#cooling-cells = <2>;
};
l2: l2-cache0 {
@ -398,6 +400,17 @@
power-domains = <&pwrc PWRC_USB_ID>;
};
cpu_temp: temperature-sensor@4c00 {
compatible = "amlogic,a1-cpu-thermal";
reg = <0x0 0x4c00 0x0 0x50>;
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clkc_periphs CLKID_TS>;
assigned-clocks = <&clkc_periphs CLKID_TS>;
assigned-clock-rates = <500000>;
#thermal-sensor-cells = <0>;
amlogic,ao-secure = <&sec_AO>;
};
hwrng: rng@5118 {
compatible = "amlogic,meson-rng";
reg = <0x0 0x5118 0x0 0x4>;
@ -419,7 +432,7 @@
clock-names = "fixpll_in", "hifipll_in";
};
sd_emmc: sd@10000 {
sd_emmc: mmc@10000 {
compatible = "amlogic,meson-axg-mmc";
reg = <0x0 0x10000 0x0 0x800>;
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
@ -453,7 +466,6 @@
assigned-clocks = <&clkc_periphs CLKID_USB_BUS>;
assigned-clock-rates = <64000000>;
resets = <&reset RESET_USBCTRL>;
reset-name = "usb_ctrl";
dr_mode = "otg";

View File

@ -25,10 +25,10 @@
compatible = "amlogic,axg-tdm-iface";
#sound-dai-cells = <0>;
sound-name-prefix = "TDM_A";
clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
<&clkc_audio AUD_CLKID_MST_A_SCLK>,
<&clkc_audio AUD_CLKID_MST_A_LRCLK>;
clock-names = "mclk", "sclk", "lrclk";
clocks = <&clkc_audio AUD_CLKID_MST_A_SCLK>,
<&clkc_audio AUD_CLKID_MST_A_LRCLK>,
<&clkc_audio AUD_CLKID_MST_A_MCLK>;
clock-names = "sclk", "lrclk", "mclk";
status = "disabled";
};
@ -36,10 +36,10 @@
compatible = "amlogic,axg-tdm-iface";
#sound-dai-cells = <0>;
sound-name-prefix = "TDM_B";
clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
<&clkc_audio AUD_CLKID_MST_B_SCLK>,
<&clkc_audio AUD_CLKID_MST_B_LRCLK>;
clock-names = "mclk", "sclk", "lrclk";
clocks = <&clkc_audio AUD_CLKID_MST_B_SCLK>,
<&clkc_audio AUD_CLKID_MST_B_LRCLK>,
<&clkc_audio AUD_CLKID_MST_B_MCLK>;
clock-names = "sclk", "lrclk", "mclk";
status = "disabled";
};
@ -47,10 +47,10 @@
compatible = "amlogic,axg-tdm-iface";
#sound-dai-cells = <0>;
sound-name-prefix = "TDM_C";
clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
<&clkc_audio AUD_CLKID_MST_C_SCLK>,
<&clkc_audio AUD_CLKID_MST_C_LRCLK>;
clock-names = "mclk", "sclk", "lrclk";
clocks = <&clkc_audio AUD_CLKID_MST_C_SCLK>,
<&clkc_audio AUD_CLKID_MST_C_LRCLK>,
<&clkc_audio AUD_CLKID_MST_C_MCLK>;
clock-names = "sclk", "lrclk", "mclk";
status = "disabled";
};

View File

@ -215,6 +215,11 @@
#sound-dai-cells = <0>;
status = "disabled";
assigned-clocks = <&clkc CLKID_HDMI_SEL>,
<&clkc CLKID_HDMI>;
assigned-clock-parents = <&xtal>, <0>;
assigned-clock-rates = <0>, <24000000>;
/* VPU VENC Input */
hdmi_tx_venc_port: port@0 {
reg = <0>;
@ -987,7 +992,7 @@
mux {
groups = "spdif_out_h";
function = "spdif_out";
drive-strength-microamp = <500>;
drive-strength-microamp = <3000>;
bias-disable;
};
};
@ -996,7 +1001,7 @@
mux {
groups = "spdif_out_a11";
function = "spdif_out";
drive-strength-microamp = <500>;
drive-strength-microamp = <3000>;
bias-disable;
};
};
@ -1005,7 +1010,7 @@
mux {
groups = "spdif_out_a13";
function = "spdif_out";
drive-strength-microamp = <500>;
drive-strength-microamp = <3000>;
bias-disable;
};
};
@ -1741,9 +1746,6 @@
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";
@ -1752,278 +1754,278 @@
clocks = <&xtal>, <&clkc CLKID_CLK81>;
clock-names = "xtal", "mpeg-clk";
};
};
ao_pinctrl: pinctrl {
compatible = "amlogic,meson-g12a-aobus-pinctrl";
#address-cells = <2>;
#size-cells = <2>;
ranges;
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>;
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>;
};
i2c_ao_sck_pins: i2c_ao_sck_pins {
mux {
groups = "i2c_ao_sck";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
};
i2c_ao_sck_pins: i2c_ao_sck_pins {
mux {
groups = "i2c_ao_sck";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
i2c_ao_sda_pins: i2c_ao_sda {
mux {
groups = "i2c_ao_sda";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
};
i2c_ao_sda_pins: i2c_ao_sda {
mux {
groups = "i2c_ao_sda";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
i2c_ao_sck_e_pins: i2c_ao_sck_e {
mux {
groups = "i2c_ao_sck_e";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
};
i2c_ao_sck_e_pins: i2c_ao_sck_e {
mux {
groups = "i2c_ao_sck_e";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
i2c_ao_sda_e_pins: i2c_ao_sda_e {
mux {
groups = "i2c_ao_sda_e";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
};
i2c_ao_sda_e_pins: i2c_ao_sda_e {
mux {
groups = "i2c_ao_sda_e";
function = "i2c_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
mclk0_ao_pins: mclk0-ao {
mux {
groups = "mclk0_ao";
function = "mclk0_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
};
mclk0_ao_pins: mclk0-ao {
mux {
groups = "mclk0_ao";
function = "mclk0_ao";
bias-disable;
drive-strength-microamp = <3000>;
};
tdm_ao_b_din0_pins: tdm-ao-b-din0 {
mux {
groups = "tdm_ao_b_din0";
function = "tdm_ao_b";
bias-disable;
};
};
tdm_ao_b_din0_pins: tdm-ao-b-din0 {
mux {
groups = "tdm_ao_b_din0";
function = "tdm_ao_b";
bias-disable;
};
spdif_ao_out_pins: spdif-ao-out {
mux {
groups = "spdif_ao_out";
function = "spdif_ao_out";
drive-strength-microamp = <3000>;
bias-disable;
};
};
spdif_ao_out_pins: spdif-ao-out {
mux {
groups = "spdif_ao_out";
function = "spdif_ao_out";
drive-strength-microamp = <500>;
bias-disable;
};
tdm_ao_b_din1_pins: tdm-ao-b-din1 {
mux {
groups = "tdm_ao_b_din1";
function = "tdm_ao_b";
bias-disable;
};
};
tdm_ao_b_din1_pins: tdm-ao-b-din1 {
mux {
groups = "tdm_ao_b_din1";
function = "tdm_ao_b";
bias-disable;
};
tdm_ao_b_din2_pins: tdm-ao-b-din2 {
mux {
groups = "tdm_ao_b_din2";
function = "tdm_ao_b";
bias-disable;
};
};
tdm_ao_b_din2_pins: tdm-ao-b-din2 {
mux {
groups = "tdm_ao_b_din2";
function = "tdm_ao_b";
bias-disable;
};
tdm_ao_b_dout0_pins: tdm-ao-b-dout0 {
mux {
groups = "tdm_ao_b_dout0";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
};
tdm_ao_b_dout0_pins: tdm-ao-b-dout0 {
mux {
groups = "tdm_ao_b_dout0";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
tdm_ao_b_dout1_pins: tdm-ao-b-dout1 {
mux {
groups = "tdm_ao_b_dout1";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
};
tdm_ao_b_dout1_pins: tdm-ao-b-dout1 {
mux {
groups = "tdm_ao_b_dout1";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
tdm_ao_b_dout2_pins: tdm-ao-b-dout2 {
mux {
groups = "tdm_ao_b_dout2";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
};
tdm_ao_b_dout2_pins: tdm-ao-b-dout2 {
mux {
groups = "tdm_ao_b_dout2";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
tdm_ao_b_fs_pins: tdm-ao-b-fs {
mux {
groups = "tdm_ao_b_fs";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
};
tdm_ao_b_fs_pins: tdm-ao-b-fs {
mux {
groups = "tdm_ao_b_fs";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
tdm_ao_b_sclk_pins: tdm-ao-b-sclk {
mux {
groups = "tdm_ao_b_sclk";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
};
tdm_ao_b_sclk_pins: tdm-ao-b-sclk {
mux {
groups = "tdm_ao_b_sclk";
function = "tdm_ao_b";
bias-disable;
drive-strength-microamp = <3000>;
};
tdm_ao_b_slv_fs_pins: tdm-ao-b-slv-fs {
mux {
groups = "tdm_ao_b_slv_fs";
function = "tdm_ao_b";
bias-disable;
};
};
tdm_ao_b_slv_fs_pins: tdm-ao-b-slv-fs {
mux {
groups = "tdm_ao_b_slv_fs";
function = "tdm_ao_b";
bias-disable;
};
tdm_ao_b_slv_sclk_pins: tdm-ao-b-slv-sclk {
mux {
groups = "tdm_ao_b_slv_sclk";
function = "tdm_ao_b";
bias-disable;
};
};
tdm_ao_b_slv_sclk_pins: tdm-ao-b-slv-sclk {
mux {
groups = "tdm_ao_b_slv_sclk";
function = "tdm_ao_b";
bias-disable;
};
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_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;
};
};
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;
};
uart_ao_b_2_3_pins: uart-ao-b-2-3 {
mux {
groups = "uart_ao_b_tx_2",
"uart_ao_b_rx_3";
function = "uart_ao_b";
bias-disable;
};
};
uart_ao_b_2_3_pins: uart-ao-b-2-3 {
mux {
groups = "uart_ao_b_tx_2",
"uart_ao_b_rx_3";
function = "uart_ao_b";
bias-disable;
};
uart_ao_b_8_9_pins: uart-ao-b-8-9 {
mux {
groups = "uart_ao_b_tx_8",
"uart_ao_b_rx_9";
function = "uart_ao_b";
bias-disable;
};
};
uart_ao_b_8_9_pins: uart-ao-b-8-9 {
mux {
groups = "uart_ao_b_tx_8",
"uart_ao_b_rx_9";
function = "uart_ao_b";
bias-disable;
};
uart_ao_b_cts_rts_pins: uart-ao-b-cts-rts {
mux {
groups = "uart_ao_b_cts",
"uart_ao_b_rts";
function = "uart_ao_b";
bias-disable;
};
};
uart_ao_b_cts_rts_pins: uart-ao-b-cts-rts {
mux {
groups = "uart_ao_b_cts",
"uart_ao_b_rts";
function = "uart_ao_b";
bias-disable;
};
pwm_a_e_pins: pwm-a-e {
mux {
groups = "pwm_a_e";
function = "pwm_a_e";
bias-disable;
};
};
pwm_a_e_pins: pwm-a-e {
mux {
groups = "pwm_a_e";
function = "pwm_a_e";
bias-disable;
};
pwm_ao_a_pins: pwm-ao-a {
mux {
groups = "pwm_ao_a";
function = "pwm_ao_a";
bias-disable;
};
};
pwm_ao_a_pins: pwm-ao-a {
mux {
groups = "pwm_ao_a";
function = "pwm_ao_a";
bias-disable;
};
pwm_ao_b_pins: pwm-ao-b {
mux {
groups = "pwm_ao_b";
function = "pwm_ao_b";
bias-disable;
};
};
pwm_ao_b_pins: pwm-ao-b {
mux {
groups = "pwm_ao_b";
function = "pwm_ao_b";
bias-disable;
};
pwm_ao_c_4_pins: pwm-ao-c-4 {
mux {
groups = "pwm_ao_c_4";
function = "pwm_ao_c";
bias-disable;
};
};
pwm_ao_c_4_pins: pwm-ao-c-4 {
mux {
groups = "pwm_ao_c_4";
function = "pwm_ao_c";
bias-disable;
};
pwm_ao_c_6_pins: pwm-ao-c-6 {
mux {
groups = "pwm_ao_c_6";
function = "pwm_ao_c";
bias-disable;
};
};
pwm_ao_c_6_pins: pwm-ao-c-6 {
mux {
groups = "pwm_ao_c_6";
function = "pwm_ao_c";
bias-disable;
};
pwm_ao_d_5_pins: pwm-ao-d-5 {
mux {
groups = "pwm_ao_d_5";
function = "pwm_ao_d";
bias-disable;
};
};
pwm_ao_d_5_pins: pwm-ao-d-5 {
mux {
groups = "pwm_ao_d_5";
function = "pwm_ao_d";
bias-disable;
};
pwm_ao_d_10_pins: pwm-ao-d-10 {
mux {
groups = "pwm_ao_d_10";
function = "pwm_ao_d";
bias-disable;
};
};
pwm_ao_d_10_pins: pwm-ao-d-10 {
mux {
groups = "pwm_ao_d_10";
function = "pwm_ao_d";
bias-disable;
};
pwm_ao_d_e_pins: pwm-ao-d-e {
mux {
groups = "pwm_ao_d_e";
function = "pwm_ao_d";
};
};
pwm_ao_d_e_pins: pwm-ao-d-e {
mux {
groups = "pwm_ao_d_e";
function = "pwm_ao_d";
};
};
remote_input_ao_pins: remote-input-ao {
mux {
groups = "remote_ao_input";
function = "remote_ao_input";
bias-disable;
};
remote_input_ao_pins: remote-input-ao {
mux {
groups = "remote_ao_input";
function = "remote_ao_input";
bias-disable;
};
};
};

View File

@ -363,6 +363,10 @@
power-domains = <&pwrc PWRC_G12A_ETH_ID>;
};
&hdmi_tx {
power-domains = <&pwrc PWRC_G12A_VPU_ID>;
};
&vpu {
power-domains = <&pwrc PWRC_G12A_VPU_ID>;
};

View File

@ -24,7 +24,6 @@
compatible = "simple-audio-amplifier";
enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
VCC-supply = <&vcc_5v>;
#sound-dai-cells = <0>;
sound-name-prefix = "10U2";
};
@ -374,6 +373,7 @@
};
&acodec {
AVDD-supply = <&vddao_1v8>;
status = "okay";
};

View File

@ -44,13 +44,6 @@
reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
};
fan0: pwm-fan {
compatible = "pwm-fan";
#cooling-cells = <2>;
cooling-levels = <0 120 170 220>;
pwms = <&pwm_cd 1 40000 0>;
};
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
@ -374,13 +367,6 @@
clock-names = "clkin0";
};
&pwm_cd {
status = "okay";
pinctrl-0 = <&pwm_d_x6_pins>;
pinctrl-names = "default";
pwm-gpios = <&gpio GPIOAO_10 GPIO_ACTIVE_HIGH>;
};
&pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;

View File

@ -0,0 +1,17 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
*/
/dts-v1/;
#include "meson-g12b-dreambox.dtsi"
/ {
compatible = "dream,dreambox-one", "amlogic,s922x", "amlogic,g12b";
model = "Dreambox One";
};
&sd_emmc_a {
sd-uhs-sdr12;
};

View File

@ -0,0 +1,20 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
*/
/dts-v1/;
#include "meson-g12b-dreambox.dtsi"
/ {
compatible = "dream,dreambox-two", "amlogic,s922x", "amlogic,g12b";
model = "Dreambox Two";
};
&sd_emmc_a {
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
};

View File

@ -0,0 +1,154 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Christian Hewitt <christianshewitt@gmail.com>
*/
#include "meson-g12b-w400.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
/ {
cvbs-connector {
status = "disabled";
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpio GPIOA_11 GPIO_ACTIVE_LOW>;
clocks = <&wifi32k>;
clock-names = "ext_clock";
};
spdif_dit: audio-codec-1 {
#sound-dai-cells = <0>;
compatible = "linux,spdif-dit";
status = "okay";
sound-name-prefix = "DIT";
};
sound {
compatible = "amlogic,axg-sound-card";
model = "DREAMBOX";
audio-aux-devs = <&tdmout_b>;
audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
"TDMOUT_B IN 1", "FRDDR_B OUT 1",
"TDMOUT_B IN 2", "FRDDR_C OUT 1",
"TDM_B Playback", "TDMOUT_B OUT",
"SPDIFOUT_A IN 0", "FRDDR_A OUT 3",
"SPDIFOUT_A IN 1", "FRDDR_B OUT 3",
"SPDIFOUT_A IN 2", "FRDDR_C OUT 3";
assigned-clocks = <&clkc CLKID_MPLL2>,
<&clkc CLKID_MPLL0>,
<&clkc CLKID_MPLL1>;
assigned-clock-parents = <0>, <0>, <0>;
assigned-clock-rates = <294912000>,
<270950400>,
<393216000>;
dai-link-0 {
sound-dai = <&frddr_a>;
};
dai-link-1 {
sound-dai = <&frddr_b>;
};
dai-link-2 {
sound-dai = <&frddr_c>;
};
/* 8ch hdmi interface */
dai-link-3 {
sound-dai = <&tdmif_b>;
dai-format = "i2s";
dai-tdm-slot-tx-mask-0 = <1 1>;
dai-tdm-slot-tx-mask-1 = <1 1>;
dai-tdm-slot-tx-mask-2 = <1 1>;
dai-tdm-slot-tx-mask-3 = <1 1>;
mclk-fs = <256>;
codec {
sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
};
};
/* spdif hdmi or toslink interface */
dai-link-4 {
sound-dai = <&spdifout_a>;
codec-0 {
sound-dai = <&spdif_dit>;
};
codec-1 {
sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
};
};
/* spdif hdmi interface */
dai-link-5 {
sound-dai = <&spdifout_b>;
codec {
sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
};
};
/* hdmi glue */
dai-link-6 {
sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
codec {
sound-dai = <&hdmi_tx>;
};
};
};
};
&arb {
status = "okay";
};
&frddr_a {
status = "okay";
};
&frddr_b {
status = "okay";
};
&frddr_c {
status = "okay";
};
&ir {
linux,rc-map-name = "rc-dreambox";
};
&saradc {
status = "okay";
vref-supply = <&vddao_1v8>;
};
&spdifout_a {
pinctrl-0 = <&spdif_out_h_pins>;
pinctrl-names = "default";
status = "okay";
};
&spdifout_b {
status = "okay";
};
&tdmif_b {
status = "okay";
};
&tdmout_b {
status = "okay";
};
&tohdmitx {
status = "okay";
};

View File

@ -33,6 +33,13 @@
reg = <0x0 0x0 0x0 0x80000000>;
};
fan0: pwm-fan {
compatible = "pwm-fan";
#cooling-cells = <2>;
cooling-levels = <0 64 128 192 255>;
pwms = <&pwm_AO_ab 0 40000 0>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
poll-interval = <100>;
@ -286,6 +293,23 @@
clock-latency = <50000>;
};
&cpu_thermal {
trips {
cpu_active: cpu-active {
temperature = <70000>; /* millicelsius */
hysteresis = <2000>; /* millicelsius */
type = "active";
};
};
cooling-maps {
map2 {
trip = <&cpu_active>;
cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&frddr_a {
status = "okay";
};

View File

@ -408,6 +408,6 @@
compatible = "usb5e3,610";
reg = <1>;
vdd-supply = <&p5v0>;
reset-gpio = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
};
};

View File

@ -311,10 +311,16 @@
<&reset RESET_HDMI_SYSTEM_RESET>,
<&reset RESET_HDMI_TX>;
reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
clocks = <&clkc CLKID_HDMI_PCLK>,
<&clkc CLKID_CLK81>,
clocks = <&clkc CLKID_HDMI>,
<&clkc CLKID_HDMI_PCLK>,
<&clkc CLKID_GCLK_VENCI_INT0>;
clock-names = "isfr", "iahb", "venci";
power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
assigned-clocks = <&clkc CLKID_HDMI_SEL>,
<&clkc CLKID_HDMI>;
assigned-clock-parents = <&xtal>, <0>;
assigned-clock-rates = <0>, <24000000>;
};
&sysctrl {

View File

@ -0,0 +1,199 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2024 Christian Hewitt <christianshewitt@gmail.com>
*/
/dts-v1/;
#include "meson-gxl-s905x-p212.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/sound/meson-aiu.h>
/ {
compatible = "osmc,vero4k", "amlogic,s905x", "amlogic,meson-gxl";
model = "OSMC Vero 4K";
reserved-memory {
/* 32 MiB reserved for ARM Trusted Firmware (BL32) */
secmon_reserved_bl32: secmon@5300000 {
reg = <0x0 0x05300000 0x0 0x2000000>;
no-map;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
poll-interval = <20>;
button {
label = "power";
linux,code = <KEY_POWER>;
gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
};
};
leds {
compatible = "gpio-leds";
led-standby {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_POWER;
gpios = <&gpio GPIODV_24 GPIO_ACTIVE_LOW>;
default-state = "off";
panic-indicator;
};
};
dio2133: analog-amplifier {
compatible = "simple-audio-amplifier";
sound-name-prefix = "AU2";
VCC-supply = <&hdmi_5v>;
enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
};
spdif_dit: audio-codec-0 {
#sound-dai-cells = <0>;
compatible = "linux,spdif-dit";
sound-name-prefix = "DIT";
};
cvbs-connector {
compatible = "composite-video-connector";
port {
cvbs_connector_in: endpoint {
remote-endpoint = <&cvbs_vdac_out>;
};
};
};
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&hdmi_tx_tmds_out>;
};
};
};
sound {
compatible = "amlogic,gx-sound-card";
model = "VERO4K";
audio-aux-devs = <&dio2133>;
audio-widgets = "Line", "Lineout";
audio-routing = "AU2 INL", "ACODEC LOLP",
"AU2 INR", "ACODEC LORP",
"AU2 INL", "ACODEC LOLN",
"AU2 INR", "ACODEC LORN",
"Lineout", "AU2 OUTL",
"Lineout", "AU2 OUTR";
assigned-clocks = <&clkc CLKID_MPLL0>,
<&clkc CLKID_MPLL1>,
<&clkc CLKID_MPLL2>;
assigned-clock-parents = <0>, <0>, <0>;
assigned-clock-rates = <294912000>,
<270950400>,
<393216000>;
dai-link-0 {
sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
};
dai-link-1 {
sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
};
dai-link-2 {
sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
dai-format = "i2s";
mclk-fs = <256>;
codec-0 {
sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
};
codec-1 {
sound-dai = <&aiu AIU_ACODEC CTRL_I2S>;
};
};
dai-link-3 {
sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
codec-0 {
sound-dai = <&spdif_dit>;
};
};
dai-link-4 {
sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
codec-0 {
sound-dai = <&hdmi_tx>;
};
};
dai-link-5 {
sound-dai = <&aiu AIU_ACODEC CTRL_OUT>;
codec-0 {
sound-dai = <&acodec>;
};
};
};
};
&acodec {
AVDD-supply = <&vddio_ao18>;
status = "okay";
};
&aiu {
status = "okay";
pinctrl-0 = <&spdif_out_h_pins>;
pinctrl-names = "default";
};
&cec_AO {
status = "okay";
pinctrl-0 = <&ao_cec_pins>;
pinctrl-names = "default";
hdmi-phandle = <&hdmi_tx>;
};
&cvbs_vdac_port {
cvbs_vdac_out: endpoint {
remote-endpoint = <&cvbs_connector_in>;
};
};
&ethmac {
phy-mode = "rmii";
phy-handle = <&internal_phy>;
};
&hdmi_tx {
status = "okay";
pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
pinctrl-names = "default";
hdmi-supply = <&hdmi_5v>;
};
&hdmi_tx_tmds_port {
hdmi_tx_tmds_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
&internal_phy {
pinctrl-0 = <&eth_link_led_pins>, <&eth_act_led_pins>;
pinctrl-names = "default";
};
/* This UART is brought out to the DB9 connector */
&uart_AO {
status = "okay";
};

View File

@ -323,10 +323,16 @@
<&reset RESET_HDMI_SYSTEM_RESET>,
<&reset RESET_HDMI_TX>;
reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
clocks = <&clkc CLKID_HDMI_PCLK>,
<&clkc CLKID_CLK81>,
clocks = <&clkc CLKID_HDMI>,
<&clkc CLKID_HDMI_PCLK>,
<&clkc CLKID_GCLK_VENCI_INT0>;
clock-names = "isfr", "iahb", "venci";
power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
assigned-clocks = <&clkc CLKID_HDMI_SEL>,
<&clkc CLKID_HDMI>;
assigned-clock-parents = <&xtal>, <0>;
assigned-clock-rates = <0>, <24000000>;
};
&sysctrl {

View File

@ -0,0 +1,51 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2024 Christian Hewitt <christianshewitt@gmail.com>
*/
/dts-v1/;
#include "meson-gxl-s905x.dtsi"
#include "meson-gx-p23x-q20x.dtsi"
/ {
compatible = "amlogic,p271", "amlogic,s905l", "amlogic,meson-gxlx";
model = "Amlogic Meson GXLX (S905L) P271 Development Board";
memory@0 {
device_type = "memory";
reg = <0x0 0x0 0x0 0x40000000>;
};
sound {
model = "P271";
};
};
&apb {
mali: gpu@c0000 {
/* Mali 450-MP2 */
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "gp", "gpmmu", "pp", "pmu",
"pp0", "ppmmu0", "pp1", "ppmmu1";
};
};
&saradc {
compatible = "amlogic,meson-gxlx-saradc", "amlogic,meson-saradc";
};
&usb {
dr_mode = "host";
};
&vdec {
compatible = "amlogic,gxlx-vdec", "amlogic,gx-vdec";
};

View File

@ -312,6 +312,160 @@
};
};
pwm_a_pins1: pwm-a-pins1 {
mux {
groups = "pwm_a_d";
function = "pwm_a";
};
};
pwm_a_pins2: pwm-a-pins2 {
mux {
groups = "pwm_a_x";
function = "pwm_a";
};
};
pwm_b_pins1: pwm-b-pins1 {
mux {
groups = "pwm_b_d";
function = "pwm_b";
};
};
pwm_b_pins2: pwm-b-pins2 {
mux {
groups = "pwm_b_x";
function = "pwm_b";
};
};
pwm_c_pins1: pwm-c-pins1 {
mux {
groups = "pwm_c_d";
function = "pwm_c";
};
};
pwm_c_pins2: pwm-c-pins2 {
mux {
groups = "pwm_c_x";
function = "pwm_c";
};
};
pwm_d_pins1: pwm-d-pins1 {
mux {
groups = "pwm_d_d";
function = "pwm_d";
};
};
pwm_d_pins2: pwm-d-pins2 {
mux {
groups = "pwm_d_h";
function = "pwm_d";
};
};
pwm_e_pins1: pwm-e-pins1 {
mux {
groups = "pwm_e_x";
function = "pwm_e";
};
};
pwm_e_pins2: pwm-e-pins2 {
mux {
groups = "pwm_e_z";
function = "pwm_e";
};
};
pwm_f_pins1: pwm-f-pins1 {
mux {
groups = "pwm_f_x";
function = "pwm_f";
};
};
pwm_f_pins2: pwm-f-pins2 {
mux {
groups = "pwm_f_z";
function = "pwm_f";
};
};
pwm_g_pins1: pwm-g-pins1 {
mux {
groups = "pwm_g_d";
function = "pwm_g";
};
};
pwm_g_pins2: pwm-g-pins2 {
mux {
groups = "pwm_g_z";
function = "pwm_g";
};
};
pwm_h_pins: pwm-h-pins {
mux {
groups = "pwm_h";
function = "pwm_h";
};
};
pwm_i_pins1: pwm-i-pins1 {
mux {
groups = "pwm_i_d";
function = "pwm_i";
};
};
pwm_i_pins2: pwm-i-pins2 {
mux {
groups = "pwm_i_h";
function = "pwm_i";
};
};
pwm_j_pins: pwm-j-pins {
mux {
groups = "pwm_j";
function = "pwm_j";
};
};
pwm_a_hiz_pins: pwm-a-hiz-pins {
mux {
groups = "pwm_a_hiz";
function = "pwm_a_hiz";
};
};
pwm_b_hiz_pins: pwm-b-hiz-pins {
mux {
groups = "pwm_b_hiz";
function = "pwm_b_hiz";
};
};
pwm_c_hiz_pins: pwm-c-hiz-pins {
mux {
groups = "pwm_c_hiz";
function = "pwm_c_hiz";
};
};
pwm_g_hiz_pins: pwm-g-hiz-pins {
mux {
groups = "pwm_g_hiz";
function = "pwm_g_hiz";
};
};
spicc0_pins_x: spicc0-pins_x {
mux {
groups = "spi_a_mosi_x",
@ -399,6 +553,51 @@
status = "disabled";
};
pwm_ab: pwm@58000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x58000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_A>,
<&clkc_periphs CLKID_PWM_B>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_cd: pwm@5a000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x5a000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_C>,
<&clkc_periphs CLKID_PWM_D>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_ef: pwm@5c000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x5c000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_E>,
<&clkc_periphs CLKID_PWM_F>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_gh: pwm@5e000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x5e000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_G>,
<&clkc_periphs CLKID_PWM_H>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_ij: pwm@60000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x60000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_I>,
<&clkc_periphs CLKID_PWM_J>;
#pwm-cells = <3>;
status = "disabled";
};
i2c0: i2c@66000 {
compatible = "amlogic,meson-axg-i2c";
reg = <0x0 0x66000 0x0 0x20>;

View File

@ -17,10 +17,10 @@
compatible = "amlogic,axg-tdm-iface";
#sound-dai-cells = <0>;
sound-name-prefix = "TDM_A";
clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
<&clkc_audio AUD_CLKID_MST_A_SCLK>,
<&clkc_audio AUD_CLKID_MST_A_LRCLK>;
clock-names = "mclk", "sclk", "lrclk";
clocks = <&clkc_audio AUD_CLKID_MST_A_SCLK>,
<&clkc_audio AUD_CLKID_MST_A_LRCLK>,
<&clkc_audio AUD_CLKID_MST_A_MCLK>;
clock-names = "sclk", "lrclk", "mclk";
status = "disabled";
};
@ -28,10 +28,10 @@
compatible = "amlogic,axg-tdm-iface";
#sound-dai-cells = <0>;
sound-name-prefix = "TDM_B";
clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
<&clkc_audio AUD_CLKID_MST_B_SCLK>,
<&clkc_audio AUD_CLKID_MST_B_LRCLK>;
clock-names = "mclk", "sclk", "lrclk";
clocks = <&clkc_audio AUD_CLKID_MST_B_SCLK>,
<&clkc_audio AUD_CLKID_MST_B_LRCLK>,
<&clkc_audio AUD_CLKID_MST_B_MCLK>;
clock-names = "sclk", "lrclk", "mclk";
status = "disabled";
};
@ -39,10 +39,10 @@
compatible = "amlogic,axg-tdm-iface";
#sound-dai-cells = <0>;
sound-name-prefix = "TDM_C";
clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
<&clkc_audio AUD_CLKID_MST_C_SCLK>,
<&clkc_audio AUD_CLKID_MST_C_LRCLK>;
clock-names = "mclk", "sclk", "lrclk";
clocks = <&clkc_audio AUD_CLKID_MST_C_SCLK>,
<&clkc_audio AUD_CLKID_MST_C_LRCLK>,
<&clkc_audio AUD_CLKID_MST_C_MCLK>;
clock-names = "sclk", "lrclk", "mclk";
status = "disabled";
};
@ -275,8 +275,7 @@
};
tdmin_a: audio-controller@300 {
compatible = "amlogic,sm1-tdmin",
"amlogic,axg-tdmin";
compatible = "amlogic,sm1-tdmin";
reg = <0x0 0x300 0x0 0x40>;
sound-name-prefix = "TDMIN_A";
resets = <&clkc_audio AUD_RESET_TDMIN_A>;
@ -291,8 +290,7 @@
};
tdmin_b: audio-controller@340 {
compatible = "amlogic,sm1-tdmin",
"amlogic,axg-tdmin";
compatible = "amlogic,sm1-tdmin";
reg = <0x0 0x340 0x0 0x40>;
sound-name-prefix = "TDMIN_B";
resets = <&clkc_audio AUD_RESET_TDMIN_B>;
@ -307,8 +305,7 @@
};
tdmin_c: audio-controller@380 {
compatible = "amlogic,sm1-tdmin",
"amlogic,axg-tdmin";
compatible = "amlogic,sm1-tdmin";
reg = <0x0 0x380 0x0 0x40>;
sound-name-prefix = "TDMIN_C";
resets = <&clkc_audio AUD_RESET_TDMIN_C>;
@ -323,8 +320,7 @@
};
tdmin_lb: audio-controller@3c0 {
compatible = "amlogic,sm1-tdmin",
"amlogic,axg-tdmin";
compatible = "amlogic,sm1-tdmin";
reg = <0x0 0x3c0 0x0 0x40>;
sound-name-prefix = "TDMIN_LB";
resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
@ -339,7 +335,7 @@
};
spdifin: audio-controller@400 {
compatible = "amlogic,g12a-spdifin",
compatible = "amlogic,sm1-spdifin",
"amlogic,axg-spdifin";
reg = <0x0 0x400 0x0 0x30>;
#sound-dai-cells = <0>;
@ -353,7 +349,7 @@
};
spdifout_a: audio-controller@480 {
compatible = "amlogic,g12a-spdifout",
compatible = "amlogic,sm1-spdifout",
"amlogic,axg-spdifout";
reg = <0x0 0x480 0x0 0x50>;
#sound-dai-cells = <0>;
@ -518,6 +514,10 @@
"amlogic,meson-gpio-intc";
};
&hdmi_tx {
power-domains = <&pwrc PWRC_SM1_VPU_ID>;
};
&pcie {
power-domains = <&pwrc PWRC_SM1_PCIE_ID>;
};

View File

@ -0,0 +1,21 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
/*
* Copyright (C) 2024 Amlogic, Inc. All rights reserved
*/
#ifndef _DT_BINDINGS_AMLOGIC_A4_POWER_H
#define _DT_BINDINGS_AMLOGIC_A4_POWER_H
#define PWRC_A4_AUDIO_ID 0
#define PWRC_A4_SDIOA_ID 1
#define PWRC_A4_EMMC_ID 2
#define PWRC_A4_USB_COMB_ID 3
#define PWRC_A4_ETH_ID 4
#define PWRC_A4_VOUT_ID 5
#define PWRC_A4_AUDIO_PDM_ID 6
#define PWRC_A4_DMC_ID 7
#define PWRC_A4_SYS_WRAP_ID 8
#define PWRC_A4_AO_I2C_S_ID 9
#define PWRC_A4_AO_UART_ID 10
#define PWRC_A4_AO_IR_ID 11
#endif