arm64: tegra: Device tree changes for v6.18-rc1

Add I2C nodes for Tegra264. These are currently unused but are needed
 for subsequent audio patches, as well as various monitoring and other
 auxiliary chips.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmjGXtAACgkQ3SOs138+
 s6E8Rw//RE9bHO49GaFpEdbKVoiNEiX9TMqdbYdc4OqUonWVXh8/lA5vWMO4+23H
 qxjXNibIGarqD99VozzazRykm2gCZ7/ppFndNvAFRGhbUAAK57aNF8ldMqDNXVOA
 4Vu8/lm4Pnlw4b7mSfFT2LwOXZi/xTjS9X7F1oz249jU8aiVMdkMLrFjXY8kFPup
 iYCakPI1AH9JEvUgOqDvZy2xkWIOqAzxtAxgzoAmOSBhswIRWyG+lKdqMVfRGimO
 5XI9q/9M9PXUxc9aIarFUHKimiVPSzb+5DAZX0dzVQGv/ql9qokgDZegG47pNDaf
 FE7Ajfqngpe4IVvBdnzm2I99x3ZprSuSMZetY8Ck2dOK+XHtM5Gd2uQTF/EN9anE
 7gZeJYjsDPo69yLorN/4Wur5Afd7rqyAFJaptlkJ0t4FqwLWnp2NhGeQbA61fQ2m
 IF31zslSG8rdMjIuRygCICEm31UA8lWzXTYR8GT34OimtKyGcbCfO7BYzU0lqGpn
 XlqTVubTPHPbIoKNqRaWMTO5oev6Itqb+7PSb7+yda7kZ01anj1Y81ZtLmAfcvf4
 UpTfaDhz2gasVZss+kbDnMR8Y8GBjyIaU0+IYUFPvQMd6h/pD4+KlTIGcvxrD1UD
 zYEaW5Rgbd1yfiz7anNL5t0VicDQrNtx9h/0gwPMqU7Bg5dJ1+0=
 =uV4I
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjIFssACgkQmmx57+YA
 GNnA1Q//Z6bboaybxh1BAREyERbToxIOW4FB2EM3PCKrQDNGJeOsm9ZRnA8BvJI6
 JIp/8k2fXj9hklKJT8qCyZfOZ72eEnT2q6y7Huo/rFTCb5VKXdVMZQ71WzuDzir1
 t3FvHX0t7heIznF2qUMZ/Om5abPNsI6vBpWHiPBKZMixTK2S2zImB5/+KtjlFIwV
 FAYtd8LfINfrZ5G7eoPm2UH6gWdvuUdrXQF5ZFoaL9EjFxqRrM+10auwOZVtnUwM
 EEazGAS5MxF3lQmES4+ML6Q0uRLMsRlYuVQo8+JwJRQlRTBGT6sASTcc2TrJGytC
 EpGGLc+oymKySZDeEhx+LbXADAnhjmzSemsvtiwjH4mRtfEHshVUceCxGrACpQaR
 BBUG0agaraMu+mw5YiNZfjNiv1rP+RRcWNgMfqcDvn4yPFv5gmczU57u4+GKN3jl
 Dl6d+WQx4eJK8Zg2pK/JfrFYrwNy2fUO4KU7fLHZIoPk3QH0M7RENbsowjwwera+
 FHWAPxVix93SblnFrw1S+StasW5AcMZjclgpClo1Uny+K3aeahbe+ztW6SMsyUKc
 XDiPWZbwf3H5FbcHRIphGTkzphx+QCzzjj7FUkdXXv496mRJw5cJJK/4pFxPntmZ
 HhegfNK48jYimufYT+22VUeMqjYcj34yXYR0OAXi4LxTpOetJJY=
 =+FdY
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

arm64: tegra: Device tree changes for v6.18-rc1

Add I2C nodes for Tegra264. These are currently unused but are needed
for subsequent audio patches, as well as various monitoring and other
auxiliary chips.

* tag 'tegra-for-6.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Add I2C nodes for Tegra264

Link: https://lore.kernel.org/r/20250914063927.89981-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-09-15 15:38:17 +02:00
commit d75f5aded4

View File

@ -148,6 +148,36 @@ uart0: serial@c5f0000 {
status = "disabled";
};
i2c2: i2c@c600000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x0 0x0c600000 0x0 0x10000>;
interrupts = <GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_AON_I2C>,
<&bpmp TEGRA264_CLK_PLLAON>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_AON_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLAON>;
resets = <&bpmp TEGRA264_RESET_I2C2>;
reset-names = "i2c";
status = "disabled";
};
i2c3: i2c@c610000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x0 0x0c610000 0x0 0x10000>;
interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_AON_I2C>,
<&bpmp TEGRA264_CLK_PLLAON>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_AON_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLAON>;
resets = <&bpmp TEGRA264_RESET_I2C3>;
reset-names = "i2c";
status = "disabled";
};
pmc: pmc@c800000 {
compatible = "nvidia,tegra264-pmc";
reg = <0x0 0x0c800000 0x0 0x100000>,
@ -272,6 +302,201 @@ smmu4: iommu@b000000 {
dma-coherent;
};
i2c14: i2c@c410000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c410000 0x0 0x10000>;
interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C14>;
reset-names = "i2c";
status = "disabled";
};
i2c15: i2c@c420000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c420000 0x0 0x10000>;
interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C15>;
reset-names = "i2c";
status = "disabled";
};
i2c16: i2c@c430000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c430000 0x0 0x10000>;
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C16>;
reset-names = "i2c";
status = "disabled";
};
i2c0: i2c@c630000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c630000 0x0 0x10000>;
interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C0>;
reset-names = "i2c";
status = "disabled";
};
i2c1: i2c@c640000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c640000 0x0 0x10000>;
interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C1>;
reset-names = "i2c";
status = "disabled";
};
i2c4: i2c@c650000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c650000 0x0 0x10000>;
interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C4>;
reset-names = "i2c";
status = "disabled";
};
i2c6: i2c@c670000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c670000 0x0 0x10000>;
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C6>;
reset-names = "i2c";
status = "disabled";
};
i2c7: i2c@c680000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c680000 0x0 0x10000>;
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C7>;
reset-names = "i2c";
status = "disabled";
};
i2c8: i2c@c690000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c690000 0x0 0x10000>;
interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C8>;
reset-names = "i2c";
status = "disabled";
};
i2c9: i2c@c6a0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6a0000 0x0 0x10000>;
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C9>;
reset-names = "i2c";
status = "disabled";
};
i2c10: i2c@c6b0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6b0000 0x0 0x10000>;
interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C10>;
reset-names = "i2c";
status = "disabled";
};
i2c11: i2c@c6c0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6c0000 0x0 0x10000>;
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C11>;
reset-names = "i2c";
status = "disabled";
};
i2c12: i2c@c6d0000 {
compatible = "nvidia,tegra264-i2c";
reg = <0x00 0x0c6d0000 0x0 0x10000>;
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
clocks = <&bpmp TEGRA264_CLK_TOP_I2C>,
<&bpmp TEGRA264_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
assigned-clocks = <&bpmp TEGRA264_CLK_TOP_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLP_OUT0>;
resets = <&bpmp TEGRA264_RESET_I2C12>;
reset-names = "i2c";
status = "disabled";
};
gic: interrupt-controller@46000000 {
compatible = "arm,gic-v3";
reg = <0x00 0x46000000 0x0 0x010000>, /* GICD */