* [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX
@ 2023-05-02 10:54 Shubhi Garg
2023-05-02 10:54 ` [PATCH 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Shubhi Garg @ 2023-05-02 10:54 UTC (permalink / raw)
To: robh+dt, krzysztof.kozlowski+dt, thierry.reding, jonathanh,
devicetree, linux-tegra
Cc: shgarg
Document the compatible strings used for Nvidia IGX Orin Development
kit which uses P3701 SKU8 and P3740 carrier board.
Signed-off-by: Shubhi Garg <shgarg@nvidia.com>
---
Documentation/devicetree/bindings/arm/tegra.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml
index 0df41f5b7e2a..6a5e303fba08 100644
--- a/Documentation/devicetree/bindings/arm/tegra.yaml
+++ b/Documentation/devicetree/bindings/arm/tegra.yaml
@@ -176,5 +176,11 @@ properties:
- const: nvidia,p3768-0000+p3767-0000
- const: nvidia,p3767-0000
- const: nvidia,tegra234
+ - description: NVIDIA IGX Orin Development Kit
+ items:
+ - const: nvidia,p3740-0002+p3701-0008
+ - const: nvidia,p3740-0002
+ - const: nvidia,p3701-0008
+ - const: nvidia,tegra234
additionalProperties: true
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] arm64: tegra: Add support for IGX Orin
2023-05-02 10:54 [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX Shubhi Garg
@ 2023-05-02 10:54 ` Shubhi Garg
2023-05-02 11:39 ` [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX Thierry Reding
2023-05-03 6:30 ` Krzysztof Kozlowski
2 siblings, 0 replies; 4+ messages in thread
From: Shubhi Garg @ 2023-05-02 10:54 UTC (permalink / raw)
To: robh+dt, krzysztof.kozlowski+dt, thierry.reding, jonathanh,
devicetree, linux-tegra
Cc: shgarg
Add support for the NVIDIA IGX Orin development kit having P3701
module with P3740 carrier board.
Signed-off-by: Shubhi Garg <shgarg@nvidia.com>
---
arch/arm64/boot/dts/nvidia/Makefile | 2 +
.../boot/dts/nvidia/tegra234-p3701-0008.dtsi | 111 +++++++++++++
.../nvidia/tegra234-p3740-0002+p3701-0008.dts | 156 ++++++++++++++++++
.../boot/dts/nvidia/tegra234-p3740-0002.dtsi | 137 +++++++++++++++
4 files changed, 406 insertions(+)
create mode 100644 arch/arm64/boot/dts/nvidia/tegra234-p3701-0008.dtsi
create mode 100644 arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dts
create mode 100644 arch/arm64/boot/dts/nvidia/tegra234-p3740-0002.dtsi
diff --git a/arch/arm64/boot/dts/nvidia/Makefile b/arch/arm64/boot/dts/nvidia/Makefile
index 1406d5d40b8f..2ea0058979d3 100644
--- a/arch/arm64/boot/dts/nvidia/Makefile
+++ b/arch/arm64/boot/dts/nvidia/Makefile
@@ -9,6 +9,7 @@ DTC_FLAGS_tegra194-p2972-0000 := -@
DTC_FLAGS_tegra194-p3509-0000+p3668-0000 := -@
DTC_FLAGS_tegra194-p3509-0000+p3668-0001 := -@
DTC_FLAGS_tegra234-p3737-0000+p3701-0000 := -@
+DTC_FLAGS_tegra234-p3740-0002+p3701-0008 := -@
DTC_FLAGS_tegra234-p3768-0000+p3767-0000 := -@
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
@@ -25,4 +26,5 @@ dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
+dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3740-0002+p3701-0008.dtb
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3768-0000+p3767-0000.dtb
diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3701-0008.dtsi b/arch/arm64/boot/dts/nvidia/tegra234-p3701-0008.dtsi
new file mode 100644
index 000000000000..e468352b8b7f
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra234-p3701-0008.dtsi
@@ -0,0 +1,111 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include "tegra234.dtsi"
+
+/ {
+ compatible = "nvidia,p3701-0008", "nvidia,tegra234";
+
+ bus@0 {
+ i2c@3160000 {
+ status = "okay";
+
+ eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ label = "module";
+ vcc-supply = <&vdd_1v8_hs>;
+ address-width = <8>;
+ pagesize = <8>;
+ size = <256>;
+ read-only;
+ };
+ };
+
+ spi@3270000 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <102000000>;
+ spi-tx-bus-width = <4>;
+ spi-rx-bus-width = <4>;
+ };
+ };
+
+ mmc@3460000 {
+ status = "okay";
+ bus-width = <8>;
+ non-removable;
+ };
+
+ i2c@c240000 {
+ status = "okay";
+ };
+
+ rtc@c2a0000 {
+ status = "okay";
+ };
+
+ pmc@c360000 {
+ nvidia,invert-interrupt;
+ };
+ };
+
+ bpmp {
+ i2c {
+ status = "okay";
+
+ thermal-sensor@4c {
+ status = "okay";
+ reg = <0x4c>;
+ vcc-supply = <&vdd_1v8_ao>;
+ };
+ };
+
+ thermal {
+ status = "okay";
+ };
+ };
+
+ vdd_1v8_ao: regulator-vdd-1v8-ao {
+ compatible = "regulator-fixed";
+ regulator-name = "VDD_1V8_AO";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ vdd_1v8_hs: regulator-vdd-1v8-hs {
+ compatible = "regulator-fixed";
+ regulator-name = "VDD_1V8_HS";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ vdd_1v8_ls: regulator-vdd-1v8-ls {
+ compatible = "regulator-fixed";
+ regulator-name = "VDD_1V8_LS";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ vdd_3v3_ao: regulator-vdd-3v3-ao {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd-AO-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ vdd_5v0_sys: regulator-vdd-5v0-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "VIN_SYS_5V0";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+};
diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dts b/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dts
new file mode 100644
index 000000000000..9464da34a139
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dts
@@ -0,0 +1,156 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/input/gpio-keys.h>
+#include "tegra234-p3701-0008.dtsi"
+#include "tegra234-p3740-0002.dtsi"
+
+/ {
+ model = "NVIDIA IGX Orin Development Kit";
+ compatible = "nvidia,p3740-0002+p3701-0008", "nvidia,p3740-0002",
+ "nvidia,p3701-0008", "nvidia,tegra234";
+
+ bus@0 {
+ host1x@13e00000 {
+ nvdec@15480000 {
+ status = "okay";
+ };
+ };
+
+ pcie@140e0000 {
+ status = "okay";
+ vddio-pex-ctl-supply = <&vdd_1v8_ls>;
+ phys = <&p2u_gbe_4>, <&p2u_gbe_5>;
+ phy-names = "p2u-0", "p2u-1";
+ };
+
+ pcie@14100000 {
+ status = "okay";
+ vddio-pex-ctl-supply = <&vdd_1v8_ao>;
+ phys = <&p2u_hsio_3>;
+ phy-names = "p2u-0";
+ };
+
+ pcie@14160000 {
+ status = "okay";
+ vddio-pex-ctl-supply = <&vdd_1v8_ao>;
+ phys = <&p2u_hsio_7>, <&p2u_hsio_6>, <&p2u_hsio_5>,
+ <&p2u_hsio_4>;
+ phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
+ };
+
+ pcie@141a0000 {
+ status = "okay";
+ vddio-pex-ctl-supply = <&vdd_1v8_ls>;
+ phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
+ <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
+ <&p2u_nvhs_6>, <&p2u_nvhs_7>;
+ phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
+ "p2u-5", "p2u-6", "p2u-7";
+ };
+
+ pcie@141e0000 {
+ status = "okay";
+ vddio-pex-ctl-supply = <&vdd_1v8_ls>;
+ phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
+ phy-names = "p2u-0", "p2u-1";
+ };
+
+ aconnect@2900000 {
+ status = "okay";
+ };
+
+ serial@3100000 {
+ compatible = "nvidia,tegra194-hsuart";
+ status = "okay";
+ };
+
+ i2c@3160000 {
+ status = "okay";
+ };
+
+ i2c@3180000 {
+ status = "okay";
+ };
+
+ i2c@3190000 {
+ status = "okay";
+ };
+
+ i2c@31b0000 {
+ status = "okay";
+ };
+
+ i2c@31c0000 {
+ status = "okay";
+
+ };
+
+ i2c@31e0000 {
+ status = "okay";
+ };
+
+ spi@3270000 {
+ status = "okay";
+ };
+
+ hda@3510000 {
+ nvidia,model = "NVIDIA IGX HDA";
+ status = "okay";
+ };
+
+ fuse@3810000 {
+ status = "okay";
+ };
+
+ i2c@c240000 {
+ status = "okay";
+ };
+
+ i2c@c250000 {
+ status = "okay";
+ };
+ };
+
+ aliases {
+ serial0 = &tcu;
+ };
+
+ chosen {
+ bootargs = "console=ttyTCU0,115200n8";
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ status = "okay";
+
+ key-force-recovery {
+ label = "Force Recovery";
+ gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_KEY>;
+ linux,code = <BTN_1>;
+ };
+
+ key-power {
+ label = "Power";
+ gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_KEY>;
+ linux,code = <KEY_POWER>;
+ wakeup-event-action = <EV_ACT_ASSERTED>;
+ wakeup-source;
+ };
+
+ key-suspend {
+ label = "Suspend";
+ gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_KEY>;
+ linux,code = <KEY_SLEEP>;
+ };
+ };
+
+ serial {
+ status = "okay";
+ };
+};
diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002.dtsi b/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002.dtsi
new file mode 100644
index 000000000000..c95063b19321
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002.dtsi
@@ -0,0 +1,137 @@
+// SPDX-License-Identifier: GPL-2.0
+
+/ {
+ compatible = "nvidia,p3740-0002";
+
+ bus@0 {
+ i2c@31c0000 {
+ /* carrier board ID EEPROM */
+ eeprom@55 {
+ compatible = "atmel,24c02";
+ reg = <0x55>;
+
+ label = "system";
+ vcc-supply = <&vdd_1v8_ls>;
+ address-width = <8>;
+ pagesize = <8>;
+ size = <256>;
+ read-only;
+ };
+ };
+
+ padctl@3520000 {
+ vclamp-usb-supply = <&vdd_1v8_ao>;
+ avdd-usb-supply = <&vdd_3v3_ao>;
+ status = "okay";
+
+ pads {
+ usb2 {
+ lanes {
+ usb2-0 {
+ nvidia,function = "xusb";
+ status = "okay";
+ };
+
+ usb2-1 {
+ nvidia,function = "xusb";
+ status = "okay";
+ };
+
+ usb2-2 {
+ nvidia,function = "xusb";
+ status = "okay";
+ };
+
+ usb2-3 {
+ nvidia,function = "xusb";
+ status = "okay";
+ };
+ };
+ };
+
+ usb3 {
+ lanes {
+ usb3-0 {
+ nvidia,function = "xusb";
+ status = "okay";
+ };
+
+ usb3-1 {
+ nvidia,function = "xusb";
+ status = "okay";
+ };
+
+ usb3-2 {
+ nvidia,function = "xusb";
+ status = "okay";
+ };
+ };
+ };
+ };
+
+ ports {
+ usb2-0 {
+ mode = "otg";
+ usb-role-switch;
+ status = "okay";
+ vbus-supply = <&vdd_5v0_sys>;
+ };
+
+ usb2-1 {
+ mode = "host";
+ status = "okay";
+ vbus-supply = <&vdd_5v0_sys>;
+ };
+
+ usb2-2 {
+ mode = "host";
+ status = "okay";
+ vbus-supply = <&vdd_5v0_sys>;
+ };
+
+ usb2-3 {
+ mode = "host";
+ status = "okay";
+ vbus-supply = <&vdd_5v0_sys>;
+ };
+
+ usb3-0 {
+ nvidia,usb2-companion = <2>;
+ status = "okay";
+ };
+
+ usb3-1 {
+ nvidia,usb2-companion = <0>;
+ status = "okay";
+ };
+
+ usb3-2 {
+ nvidia,usb2-companion = <1>;
+ status = "okay";
+ };
+ };
+ };
+
+ usb@3550000 {
+ status = "okay";
+
+ phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
+ <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
+ phy-names = "usb2-0", "usb3-0";
+ };
+
+ usb@3610000 {
+ status = "okay";
+
+ phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
+ <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
+ <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
+ <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
+ <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
+ <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
+ <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
+ phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
+ "usb3-0", "usb3-1", "usb3-2";
+ };
+ };
+};
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX
2023-05-02 10:54 [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX Shubhi Garg
2023-05-02 10:54 ` [PATCH 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
@ 2023-05-02 11:39 ` Thierry Reding
2023-05-03 6:30 ` Krzysztof Kozlowski
2 siblings, 0 replies; 4+ messages in thread
From: Thierry Reding @ 2023-05-02 11:39 UTC (permalink / raw)
To: Shubhi Garg
Cc: robh+dt, krzysztof.kozlowski+dt, jonathanh, devicetree,
linux-tegra
[-- Attachment #1: Type: text/plain, Size: 1543 bytes --]
On Tue, May 02, 2023 at 10:54:36AM +0000, Shubhi Garg wrote:
> Document the compatible strings used for Nvidia IGX Orin Development
> kit which uses P3701 SKU8 and P3740 carrier board.
>
> Signed-off-by: Shubhi Garg <shgarg@nvidia.com>
> ---
> Documentation/devicetree/bindings/arm/tegra.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml
> index 0df41f5b7e2a..6a5e303fba08 100644
> --- a/Documentation/devicetree/bindings/arm/tegra.yaml
> +++ b/Documentation/devicetree/bindings/arm/tegra.yaml
> @@ -176,5 +176,11 @@ properties:
> - const: nvidia,p3768-0000+p3767-0000
> - const: nvidia,p3767-0000
> - const: nvidia,tegra234
> + - description: NVIDIA IGX Orin Development Kit
> + items:
> + - const: nvidia,p3740-0002+p3701-0008
> + - const: nvidia,p3740-0002
We don't usually list the carrier board here. The reasoning is that we
first list the most specific combination (carrier + module) that the
device tree describes, then the module (which theoretically the same
device tree should also be able to run on) and finally the SoC. The OS
wouldn't know what to do with just the SoC, but we list it to make it
clear what SoC family this is.
The carrier board, on the other hand, is not something that the OS can
run on standalone because it doesn't have a CPU, so we omit that from
the list of compatible strings.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX
2023-05-02 10:54 [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX Shubhi Garg
2023-05-02 10:54 ` [PATCH 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
2023-05-02 11:39 ` [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX Thierry Reding
@ 2023-05-03 6:30 ` Krzysztof Kozlowski
2 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-03 6:30 UTC (permalink / raw)
To: Shubhi Garg, robh+dt, krzysztof.kozlowski+dt, thierry.reding,
jonathanh, devicetree, linux-tegra
On 02/05/2023 12:54, Shubhi Garg wrote:
> Document the compatible strings used for Nvidia IGX Orin Development
> kit which uses P3701 SKU8 and P3740 carrier board.
>
> Signed-off-by: Shubhi Garg <shgarg@nvidia.com>
> ---
> Documentation/devicetree/bindings/arm/tegra.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
I just saw it and reviewed it, so both are v1?
use proper versioning and add missing changelogs to the patches.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-05-03 6:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-02 10:54 [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX Shubhi Garg
2023-05-02 10:54 ` [PATCH 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
2023-05-02 11:39 ` [PATCH 1/2] dt-bindings: tegra: Document compatible for IGX Thierry Reding
2023-05-03 6:30 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).