* [PATCH 0/5] arm64: tegra: Miscellaneous I2C changes on Tegra264
@ 2026-09-18 9:06 Thierry Reding
2026-09-18 9:06 ` [PATCH 1/5] arm64: tegra: Add missing *-cells properties for I2C controllers Thierry Reding
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Thierry Reding @ 2026-09-18 9:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: devicetree, linux-tegra, linux-kernel, Thierry Reding
This series of patches fixes some minor issues with the I2C controllers
on Tegra264 and adds some I2C clients that are useful for these systems.
Patch 1 adds the missing #address-cells and #size-cells properties for
all I2C controllers. These had gone unnoticed since no I2C clients had
been added so far.
Patch 2 ensures the I2C controllers are consistently named (and their
names correspond to those find in various documents) by adding aliases
to them.
The module and system EEPROMs found on most modern Jetson devices are
added in patches 3 and 4.
Finally, the thermal sensor found on the Jetson AGX Thor module is
described in patch 5. This allows reading the local temperature of the
module.
Thierry
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Thierry Reding (5):
arm64: tegra: Add missing *-cells properties for I2C controllers
arm64: tegra: Add I2C aliases for Tegra264
arm64: tegra: Add NVIDIA Jetson AGX Thor module EEPROM
arm64: tegra: Add NVIDIA Jetson AGX Thor system EEPROM
arm64: tegra: Add thermal senser for Jetson AGX Thor
arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 25 +++++++++++
.../boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi | 14 +++++++
arch/arm64/boot/dts/nvidia/tegra264.dtsi | 49 ++++++++++++++++++++++
3 files changed, 88 insertions(+)
---
base-commit: e657a464aba873f5eaf3ca821b6e4016674492d6
change-id: 20260918-tegra264-i2c-521c0e9e50d3
Best regards,
--
Thierry Reding <treding@nvidia.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/5] arm64: tegra: Add missing *-cells properties for I2C controllers
2026-09-18 9:06 [PATCH 0/5] arm64: tegra: Miscellaneous I2C changes on Tegra264 Thierry Reding
@ 2026-09-18 9:06 ` Thierry Reding
2026-09-18 9:06 ` [PATCH 2/5] arm64: tegra: Add I2C aliases for Tegra264 Thierry Reding
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Thierry Reding @ 2026-09-18 9:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: devicetree, linux-tegra, linux-kernel, Thierry Reding
From: Thierry Reding <treding@nvidia.com>
The I2C controllers on Tegra264 are missing the #address-cells and
devices are added below them.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra264.dtsi | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra264.dtsi b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
index b84f93ad227e..a5049e1a0571 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
@@ -3311,6 +3311,8 @@ i2c2: i2c@c600000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x0 0x0c600000 0x0 0x10000>;
interrupts = <GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_AON_I2C>,
<&bpmp TEGRA264_CLK_PLLAON>;
@@ -3326,6 +3328,8 @@ i2c3: i2c@c610000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x0 0x0c610000 0x0 0x10000>;
interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_AON_I2C>,
<&bpmp TEGRA264_CLK_PLLAON>;
@@ -3623,6 +3627,8 @@ i2c14: i2c@c410000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c410000 0x0 0x10000>;
interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3638,6 +3644,8 @@ i2c15: i2c@c420000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c420000 0x0 0x10000>;
interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3653,6 +3661,8 @@ i2c16: i2c@c430000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c430000 0x0 0x10000>;
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3728,6 +3738,8 @@ i2c0: i2c@c630000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c630000 0x0 0x10000>;
interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3743,6 +3755,8 @@ i2c1: i2c@c640000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c640000 0x0 0x10000>;
interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3758,6 +3772,8 @@ i2c4: i2c@c650000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c650000 0x0 0x10000>;
interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3773,6 +3789,8 @@ i2c6: i2c@c670000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c670000 0x0 0x10000>;
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3788,6 +3806,8 @@ i2c7: i2c@c680000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c680000 0x0 0x10000>;
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3803,6 +3823,8 @@ i2c8: i2c@c690000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c690000 0x0 0x10000>;
interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3818,6 +3840,8 @@ i2c9: i2c@c6a0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6a0000 0x0 0x10000>;
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3833,6 +3857,8 @@ i2c10: i2c@c6b0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6b0000 0x0 0x10000>;
interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3848,6 +3874,8 @@ i2c11: i2c@c6c0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6c0000 0x0 0x10000>;
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
@@ -3863,6 +3891,8 @@ i2c12: i2c@c6d0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6d0000 0x0 0x10000>;
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/5] arm64: tegra: Add I2C aliases for Tegra264
2026-09-18 9:06 [PATCH 0/5] arm64: tegra: Miscellaneous I2C changes on Tegra264 Thierry Reding
2026-09-18 9:06 ` [PATCH 1/5] arm64: tegra: Add missing *-cells properties for I2C controllers Thierry Reding
@ 2026-09-18 9:06 ` Thierry Reding
2026-09-18 9:06 ` [PATCH 3/5] arm64: tegra: Add NVIDIA Jetson AGX Thor module EEPROM Thierry Reding
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Thierry Reding @ 2026-09-18 9:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: devicetree, linux-tegra, linux-kernel, Thierry Reding
From: Thierry Reding <treding@nvidia.com>
List all aliases for the I2C controllers found on Tegra264 so that they
are numbered according to the TRM.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra264.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra264.dtsi b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
index a5049e1a0571..8226e074df11 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
@@ -16,6 +16,25 @@ / {
#address-cells = <2>;
#size-cells = <2>;
+ aliases {
+ i2c0 = &i2c0;
+ i2c1 = &i2c1;
+ i2c2 = &i2c2;
+ i2c3 = &i2c3;
+ i2c4 = &i2c4;
+ i2c5 = &{/bpmp/i2c};
+ i2c6 = &i2c6;
+ i2c7 = &i2c7;
+ i2c8 = &i2c8;
+ i2c9 = &i2c9;
+ i2c10 = &i2c10;
+ i2c11 = &i2c11;
+ i2c12 = &i2c12;
+ i2c14 = &i2c14;
+ i2c15 = &i2c15;
+ i2c16 = &i2c16;
+ };
+
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/5] arm64: tegra: Add NVIDIA Jetson AGX Thor module EEPROM
2026-09-18 9:06 [PATCH 0/5] arm64: tegra: Miscellaneous I2C changes on Tegra264 Thierry Reding
2026-09-18 9:06 ` [PATCH 1/5] arm64: tegra: Add missing *-cells properties for I2C controllers Thierry Reding
2026-09-18 9:06 ` [PATCH 2/5] arm64: tegra: Add I2C aliases for Tegra264 Thierry Reding
@ 2026-09-18 9:06 ` Thierry Reding
2026-09-18 9:06 ` [PATCH 4/5] arm64: tegra: Add NVIDIA Jetson AGX Thor system EEPROM Thierry Reding
2026-09-18 9:06 ` [PATCH 5/5] arm64: tegra: Add thermal senser for Jetson AGX Thor Thierry Reding
4 siblings, 0 replies; 7+ messages in thread
From: Thierry Reding @ 2026-09-18 9:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: devicetree, linux-tegra, linux-kernel, Thierry Reding
From: Thierry Reding <treding@nvidia.com>
Like most previous Jetson devices, the Jetson AGX Thor has EEPROMs used
to identify the module. Add the device tree node describing this EEPROM.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
index d4c9f45e03c1..eb157b0168f0 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
@@ -38,6 +38,20 @@ iommu@6000000 {
cmdqv@6200000 {
status = "okay";
};
+
+ i2c@c640000 {
+ status = "okay";
+
+ eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ label = "module";
+ address-width = <8>;
+ pagesize = <8>;
+ size = <256>;
+ read-only;
+ };
+ };
};
thermal-zones {
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/5] arm64: tegra: Add NVIDIA Jetson AGX Thor system EEPROM
2026-09-18 9:06 [PATCH 0/5] arm64: tegra: Miscellaneous I2C changes on Tegra264 Thierry Reding
` (2 preceding siblings ...)
2026-09-18 9:06 ` [PATCH 3/5] arm64: tegra: Add NVIDIA Jetson AGX Thor module EEPROM Thierry Reding
@ 2026-09-18 9:06 ` Thierry Reding
2026-09-18 9:06 ` [PATCH 5/5] arm64: tegra: Add thermal senser for Jetson AGX Thor Thierry Reding
4 siblings, 0 replies; 7+ messages in thread
From: Thierry Reding @ 2026-09-18 9:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: devicetree, linux-tegra, linux-kernel, Thierry Reding
From: Thierry Reding <treding@nvidia.com>
Like most previous Jetson devices, the Jetson AGX Thor has EEPROMs used
to identify the system. Add the device tree node describing this EEPROM.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi b/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi
index 86ce40e80c73..62ca7e4d227e 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi
@@ -19,6 +19,20 @@ pwm@c6a0000 {
};
};
+ bus@8100000000 {
+ i2c@c640000 {
+ eeprom@56 {
+ compatible = "atmel,24c02";
+ reg = <0x56>;
+ label = "system";
+ address-width = <8>;
+ pagesize = <8>;
+ size = <256>;
+ read-only;
+ };
+ };
+ };
+
fan: pwm-fan {
compatible = "pwm-fan";
cooling-levels = <77 102 140 192 255>;
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 5/5] arm64: tegra: Add thermal senser for Jetson AGX Thor
2026-09-18 9:06 [PATCH 0/5] arm64: tegra: Miscellaneous I2C changes on Tegra264 Thierry Reding
` (3 preceding siblings ...)
2026-09-18 9:06 ` [PATCH 4/5] arm64: tegra: Add NVIDIA Jetson AGX Thor system EEPROM Thierry Reding
@ 2026-09-18 9:06 ` Thierry Reding
2026-09-18 12:56 ` Thierry Reding
4 siblings, 1 reply; 7+ messages in thread
From: Thierry Reding @ 2026-09-18 9:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: devicetree, linux-tegra, linux-kernel, Thierry Reding
From: Thierry Reding <treding@nvidia.com>
The Jetson AGX Thor module contains a thermal sensor that can be used to
read out the local temperature. Add a device tree node describing this
sensor.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
index eb157b0168f0..f39f33a66cd2 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
@@ -54,6 +54,17 @@ eeprom@50 {
};
};
+ bpmp {
+ i2c {
+ status = "okay";
+
+ thermal-sensor@4c {
+ compatible = "ti,tmp451";
+ reg = <0x4c>;
+ };
+ };
+ };
+
thermal-zones {
cpu-thermal {
polling-delay-passive = <40>;
--
2.55.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 5/5] arm64: tegra: Add thermal senser for Jetson AGX Thor
2026-09-18 9:06 ` [PATCH 5/5] arm64: tegra: Add thermal senser for Jetson AGX Thor Thierry Reding
@ 2026-09-18 12:56 ` Thierry Reding
0 siblings, 0 replies; 7+ messages in thread
From: Thierry Reding @ 2026-09-18 12:56 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter
Cc: devicetree, linux-tegra, linux-kernel, Thierry Reding
[-- Attachment #1: Type: text/plain, Size: 588 bytes --]
On Fri, Sep 18, 2026 at 11:06:57AM +0200, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
>
> The Jetson AGX Thor module contains a thermal sensor that can be used to
> read out the local temperature. Add a device tree node describing this
> sensor.
>
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
> arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 11 +++++++++++
> 1 file changed, 11 insertions(+)
FWIW, I fixed up the stupid typo in the subject. For some reason it only
stood out at me when looking at the patchwork listing.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-09-18 12:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-18 9:06 [PATCH 0/5] arm64: tegra: Miscellaneous I2C changes on Tegra264 Thierry Reding
2026-09-18 9:06 ` [PATCH 1/5] arm64: tegra: Add missing *-cells properties for I2C controllers Thierry Reding
2026-09-18 9:06 ` [PATCH 2/5] arm64: tegra: Add I2C aliases for Tegra264 Thierry Reding
2026-09-18 9:06 ` [PATCH 3/5] arm64: tegra: Add NVIDIA Jetson AGX Thor module EEPROM Thierry Reding
2026-09-18 9:06 ` [PATCH 4/5] arm64: tegra: Add NVIDIA Jetson AGX Thor system EEPROM Thierry Reding
2026-09-18 9:06 ` [PATCH 5/5] arm64: tegra: Add thermal senser for Jetson AGX Thor Thierry Reding
2026-09-18 12:56 ` Thierry Reding
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®