* [PATCH v3 0/4] Add I2C and PWM support for T234
@ 2022-01-24 11:18 Akhil R
2022-01-24 11:18 ` [PATCH v3 1/4] dt-bindings: Add headers for Tegra234 I2C Akhil R
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Akhil R @ 2022-01-24 11:18 UTC (permalink / raw)
To: devicetree, digetx, jonathanh, ldewangan, linux-i2c, linux-kernel,
linux-tegra, mperttunen, robh+dt, thierry.reding
Cc: akhilrajeev
The patchset contains driver and devicetree changes to support I2C and
PWM for Tegra234
v2->v3:
* Sorted clock and reset based on ID
v1->v2:
* Reverted changes in i2c-tegra.c. using tegra194_i2c_hw for tegra234
as the values are compatible.
Akhil R (4):
dt-bindings: Add headers for Tegra234 I2C
arm64: tegra: Add Tegra234 I2C devicetree nodes
dt-bindings: Add headers for Tegra234 PWM
arm64: tegra: Add Tegra234 PWM devicetree nodes
arch/arm64/boot/dts/nvidia/tegra234.dtsi | 133 +++++++++++++++++++++++++++++
include/dt-bindings/clock/tegra234-clock.h | 35 +++++++-
include/dt-bindings/reset/tegra234-reset.h | 16 ++++
3 files changed, 183 insertions(+), 1 deletion(-)
--
2.7.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/4] dt-bindings: Add headers for Tegra234 I2C
2022-01-24 11:18 [PATCH v3 0/4] Add I2C and PWM support for T234 Akhil R
@ 2022-01-24 11:18 ` Akhil R
2022-01-24 11:18 ` [PATCH v3 2/4] arm64: tegra: Add Tegra234 I2C devicetree nodes Akhil R
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Akhil R @ 2022-01-24 11:18 UTC (permalink / raw)
To: devicetree, digetx, jonathanh, ldewangan, linux-i2c, linux-kernel,
linux-tegra, mperttunen, robh+dt, thierry.reding
Cc: akhilrajeev
Add dt-bindings header files for I2C controllers for Tegra234
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
---
include/dt-bindings/clock/tegra234-clock.h | 19 ++++++++++++++++++-
include/dt-bindings/reset/tegra234-reset.h | 8 ++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/include/dt-bindings/clock/tegra234-clock.h b/include/dt-bindings/clock/tegra234-clock.h
index 8d7e66e..dc524e6 100644
--- a/include/dt-bindings/clock/tegra234-clock.h
+++ b/include/dt-bindings/clock/tegra234-clock.h
@@ -20,6 +20,24 @@
#define TEGRA234_CLK_EMC 31U
/** @brief output of gate CLK_ENB_FUSE */
#define TEGRA234_CLK_FUSE 40U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C1 */
+#define TEGRA234_CLK_I2C1 48U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C2 */
+#define TEGRA234_CLK_I2C2 49U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C3 */
+#define TEGRA234_CLK_I2C3 50U
+/** output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C4 */
+#define TEGRA234_CLK_I2C4 51U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C6 */
+#define TEGRA234_CLK_I2C6 52U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C7 */
+#define TEGRA234_CLK_I2C7 53U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C8 */
+#define TEGRA234_CLK_I2C8 54U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C9 */
+#define TEGRA234_CLK_I2C9 55U
+/** @brief PLLP clk output */
+#define TEGRA234_CLK_PLLP_OUT0 102U
/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SDMMC4 */
#define TEGRA234_CLK_SDMMC4 123U
/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTA */
@@ -30,5 +48,4 @@
#define TEGRA234_CLK_PLLC4 237U
/** @brief 32K input clock provided by PMIC */
#define TEGRA234_CLK_CLK_32K 289U
-
#endif
diff --git a/include/dt-bindings/reset/tegra234-reset.h b/include/dt-bindings/reset/tegra234-reset.h
index 50e13bc..2963259 100644
--- a/include/dt-bindings/reset/tegra234-reset.h
+++ b/include/dt-bindings/reset/tegra234-reset.h
@@ -10,6 +10,14 @@
* @brief Identifiers for Resets controllable by firmware
* @{
*/
+#define TEGRA234_RESET_I2C1 24U
+#define TEGRA234_RESET_I2C2 29U
+#define TEGRA234_RESET_I2C3 30U
+#define TEGRA234_RESET_I2C4 31U
+#define TEGRA234_RESET_I2C6 32U
+#define TEGRA234_RESET_I2C7 33U
+#define TEGRA234_RESET_I2C8 34U
+#define TEGRA234_RESET_I2C9 35U
#define TEGRA234_RESET_SDMMC4 85U
#define TEGRA234_RESET_UARTA 100U
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/4] arm64: tegra: Add Tegra234 I2C devicetree nodes
2022-01-24 11:18 [PATCH v3 0/4] Add I2C and PWM support for T234 Akhil R
2022-01-24 11:18 ` [PATCH v3 1/4] dt-bindings: Add headers for Tegra234 I2C Akhil R
@ 2022-01-24 11:18 ` Akhil R
2022-01-24 16:48 ` Dmitry Osipenko
2022-01-24 11:18 ` [PATCH v3 3/4] dt-bindings: Add headers for Tegra234 PWM Akhil R
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Akhil R @ 2022-01-24 11:18 UTC (permalink / raw)
To: devicetree, digetx, jonathanh, ldewangan, linux-i2c, linux-kernel,
linux-tegra, mperttunen, robh+dt, thierry.reding
Cc: akhilrajeev
Add device tree nodes for Tegra234 I2C controllers
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra234.dtsi | 121 +++++++++++++++++++++++++++++++
1 file changed, 121 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
index 6b6f1580..c686827 100644
--- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
@@ -144,6 +144,96 @@
status = "disabled";
};
+ gen1_i2c: i2c@3160000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0x3160000 0x100>;
+ status = "disabled";
+ interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <400000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C1
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C1>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ resets = <&bpmp TEGRA234_RESET_I2C1>;
+ reset-names = "i2c";
+ };
+
+ cam_i2c: i2c@3180000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0x3180000 0x100>;
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ clock-frequency = <400000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C3
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C3>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ resets = <&bpmp TEGRA234_RESET_I2C3>;
+ reset-names = "i2c";
+ };
+
+ dp_aux_ch1_i2c: i2c@3190000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0x3190000 0x100>;
+ interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ clock-frequency = <100000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C4
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C4>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ resets = <&bpmp TEGRA234_RESET_I2C4>;
+ reset-names = "i2c";
+ };
+
+ dp_aux_ch0_i2c: i2c@31b0000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0x31b0000 0x100>;
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ clock-frequency = <100000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C6
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C6>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ resets = <&bpmp TEGRA234_RESET_I2C6>;
+ reset-names = "i2c";
+ };
+
+ dp_aux_ch2_i2c: i2c@31c0000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0x31c0000 0x100>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ clock-frequency = <100000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C7
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C7>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ resets = <&bpmp TEGRA234_RESET_I2C7>;
+ reset-names = "i2c";
+ };
+
+ dp_aux_ch3_i2c: i2c@31e0000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0x31e0000 0x100>;
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ clock-frequency = <100000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C9
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C9>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ resets = <&bpmp TEGRA234_RESET_I2C9>;
+ reset-names = "i2c";
+ };
+
mmc@3460000 {
compatible = "nvidia,tegra234-sdhci", "nvidia,tegra186-sdhci";
reg = <0x03460000 0x20000>;
@@ -212,6 +302,37 @@
#mbox-cells = <2>;
};
+ gen2_i2c: i2c@c240000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0xc240000 0x100>;
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ clock-frequency = <100000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C2
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C2>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ resets = <&bpmp TEGRA234_RESET_I2C2>;
+ reset-names = "i2c";
+ };
+
+ gen8_i2c: i2c@c250000 {
+ compatible = "nvidia,tegra194-i2c";
+ reg = <0xc250000 0x100>;
+ nvidia,hw-instance-id = <0x7>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ clock-frequency = <400000>;
+ clocks = <&bpmp TEGRA234_CLK_I2C8
+ &bpmp TEGRA234_CLK_PLLP_OUT0>;
+ clock-names = "div-clk", "parent";
+ assigned-clocks = <&bpmp TEGRA234_CLK_I2C8>;
+ assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
+ resets = <&bpmp TEGRA234_RESET_I2C8>;
+ reset-names = "i2c";
+ };
+
rtc@c2a0000 {
compatible = "nvidia,tegra234-rtc", "nvidia,tegra20-rtc";
reg = <0x0c2a0000 0x10000>;
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/4] dt-bindings: Add headers for Tegra234 PWM
2022-01-24 11:18 [PATCH v3 0/4] Add I2C and PWM support for T234 Akhil R
2022-01-24 11:18 ` [PATCH v3 1/4] dt-bindings: Add headers for Tegra234 I2C Akhil R
2022-01-24 11:18 ` [PATCH v3 2/4] arm64: tegra: Add Tegra234 I2C devicetree nodes Akhil R
@ 2022-01-24 11:18 ` Akhil R
2022-01-24 11:18 ` [PATCH v3 4/4] arm64: tegra: Add Tegra234 PWM devicetree nodes Akhil R
2022-02-03 17:50 ` [PATCH v3 0/4] Add I2C and PWM support for T234 Thierry Reding
4 siblings, 0 replies; 8+ messages in thread
From: Akhil R @ 2022-01-24 11:18 UTC (permalink / raw)
To: devicetree, digetx, jonathanh, ldewangan, linux-i2c, linux-kernel,
linux-tegra, mperttunen, robh+dt, thierry.reding
Cc: akhilrajeev
Add dt-bindings header files for PWM of Tegra234
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
---
include/dt-bindings/clock/tegra234-clock.h | 16 ++++++++++++++++
include/dt-bindings/reset/tegra234-reset.h | 8 ++++++++
2 files changed, 24 insertions(+)
diff --git a/include/dt-bindings/clock/tegra234-clock.h b/include/dt-bindings/clock/tegra234-clock.h
index dc524e6..2529e7e 100644
--- a/include/dt-bindings/clock/tegra234-clock.h
+++ b/include/dt-bindings/clock/tegra234-clock.h
@@ -38,6 +38,22 @@
#define TEGRA234_CLK_I2C9 55U
/** @brief PLLP clk output */
#define TEGRA234_CLK_PLLP_OUT0 102U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM1 */
+#define TEGRA234_CLK_PWM1 105U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM2 */
+#define TEGRA234_CLK_PWM2 106U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM3 */
+#define TEGRA234_CLK_PWM3 107U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM4 */
+#define TEGRA234_CLK_PWM4 108U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM5 */
+#define TEGRA234_CLK_PWM5 109U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM6 */
+#define TEGRA234_CLK_PWM6 110U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM7 */
+#define TEGRA234_CLK_PWM7 111U
+/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM8 */
+#define TEGRA234_CLK_PWM8 112U
/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SDMMC4 */
#define TEGRA234_CLK_SDMMC4 123U
/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTA */
diff --git a/include/dt-bindings/reset/tegra234-reset.h b/include/dt-bindings/reset/tegra234-reset.h
index 2963259..ba390b8 100644
--- a/include/dt-bindings/reset/tegra234-reset.h
+++ b/include/dt-bindings/reset/tegra234-reset.h
@@ -18,6 +18,14 @@
#define TEGRA234_RESET_I2C7 33U
#define TEGRA234_RESET_I2C8 34U
#define TEGRA234_RESET_I2C9 35U
+#define TEGRA234_RESET_PWM1 68U
+#define TEGRA234_RESET_PWM2 69U
+#define TEGRA234_RESET_PWM3 70U
+#define TEGRA234_RESET_PWM4 71U
+#define TEGRA234_RESET_PWM5 72U
+#define TEGRA234_RESET_PWM6 73U
+#define TEGRA234_RESET_PWM7 74U
+#define TEGRA234_RESET_PWM8 75U
#define TEGRA234_RESET_SDMMC4 85U
#define TEGRA234_RESET_UARTA 100U
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 4/4] arm64: tegra: Add Tegra234 PWM devicetree nodes
2022-01-24 11:18 [PATCH v3 0/4] Add I2C and PWM support for T234 Akhil R
` (2 preceding siblings ...)
2022-01-24 11:18 ` [PATCH v3 3/4] dt-bindings: Add headers for Tegra234 PWM Akhil R
@ 2022-01-24 11:18 ` Akhil R
2022-02-03 17:50 ` [PATCH v3 0/4] Add I2C and PWM support for T234 Thierry Reding
4 siblings, 0 replies; 8+ messages in thread
From: Akhil R @ 2022-01-24 11:18 UTC (permalink / raw)
To: devicetree, digetx, jonathanh, ldewangan, linux-i2c, linux-kernel,
linux-tegra, mperttunen, robh+dt, thierry.reding
Cc: akhilrajeev
Add device tree nodes for Tegra234 PWM
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra234.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
index c686827..cbebf1e 100644
--- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
@@ -234,6 +234,18 @@
reset-names = "i2c";
};
+ pwm1: pwm@3280000 {
+ compatible = "nvidia,tegra194-pwm",
+ "nvidia,tegra186-pwm";
+ reg = <0x3280000 0x10000>;
+ clocks = <&bpmp TEGRA234_CLK_PWM1>;
+ clock-names = "pwm";
+ resets = <&bpmp TEGRA234_RESET_PWM1>;
+ reset-names = "pwm";
+ status = "disabled";
+ #pwm-cells = <2>;
+ };
+
mmc@3460000 {
compatible = "nvidia,tegra234-sdhci", "nvidia,tegra186-sdhci";
reg = <0x03460000 0x20000>;
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/4] arm64: tegra: Add Tegra234 I2C devicetree nodes
2022-01-24 11:18 ` [PATCH v3 2/4] arm64: tegra: Add Tegra234 I2C devicetree nodes Akhil R
@ 2022-01-24 16:48 ` Dmitry Osipenko
2022-01-25 4:51 ` Akhil R
0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Osipenko @ 2022-01-24 16:48 UTC (permalink / raw)
To: Akhil R, devicetree, jonathanh, ldewangan, linux-i2c,
linux-kernel, linux-tegra, mperttunen, robh+dt, thierry.reding
24.01.2022 14:18, Akhil R пишет:
> Add device tree nodes for Tegra234 I2C controllers
>
> Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
> ---
> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 121 +++++++++++++++++++++++++++++++
> 1 file changed, 121 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> index 6b6f1580..c686827 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> @@ -144,6 +144,96 @@
> status = "disabled";
> };
>
> + gen1_i2c: i2c@3160000 {
> + compatible = "nvidia,tegra194-i2c";
> + reg = <0x3160000 0x100>;
> + status = "disabled";
> + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
> + clock-frequency = <400000>;
> + clocks = <&bpmp TEGRA234_CLK_I2C1
> + &bpmp TEGRA234_CLK_PLLP_OUT0>;
> + assigned-clocks = <&bpmp TEGRA234_CLK_I2C1>;
> + assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
> + clock-names = "div-clk", "parent";
> + resets = <&bpmp TEGRA234_RESET_I2C1>;
> + reset-names = "i2c";
> + };
The patchset looks okay to me, thank you. I've one question:
Could you please explain why the "PLLP" I2C timing configuration that is
specified in the "example" section of Tegra TRM isn't suitable for
T194/234? Why I2C Tegra kernel driver uses a different configuration?
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH v3 2/4] arm64: tegra: Add Tegra234 I2C devicetree nodes
2022-01-24 16:48 ` Dmitry Osipenko
@ 2022-01-25 4:51 ` Akhil R
0 siblings, 0 replies; 8+ messages in thread
From: Akhil R @ 2022-01-25 4:51 UTC (permalink / raw)
To: Dmitry Osipenko, devicetree@vger.kernel.org, Jonathan Hunter,
Laxman Dewangan, linux-i2c@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org,
Mikko Perttunen, robh+dt@kernel.org, thierry.reding@gmail.com
> 24.01.2022 14:18, Akhil R пишет:
> > Add device tree nodes for Tegra234 I2C controllers
> >
> > Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
> > ---
> > arch/arm64/boot/dts/nvidia/tegra234.dtsi | 121
> > +++++++++++++++++++++++++++++++
> > 1 file changed, 121 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> > b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> > index 6b6f1580..c686827 100644
> > --- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> > +++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> > @@ -144,6 +144,96 @@
> > status = "disabled";
> > };
> >
> > + gen1_i2c: i2c@3160000 {
> > + compatible = "nvidia,tegra194-i2c";
> > + reg = <0x3160000 0x100>;
> > + status = "disabled";
> > + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
> > + clock-frequency = <400000>;
> > + clocks = <&bpmp TEGRA234_CLK_I2C1
> > + &bpmp TEGRA234_CLK_PLLP_OUT0>;
> > + assigned-clocks = <&bpmp TEGRA234_CLK_I2C1>;
> > + assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
> > + clock-names = "div-clk", "parent";
> > + resets = <&bpmp TEGRA234_RESET_I2C1>;
> > + reset-names = "i2c";
> > + };
>
> The patchset looks okay to me, thank you. I've one question:
>
> Could you please explain why the "PLLP" I2C timing configuration that is
> specified in the "example" section of Tegra TRM isn't suitable for T194/234?
> Why I2C Tegra kernel driver uses a different configuration?
The values in TRM are example settings. The values in driver are
more precise values based on characterization test results.
Regards,
Akhil
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/4] Add I2C and PWM support for T234
2022-01-24 11:18 [PATCH v3 0/4] Add I2C and PWM support for T234 Akhil R
` (3 preceding siblings ...)
2022-01-24 11:18 ` [PATCH v3 4/4] arm64: tegra: Add Tegra234 PWM devicetree nodes Akhil R
@ 2022-02-03 17:50 ` Thierry Reding
4 siblings, 0 replies; 8+ messages in thread
From: Thierry Reding @ 2022-02-03 17:50 UTC (permalink / raw)
To: Akhil R
Cc: devicetree, digetx, jonathanh, ldewangan, linux-i2c, linux-kernel,
linux-tegra, mperttunen, robh+dt
[-- Attachment #1: Type: text/plain, Size: 844 bytes --]
On Mon, Jan 24, 2022 at 04:48:13PM +0530, Akhil R wrote:
> The patchset contains driver and devicetree changes to support I2C and
> PWM for Tegra234
>
> v2->v3:
> * Sorted clock and reset based on ID
> v1->v2:
> * Reverted changes in i2c-tegra.c. using tegra194_i2c_hw for tegra234
> as the values are compatible.
>
> Akhil R (4):
> dt-bindings: Add headers for Tegra234 I2C
> arm64: tegra: Add Tegra234 I2C devicetree nodes
> dt-bindings: Add headers for Tegra234 PWM
> arm64: tegra: Add Tegra234 PWM devicetree nodes
>
> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 133 +++++++++++++++++++++++++++++
> include/dt-bindings/clock/tegra234-clock.h | 35 +++++++-
> include/dt-bindings/reset/tegra234-reset.h | 16 ++++
> 3 files changed, 183 insertions(+), 1 deletion(-)
Applied, thanks.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-02-03 17:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-24 11:18 [PATCH v3 0/4] Add I2C and PWM support for T234 Akhil R
2022-01-24 11:18 ` [PATCH v3 1/4] dt-bindings: Add headers for Tegra234 I2C Akhil R
2022-01-24 11:18 ` [PATCH v3 2/4] arm64: tegra: Add Tegra234 I2C devicetree nodes Akhil R
2022-01-24 16:48 ` Dmitry Osipenko
2022-01-25 4:51 ` Akhil R
2022-01-24 11:18 ` [PATCH v3 3/4] dt-bindings: Add headers for Tegra234 PWM Akhil R
2022-01-24 11:18 ` [PATCH v3 4/4] arm64: tegra: Add Tegra234 PWM devicetree nodes Akhil R
2022-02-03 17:50 ` [PATCH v3 0/4] Add I2C and PWM support for T234 Thierry Reding
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).