Skip to content

Commit acda89d

Browse files
committed
Merge tag 'tegra-for-6.4-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
arm64: tegra: Device tree changes for v6.4-rc1 This adds support for the Jetson Orin NX and includes updates for Jetson AGX Orin (audio codec, USB Type-C support). * tag 'tegra-for-6.4-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Add vccmq on Jetson TX2 arm64: tegra: Populate USB Type-C Controller for Jetson AGX Orin arm64: tegra: Audio codec support on Jetson AGX Orin arm64: tegra: Support Jetson Orin NX reference platform arm64: tegra: Support Jetson Orin NX dt-bindings: tegra: Document Jetson Orin NX reference platform dt-bindings: tegra: Document Jetson Orin NX arm64: tegra: Add DSU PMUs for Tegra234 arm64: tegra: Drop serial clock-names and reset-names Link: https://lore.kernel.org/r/20230406124804.970394-6-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 31e985a + 5c0ddb4 commit acda89d

13 files changed

Lines changed: 717 additions & 25 deletions

Documentation/devicetree/bindings/arm/tegra.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,5 +167,14 @@ properties:
167167
- const: nvidia,p3737-0000+p3701-0000
168168
- const: nvidia,p3701-0000
169169
- const: nvidia,tegra234
170+
- description: Jetson Orin NX
171+
items:
172+
- const: nvidia,p3767-0000
173+
- const: nvidia,tegra234
174+
- description: Jetson Orin NX Engineering Reference Developer Kit
175+
items:
176+
- const: nvidia,p3768-0000+p3767-0000
177+
- const: nvidia,p3767-0000
178+
- const: nvidia,tegra234
170179

171180
additionalProperties: true

arch/arm64/boot/dts/nvidia/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ DTC_FLAGS_tegra194-p2972-0000 := -@
99
DTC_FLAGS_tegra194-p3509-0000+p3668-0000 := -@
1010
DTC_FLAGS_tegra194-p3509-0000+p3668-0001 := -@
1111
DTC_FLAGS_tegra234-p3737-0000+p3701-0000 := -@
12+
DTC_FLAGS_tegra234-p3768-0000+p3767-0000 := -@
1213

1314
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
1415
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-0000.dtb
@@ -24,3 +25,4 @@ dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
2425
dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
2526
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
2627
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
28+
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3768-0000+p3767-0000.dtb

arch/arm64/boot/dts/nvidia/tegra132.dtsi

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,7 @@
338338
reg-shift = <2>;
339339
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
340340
clocks = <&tegra_car TEGRA124_CLK_UARTA>;
341-
clock-names = "serial";
342341
resets = <&tegra_car 6>;
343-
reset-names = "serial";
344342
dmas = <&apbdma 8>, <&apbdma 8>;
345343
dma-names = "rx", "tx";
346344
status = "disabled";
@@ -352,9 +350,7 @@
352350
reg-shift = <2>;
353351
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
354352
clocks = <&tegra_car TEGRA124_CLK_UARTB>;
355-
clock-names = "serial";
356353
resets = <&tegra_car 7>;
357-
reset-names = "serial";
358354
dmas = <&apbdma 9>, <&apbdma 9>;
359355
dma-names = "rx", "tx";
360356
status = "disabled";
@@ -366,9 +362,7 @@
366362
reg-shift = <2>;
367363
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
368364
clocks = <&tegra_car TEGRA124_CLK_UARTC>;
369-
clock-names = "serial";
370365
resets = <&tegra_car 55>;
371-
reset-names = "serial";
372366
dmas = <&apbdma 10>, <&apbdma 10>;
373367
dma-names = "rx", "tx";
374368
status = "disabled";
@@ -380,9 +374,7 @@
380374
reg-shift = <2>;
381375
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
382376
clocks = <&tegra_car TEGRA124_CLK_UARTD>;
383-
clock-names = "serial";
384377
resets = <&tegra_car 65>;
385-
reset-names = "serial";
386378
dmas = <&apbdma 19>, <&apbdma 19>;
387379
dma-names = "rx", "tx";
388380
status = "disabled";

arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@
145145
/* SDMMC3 (SDIO) */
146146
mmc@3440000 {
147147
status = "okay";
148+
vqmmc-supply = <&vddio_sdmmc3>;
148149
};
149150

150151
/* SDMMC4 (eMMC) */

arch/arm64/boot/dts/nvidia/tegra186.dtsi

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -610,9 +610,7 @@
610610
reg-shift = <2>;
611611
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
612612
clocks = <&bpmp TEGRA186_CLK_UARTA>;
613-
clock-names = "serial";
614613
resets = <&bpmp TEGRA186_RESET_UARTA>;
615-
reset-names = "serial";
616614
status = "disabled";
617615
};
618616

arch/arm64/boot/dts/nvidia/tegra194.dtsi

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -745,9 +745,7 @@
745745
reg-shift = <2>;
746746
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
747747
clocks = <&bpmp TEGRA194_CLK_UARTA>;
748-
clock-names = "serial";
749748
resets = <&bpmp TEGRA194_RESET_UARTA>;
750-
reset-names = "serial";
751749
status = "disabled";
752750
};
753751

@@ -757,9 +755,7 @@
757755
reg-shift = <2>;
758756
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
759757
clocks = <&bpmp TEGRA194_CLK_UARTB>;
760-
clock-names = "serial";
761758
resets = <&bpmp TEGRA194_RESET_UARTB>;
762-
reset-names = "serial";
763759
status = "disabled";
764760
};
765761

arch/arm64/boot/dts/nvidia/tegra210.dtsi

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -618,9 +618,7 @@
618618
reg-shift = <2>;
619619
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
620620
clocks = <&tegra_car TEGRA210_CLK_UARTA>;
621-
clock-names = "serial";
622621
resets = <&tegra_car 6>;
623-
reset-names = "serial";
624622
dmas = <&apbdma 8>, <&apbdma 8>;
625623
dma-names = "rx", "tx";
626624
status = "disabled";
@@ -632,9 +630,7 @@
632630
reg-shift = <2>;
633631
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
634632
clocks = <&tegra_car TEGRA210_CLK_UARTB>;
635-
clock-names = "serial";
636633
resets = <&tegra_car 7>;
637-
reset-names = "serial";
638634
dmas = <&apbdma 9>, <&apbdma 9>;
639635
dma-names = "rx", "tx";
640636
status = "disabled";
@@ -646,9 +642,7 @@
646642
reg-shift = <2>;
647643
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
648644
clocks = <&tegra_car TEGRA210_CLK_UARTC>;
649-
clock-names = "serial";
650645
resets = <&tegra_car 55>;
651-
reset-names = "serial";
652646
dmas = <&apbdma 10>, <&apbdma 10>;
653647
dma-names = "rx", "tx";
654648
status = "disabled";
@@ -660,9 +654,7 @@
660654
reg-shift = <2>;
661655
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
662656
clocks = <&tegra_car TEGRA210_CLK_UARTD>;
663-
clock-names = "serial";
664657
resets = <&tegra_car 65>;
665-
reset-names = "serial";
666658
dmas = <&apbdma 19>, <&apbdma 19>;
667659
dma-names = "rx", "tx";
668660
status = "disabled";

arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts

Lines changed: 122 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#include <dt-bindings/input/linux-event-codes.h>
55
#include <dt-bindings/input/gpio-keys.h>
6+
#include <dt-bindings/sound/rt5640.h>
67

78
#include "tegra234-p3701-0000.dtsi"
89
#include "tegra234-p3737-0000.dtsi"
@@ -49,7 +50,7 @@
4950

5051
i2s1_dap: endpoint {
5152
dai-format = "i2s";
52-
/* placeholder for external codec */
53+
remote-endpoint = <&rt5640_ep>;
5354
};
5455
};
5556
};
@@ -2017,6 +2018,30 @@
20172018
status = "okay";
20182019
};
20192020

2021+
i2c@31e0000 {
2022+
status = "okay";
2023+
2024+
audio-codec@1c {
2025+
compatible = "realtek,rt5640";
2026+
reg = <0x1c>;
2027+
interrupt-parent = <&gpio>;
2028+
interrupts = <TEGRA234_MAIN_GPIO(AC, 5) GPIO_ACTIVE_HIGH>;
2029+
clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
2030+
clock-names = "mclk";
2031+
realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
2032+
realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
2033+
realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>;
2034+
sound-name-prefix = "CVB-RT";
2035+
2036+
port {
2037+
rt5640_ep: endpoint {
2038+
remote-endpoint = <&i2s1_dap>;
2039+
mclk-fs = <256>;
2040+
};
2041+
};
2042+
};
2043+
};
2044+
20202045
pwm@32a0000 {
20212046
assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
20222047
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
@@ -2073,11 +2098,21 @@
20732098
usb2-0 {
20742099
mode = "host";
20752100
status = "okay";
2101+
port {
2102+
hs_typec_p1: endpoint {
2103+
remote-endpoint = <&hs_ucsi_ccg_p1>;
2104+
};
2105+
};
20762106
};
20772107

20782108
usb2-1 {
20792109
mode = "host";
20802110
status = "okay";
2111+
port {
2112+
hs_typec_p0: endpoint {
2113+
remote-endpoint = <&hs_ucsi_ccg_p0>;
2114+
};
2115+
};
20812116
};
20822117

20832118
usb2-2 {
@@ -2093,11 +2128,21 @@
20932128
usb3-0 {
20942129
nvidia,usb2-companion = <1>;
20952130
status = "okay";
2131+
port {
2132+
ss_typec_p0: endpoint {
2133+
remote-endpoint = <&ss_ucsi_ccg_p0>;
2134+
};
2135+
};
20962136
};
20972137

20982138
usb3-1 {
20992139
nvidia,usb2-companion = <0>;
21002140
status = "okay";
2141+
port {
2142+
ss_typec_p1: endpoint {
2143+
remote-endpoint = <&ss_ucsi_ccg_p1>;
2144+
};
2145+
};
21012146
};
21022147

21032148
usb3-2 {
@@ -2190,6 +2235,64 @@
21902235
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
21912236
"p2u-5", "p2u-6", "p2u-7";
21922237
};
2238+
2239+
i2c@c240000 {
2240+
status = "okay";
2241+
typec@8 {
2242+
compatible = "cypress,cypd4226";
2243+
reg = <0x08>;
2244+
interrupt-parent = <&gpio>;
2245+
interrupts = <TEGRA234_MAIN_GPIO(Y, 4) IRQ_TYPE_LEVEL_LOW>;
2246+
firmware-name = "nvidia,jetson-agx-xavier";
2247+
status = "okay";
2248+
#address-cells = <1>;
2249+
#size-cells = <0>;
2250+
ccg_typec_con0: connector@0 {
2251+
compatible = "usb-c-connector";
2252+
reg = <0>;
2253+
label = "USB-C";
2254+
data-role = "host";
2255+
ports {
2256+
#address-cells = <1>;
2257+
#size-cells = <0>;
2258+
port@0 {
2259+
reg = <0>;
2260+
hs_ucsi_ccg_p0: endpoint {
2261+
remote-endpoint = <&hs_typec_p0>;
2262+
};
2263+
};
2264+
port@1 {
2265+
reg = <1>;
2266+
ss_ucsi_ccg_p0: endpoint {
2267+
remote-endpoint = <&ss_typec_p0>;
2268+
};
2269+
};
2270+
};
2271+
};
2272+
ccg_typec_con1: connector@1 {
2273+
compatible = "usb-c-connector";
2274+
reg = <1>;
2275+
label = "USB-C";
2276+
data-role = "dual";
2277+
ports {
2278+
#address-cells = <1>;
2279+
#size-cells = <0>;
2280+
port@0 {
2281+
reg = <0>;
2282+
hs_ucsi_ccg_p1: endpoint {
2283+
remote-endpoint = <&hs_typec_p1>;
2284+
};
2285+
};
2286+
port@1 {
2287+
reg = <1>;
2288+
ss_ucsi_ccg_p1: endpoint {
2289+
remote-endpoint = <&ss_typec_p1>;
2290+
};
2291+
};
2292+
};
2293+
};
2294+
};
2295+
};
21932296
};
21942297

21952298
gpio-keys {
@@ -2293,5 +2396,23 @@
22932396
<&dmic3_port>;
22942397

22952398
label = "NVIDIA Jetson AGX Orin APE";
2399+
2400+
widgets = "Microphone", "CVB-RT MIC Jack",
2401+
"Microphone", "CVB-RT MIC",
2402+
"Headphone", "CVB-RT HP Jack",
2403+
"Speaker", "CVB-RT SPK";
2404+
2405+
routing = /* I2S1 <-> RT5640 */
2406+
"CVB-RT AIF1 Playback", "I2S1 DAP-Playback",
2407+
"I2S1 DAP-Capture", "CVB-RT AIF1 Capture",
2408+
/* RT5640 codec controls */
2409+
"CVB-RT HP Jack", "CVB-RT HPOL",
2410+
"CVB-RT HP Jack", "CVB-RT HPOR",
2411+
"CVB-RT IN1P", "CVB-RT MIC Jack",
2412+
"CVB-RT IN2P", "CVB-RT MIC Jack",
2413+
"CVB-RT SPK", "CVB-RT SPOLP",
2414+
"CVB-RT SPK", "CVB-RT SPORP",
2415+
"CVB-RT DMIC1", "CVB-RT MIC",
2416+
"CVB-RT DMIC2", "CVB-RT MIC";
22962417
};
22972418
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
3+
#include "tegra234-p3767.dtsi"
4+
5+
/ {
6+
compatible = "nvidia,p3767-0000", "nvidia,tegra234";
7+
model = "NVIDIA Jetson Orin NX";
8+
9+
bus@0 {
10+
hda@3510000 {
11+
nvidia,model = "NVIDIA Jetson Orin NX HDA";
12+
};
13+
};
14+
};

0 commit comments

Comments
 (0)