Skip to content

Commit 837be1c

Browse files
committed
Merge tag 'amlogic-arm64-dt-for-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt
Amlogic ARM64 DT changes for v6.4: - set of DT bindings check fixes - adjust order of some compatibles to match dt-schema migration - add support for BananaPi M2S variants - gxbb-kii-pro: add audio & bluetooth support - meson-a1: add gpio_intc node - gxl: use gxl mdio multiplexer - Add initial support for BPI-CM4 module with BPI-CM4IO baseboard * tag 'amlogic-arm64-dt-for-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: arm64: dts: amlogic: Add initial support for BPI-CM4 module with BPI-CM4IO baseboard dt-bindings: arm: amlogic: Document the boards with the BPI-CM4 connected arm64: dts: amlogic: gxl: use gxl mdio multiplexer arm64: dts: meson-a1: add gpio_intc node arm64: dts: meson: gxbb-kii-pro: add initial audio support arm64: dts: meson: gxbb-kii-pro: complete the bluetooth node arm64: dts: meson: gxbb-kii-pro: sort and tidy the dts arm64: dts: meson: adjust order of some compatibles arm64: dts: meson: add support for BananaPi M2S variants dt-bindings: arm: amlogic: add support for BananaPi M2S variants arm64: dts: amlogic: meson-gxm-s912-libretech-pc: remove unused pinctrl-names from phy node arm64: dts: amlogic: meson-sm1: use correct enable-gpios arm64: dts: amlogic: meson-s4: fix apb4 bus node name arm64: dts: amlogic: meson-g12b-odroid-go-ultra: rename keypad-gpio pinctrl node arm64: dts: amlogic: meson-g12b-radxa-zero2: fix pwm clock names arm64: dts: amlogic: meson-axg-jethome-jethub-j1xx: remove invalid #gpio-cells in onewire node arm64: dts: amlogic: meson-gxm-s912-libretech-pc: add simple connector node in fusb302 node arm64: dts: amlogic: meson-sm1-bananapi: correct usb-hub hog node name Link: https://lore.kernel.org/r/1b955bb7-1a35-8d67-beb6-dd289533ff6f@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 9514e51 + 0262f27 commit 837be1c

19 files changed

Lines changed: 1248 additions & 37 deletions

Documentation/devicetree/bindings/arm/amlogic.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,17 +153,27 @@ properties:
153153
- description: Boards with the Amlogic Meson G12B A311D SoC
154154
items:
155155
- enum:
156+
- bananapi,bpi-m2s
156157
- khadas,vim3
157158
- radxa,zero2
158159
- const: amlogic,a311d
159160
- const: amlogic,g12b
160161

162+
- description: Boards using the BPI-CM4 module with Amlogic Meson G12B A311D SoC
163+
items:
164+
- enum:
165+
- bananapi,bpi-cm4io
166+
- const: bananapi,bpi-cm4
167+
- const: amlogic,a311d
168+
- const: amlogic,g12b
169+
161170
- description: Boards with the Amlogic Meson G12B S922X SoC
162171
items:
163172
- enum:
164173
- azw,gsking-x
165174
- azw,gtking
166175
- azw,gtking-pro
176+
- bananapi,bpi-m2s
167177
- hardkernel,odroid-go-ultra
168178
- hardkernel,odroid-n2
169179
- hardkernel,odroid-n2l

arch/arm64/boot/dts/amlogic/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb
88
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
99
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
1010
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
11+
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-bananapi-m2s.dtb
1112
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb
13+
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb
1214
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb
1315
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
1416
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
@@ -17,6 +19,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
1719
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
1820
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2l.dtb
1921
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
22+
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-bananapi-m2s.dtb
2023
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
2124
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
2225
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb

arch/arm64/boot/dts/amlogic/meson-a1.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,16 @@
125125
clock-names = "xtal", "pclk", "baud";
126126
status = "disabled";
127127
};
128+
129+
gpio_intc: interrupt-controller@0440 {
130+
compatible = "amlogic,meson-a1-gpio-intc",
131+
"amlogic,meson-gpio-intc";
132+
reg = <0x0 0x0440 0x0 0x14>;
133+
interrupt-controller;
134+
#interrupt-cells = <2>;
135+
amlogic,channel-interrupts =
136+
<49 50 51 52 53 54 55 56>;
137+
};
128138
};
129139

130140
gic: interrupt-controller@ff901000 {

arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@
159159
onewire {
160160
compatible = "w1-gpio";
161161
gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
162-
#gpio-cells = <1>;
163162
};
164163
};
165164

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (c) 2023 Christian Hewitt <christianshewitt@gmail.com>
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include "meson-g12b-a311d.dtsi"
9+
#include "meson-g12b-bananapi.dtsi"
10+
11+
/ {
12+
compatible = "bananapi,bpi-m2s", "amlogic,a311d", "amlogic,g12b";
13+
model = "BananaPi M2S";
14+
15+
aliases {
16+
i2c0 = &i2c1;
17+
i2c1 = &i2c3;
18+
};
19+
};
20+
21+
/* Camera (CSI) bus */
22+
&i2c1 {
23+
status = "okay";
24+
pinctrl-0 = <&i2c1_sda_h6_pins>, <&i2c1_sck_h7_pins>;
25+
pinctrl-names = "default";
26+
};
27+
28+
/* Display (DSI) bus */
29+
&i2c3 {
30+
status = "okay";
31+
pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
32+
pinctrl-names = "default";
33+
};
34+
35+
&npu {
36+
status = "okay";
37+
};
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (c) 2023 Neil Armstrong <neil.armstrong@linaro.org>
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include "meson-g12b-bananapi-cm4.dtsi"
9+
#include <dt-bindings/input/input.h>
10+
#include <dt-bindings/leds/common.h>
11+
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
12+
13+
/ {
14+
compatible = "bananapi,bpi-cm4io", "bananapi,bpi-cm4", "amlogic,a311d", "amlogic,g12b";
15+
model = "BananaPi BPI-CM4IO Baseboard with BPI-CM4 Module";
16+
17+
aliases {
18+
ethernet0 = &ethmac;
19+
i2c0 = &i2c1;
20+
i2c1 = &i2c3;
21+
};
22+
23+
adc-keys {
24+
compatible = "adc-keys";
25+
io-channels = <&saradc 2>;
26+
io-channel-names = "buttons";
27+
keyup-threshold-microvolt = <1710000>;
28+
29+
button-function {
30+
label = "Function";
31+
linux,code = <KEY_FN>;
32+
press-threshold-microvolt = <10000>;
33+
};
34+
};
35+
36+
hdmi_connector: hdmi-connector {
37+
compatible = "hdmi-connector";
38+
type = "a";
39+
40+
port {
41+
hdmi_connector_in: endpoint {
42+
remote-endpoint = <&hdmi_tx_tmds_out>;
43+
};
44+
};
45+
};
46+
47+
leds {
48+
compatible = "gpio-leds";
49+
50+
led-blue {
51+
color = <LED_COLOR_ID_BLUE>;
52+
function = LED_FUNCTION_STATUS;
53+
gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>;
54+
linux,default-trigger = "heartbeat";
55+
};
56+
57+
led-green {
58+
color = <LED_COLOR_ID_GREEN>;
59+
function = LED_FUNCTION_STATUS;
60+
gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
61+
};
62+
};
63+
64+
sound {
65+
compatible = "amlogic,axg-sound-card";
66+
model = "BPI-CM4IO";
67+
audio-aux-devs = <&tdmout_b>;
68+
audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
69+
"TDMOUT_B IN 1", "FRDDR_B OUT 1",
70+
"TDMOUT_B IN 2", "FRDDR_C OUT 1",
71+
"TDM_B Playback", "TDMOUT_B OUT";
72+
73+
assigned-clocks = <&clkc CLKID_MPLL2>,
74+
<&clkc CLKID_MPLL0>,
75+
<&clkc CLKID_MPLL1>;
76+
assigned-clock-parents = <0>, <0>, <0>;
77+
assigned-clock-rates = <294912000>,
78+
<270950400>,
79+
<393216000>;
80+
81+
dai-link-0 {
82+
sound-dai = <&frddr_a>;
83+
};
84+
85+
dai-link-1 {
86+
sound-dai = <&frddr_b>;
87+
};
88+
89+
dai-link-2 {
90+
sound-dai = <&frddr_c>;
91+
};
92+
93+
/* 8ch hdmi interface */
94+
dai-link-3 {
95+
sound-dai = <&tdmif_b>;
96+
dai-format = "i2s";
97+
dai-tdm-slot-tx-mask-0 = <1 1>;
98+
dai-tdm-slot-tx-mask-1 = <1 1>;
99+
dai-tdm-slot-tx-mask-2 = <1 1>;
100+
dai-tdm-slot-tx-mask-3 = <1 1>;
101+
mclk-fs = <256>;
102+
103+
codec {
104+
sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
105+
};
106+
};
107+
108+
/* hdmi glue */
109+
dai-link-4 {
110+
sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
111+
112+
codec {
113+
sound-dai = <&hdmi_tx>;
114+
};
115+
};
116+
};
117+
};
118+
119+
&cecb_AO {
120+
status = "okay";
121+
};
122+
123+
&ethmac {
124+
status = "okay";
125+
};
126+
127+
&hdmi_tx {
128+
status = "okay";
129+
};
130+
131+
&hdmi_tx_tmds_port {
132+
hdmi_tx_tmds_out: endpoint {
133+
remote-endpoint = <&hdmi_connector_in>;
134+
};
135+
};
136+
137+
/* CSI port */
138+
&i2c1 {
139+
status = "okay";
140+
};
141+
142+
/* DSI port for touchscreen */
143+
&i2c3 {
144+
status = "okay";
145+
};
146+
147+
/* miniPCIe port with USB + SIM slot */
148+
&pcie {
149+
status = "okay";
150+
};
151+
152+
&sd_emmc_b {
153+
status = "okay";
154+
};
155+
156+
&tohdmitx {
157+
status = "okay";
158+
};
159+
160+
/* Peripheral Only USB-C port */
161+
&usb {
162+
dr_mode = "peripheral";
163+
164+
status = "okay";
165+
};

0 commit comments

Comments
 (0)