* [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX
@ 2023-05-02 15:02 Shubhi Garg
2023-05-02 15:02 ` [PATCH v1 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
2023-05-03 6:22 ` [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX Krzysztof Kozlowski
0 siblings, 2 replies; 6+ messages in thread
From: Shubhi Garg @ 2023-05-02 15:02 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 | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml
index 0df41f5b7e2a..34523b8b5d1f 100644
--- a/Documentation/devicetree/bindings/arm/tegra.yaml
+++ b/Documentation/devicetree/bindings/arm/tegra.yaml
@@ -176,5 +176,10 @@ 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,p3701-0008
+ - const: nvidia,tegra234
additionalProperties: true
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v1 2/2] arm64: tegra: Add support for IGX Orin
2023-05-02 15:02 [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX Shubhi Garg
@ 2023-05-02 15:02 ` Shubhi Garg
2023-05-04 12:21 ` Thierry Reding
2023-05-03 6:22 ` [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX Krzysztof Kozlowski
1 sibling, 1 reply; 6+ messages in thread
From: Shubhi Garg @ 2023-05-02 15:02 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 | 155 ++++++++++++++++++
.../boot/dts/nvidia/tegra234-p3740-0002.dtsi | 137 ++++++++++++++++
4 files changed, 405 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..3ac8070918bb
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dts
@@ -0,0 +1,155 @@
+// 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,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] 6+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX
2023-05-02 15:02 [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX Shubhi Garg
2023-05-02 15:02 ` [PATCH v1 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
@ 2023-05-03 6:22 ` Krzysztof Kozlowski
2023-05-03 9:18 ` Thierry Reding
1 sibling, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-03 6:22 UTC (permalink / raw)
To: Shubhi Garg, robh+dt, krzysztof.kozlowski+dt, thierry.reding,
jonathanh, devicetree, linux-tegra
On 02/05/2023 17:02, 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 | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml
> index 0df41f5b7e2a..34523b8b5d1f 100644
> --- a/Documentation/devicetree/bindings/arm/tegra.yaml
> +++ b/Documentation/devicetree/bindings/arm/tegra.yaml
> @@ -176,5 +176,10 @@ 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,p3701-0008
> + - const: nvidia,tegra234
>
Don't stuff things to the end, but put in some logical order. For
example 'I' could be before 'N'.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX
2023-05-03 6:22 ` [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX Krzysztof Kozlowski
@ 2023-05-03 9:18 ` Thierry Reding
2023-05-03 14:07 ` Krzysztof Kozlowski
0 siblings, 1 reply; 6+ messages in thread
From: Thierry Reding @ 2023-05-03 9:18 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Shubhi Garg, robh+dt, krzysztof.kozlowski+dt, jonathanh,
devicetree, linux-tegra
[-- Attachment #1: Type: text/plain, Size: 2387 bytes --]
On Wed, May 03, 2023 at 08:22:21AM +0200, Krzysztof Kozlowski wrote:
> On 02/05/2023 17:02, 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 | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml
> > index 0df41f5b7e2a..34523b8b5d1f 100644
> > --- a/Documentation/devicetree/bindings/arm/tegra.yaml
> > +++ b/Documentation/devicetree/bindings/arm/tegra.yaml
> > @@ -176,5 +176,10 @@ 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,p3701-0008
> > + - const: nvidia,tegra234
> >
>
> Don't stuff things to the end, but put in some logical order. For
> example 'I' could be before 'N'.
Sorting these alphabetically doesn't work well because it's not very
deterministic. So far we've always grouped these by SoC family and
within each group they are sorted chronologically. Chronologically
here being determined by the upstream activity. We could perhaps make
that a bit more formal by sorting by part number. Those are usually
assigned at design time (i.e. p3740 was designed prior to p3768), so
in that case the IGX would be sorted after the AGX Orin.
The NVIDIA in the description is something we haven't been very strict
about. It'd probably be a good idea to add that wherever relevant since
other vendors make products with these modules.
We could also add comments to the list to visually separate the SoC
family groups. That's something for another patch, though.
Would you agree with chronological (by part number) sorting? In practice
this would tend towards new things getting added to the end, but I think
it's the least confusing for people looking at these lists. For instance
if I buy a very recent device, I would expect it to show up somewhere
close to the end of a list rather than potentially very high up.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX
2023-05-03 9:18 ` Thierry Reding
@ 2023-05-03 14:07 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-03 14:07 UTC (permalink / raw)
To: Thierry Reding
Cc: Shubhi Garg, robh+dt, krzysztof.kozlowski+dt, jonathanh,
devicetree, linux-tegra
On 03/05/2023 11:18, Thierry Reding wrote:
> On Wed, May 03, 2023 at 08:22:21AM +0200, Krzysztof Kozlowski wrote:
>> On 02/05/2023 17:02, 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 | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml
>>> index 0df41f5b7e2a..34523b8b5d1f 100644
>>> --- a/Documentation/devicetree/bindings/arm/tegra.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/tegra.yaml
>>> @@ -176,5 +176,10 @@ 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,p3701-0008
>>> + - const: nvidia,tegra234
>>>
>>
>> Don't stuff things to the end, but put in some logical order. For
>> example 'I' could be before 'N'.
>
> Sorting these alphabetically doesn't work well because it's not very
> deterministic. So far we've always grouped these by SoC family and
> within each group they are sorted chronologically. Chronologically
> here being determined by the upstream activity. We could perhaps make
> that a bit more formal by sorting by part number. Those are usually
> assigned at design time (i.e. p3740 was designed prior to p3768), so
> in that case the IGX would be sorted after the AGX Orin.
>
> The NVIDIA in the description is something we haven't been very strict
> about. It'd probably be a good idea to add that wherever relevant since
> other vendors make products with these modules.
>
> We could also add comments to the list to visually separate the SoC
> family groups. That's something for another patch, though.
>
> Would you agree with chronological (by part number) sorting? In practice
> this would tend towards new things getting added to the end, but I think
> it's the least confusing for people looking at these lists. For instance
> if I buy a very recent device, I would expect it to show up somewhere
> close to the end of a list rather than potentially very high up.
Yeah, this works as well. I assumed something around this. Probably this
should should go then one step up.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 2/2] arm64: tegra: Add support for IGX Orin
2023-05-02 15:02 ` [PATCH v1 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
@ 2023-05-04 12:21 ` Thierry Reding
0 siblings, 0 replies; 6+ messages in thread
From: Thierry Reding @ 2023-05-04 12:21 UTC (permalink / raw)
To: Shubhi Garg
Cc: robh+dt, krzysztof.kozlowski+dt, jonathanh, devicetree,
linux-tegra
[-- Attachment #1: Type: text/plain, Size: 3608 bytes --]
On Tue, May 02, 2023 at 03:02:49PM +0000, Shubhi Garg wrote:
[...]
> 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..3ac8070918bb
> --- /dev/null
> +++ b/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dts
> @@ -0,0 +1,155 @@
> +// 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,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";
> + };
This is admittedly a little unintuitive, but "aliases" and "chosen" are
special in that they are ordered at the top of the file (i.e.
immediately before the bus@0 node, and then alphabetically). That's
because they have special meaning, as opposed to the others below which
are just devices that don't have an address region and therefore no
unit-address.
Also, can you try testing this with the "bootargs" property dropped? I
have done some testing on older platforms and that doesn't seem to be
necessary since we have "stdout-path". It'd be good to confirm that it
holds true on IGX and if so we can drop "bootargs". I have work in
progress patches to do this on several other devices.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-05-04 12:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-02 15:02 [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX Shubhi Garg
2023-05-02 15:02 ` [PATCH v1 2/2] arm64: tegra: Add support for IGX Orin Shubhi Garg
2023-05-04 12:21 ` Thierry Reding
2023-05-03 6:22 ` [PATCH v1 1/2] dt-bindings: tegra: Document compatible for IGX Krzysztof Kozlowski
2023-05-03 9:18 ` Thierry Reding
2023-05-03 14:07 ` 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).