* [PATCH 1/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl (far) alive
2024-04-29 20:04 [PATCH 0/4] hook up pin controller clocks on Google Tensor gs101 André Draszik
@ 2024-04-29 20:04 ` André Draszik
2024-04-29 20:04 ` [PATCH 2/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl_peric[01] André Draszik
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: André Draszik @ 2024-04-29 20:04 UTC (permalink / raw)
To: Peter Griffin, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Alim Akhtar
Cc: Tudor Ambarus, Will McVicker, Sam Protsenko, kernel-team,
linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
André Draszik
This bus clock is needed for pinctrl register access to work. Add it.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index e3b068c1a2c1..f2c7c2a4ce1c 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1348,6 +1348,8 @@ pmu_system_controller: system-controller@17460000 {
pinctrl_gpio_alive: pinctrl@174d0000 {
compatible = "google,gs101-pinctrl";
reg = <0x174d0000 0x00001000>;
+ clocks = <&cmu_apm CLK_GOUT_APM_APBIF_GPIO_ALIVE_PCLK>;
+ clock-names = "pclk";
wakeup-interrupt-controller {
compatible = "google,gs101-wakeup-eint",
@@ -1359,6 +1361,8 @@ wakeup-interrupt-controller {
pinctrl_far_alive: pinctrl@174e0000 {
compatible = "google,gs101-pinctrl";
reg = <0x174e0000 0x00001000>;
+ clocks = <&cmu_apm CLK_GOUT_APM_APBIF_GPIO_FAR_ALIVE_PCLK>;
+ clock-names = "pclk";
wakeup-interrupt-controller {
compatible = "google,gs101-wakeup-eint",
--
2.44.0.769.g3c40516874-goog
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl_peric[01]
2024-04-29 20:04 [PATCH 0/4] hook up pin controller clocks on Google Tensor gs101 André Draszik
2024-04-29 20:04 ` [PATCH 1/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl (far) alive André Draszik
@ 2024-04-29 20:04 ` André Draszik
2024-04-29 20:04 ` [PATCH 3/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl_hsi2 André Draszik
2024-04-29 20:04 ` [PATCH 4/4] arm64: dts: exynos: gs101: specify placeholder clocks for remaining pinctrl André Draszik
3 siblings, 0 replies; 6+ messages in thread
From: André Draszik @ 2024-04-29 20:04 UTC (permalink / raw)
To: Peter Griffin, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Alim Akhtar
Cc: Tudor Ambarus, Will McVicker, Sam Protsenko, kernel-team,
linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
André Draszik
This bus clock is needed for pinctrl register access to work. Add it.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index f2c7c2a4ce1c..8d4216cbab2e 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -370,6 +370,8 @@ sysreg_peric0: syscon@10820000 {
pinctrl_peric0: pinctrl@10840000 {
compatible = "google,gs101-pinctrl";
reg = <0x10840000 0x00001000>;
+ clocks = <&cmu_peric0 CLK_GOUT_PERIC0_GPIO_PERIC0_PCLK>;
+ clock-names = "pclk";
interrupts = <GIC_SPI 625 IRQ_TYPE_LEVEL_HIGH 0>;
};
@@ -914,6 +916,8 @@ sysreg_peric1: syscon@10c20000 {
pinctrl_peric1: pinctrl@10c40000 {
compatible = "google,gs101-pinctrl";
reg = <0x10c40000 0x00001000>;
+ clocks = <&cmu_peric1 CLK_GOUT_PERIC1_GPIO_PERIC1_PCLK>;
+ clock-names = "pclk";
interrupts = <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH 0>;
};
--
2.44.0.769.g3c40516874-goog
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 3/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl_hsi2
2024-04-29 20:04 [PATCH 0/4] hook up pin controller clocks on Google Tensor gs101 André Draszik
2024-04-29 20:04 ` [PATCH 1/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl (far) alive André Draszik
2024-04-29 20:04 ` [PATCH 2/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl_peric[01] André Draszik
@ 2024-04-29 20:04 ` André Draszik
2024-04-29 20:04 ` [PATCH 4/4] arm64: dts: exynos: gs101: specify placeholder clocks for remaining pinctrl André Draszik
3 siblings, 0 replies; 6+ messages in thread
From: André Draszik @ 2024-04-29 20:04 UTC (permalink / raw)
To: Peter Griffin, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Alim Akhtar
Cc: Tudor Ambarus, Will McVicker, Sam Protsenko, kernel-team,
linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
André Draszik
This bus clock is needed for pinctrl register access to work. Add it.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index 8d4216cbab2e..f8fcbbb06e7b 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1327,6 +1327,8 @@ cmu_hsi2: clock-controller@14400000 {
pinctrl_hsi2: pinctrl@14440000 {
compatible = "google,gs101-pinctrl";
reg = <0x14440000 0x00001000>;
+ clocks = <&cmu_hsi2 CLK_GOUT_HSI2_GPIO_HSI2_PCLK>;
+ clock-names = "pclk";
interrupts = <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH 0>;
};
--
2.44.0.769.g3c40516874-goog
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 4/4] arm64: dts: exynos: gs101: specify placeholder clocks for remaining pinctrl
2024-04-29 20:04 [PATCH 0/4] hook up pin controller clocks on Google Tensor gs101 André Draszik
` (2 preceding siblings ...)
2024-04-29 20:04 ` [PATCH 3/4] arm64: dts: exynos: gs101: specify bus clock for pinctrl_hsi2 André Draszik
@ 2024-04-29 20:04 ` André Draszik
2024-04-30 6:16 ` Krzysztof Kozlowski
3 siblings, 1 reply; 6+ messages in thread
From: André Draszik @ 2024-04-29 20:04 UTC (permalink / raw)
To: Peter Griffin, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Alim Akhtar
Cc: Tudor Ambarus, Will McVicker, Sam Protsenko, kernel-team,
linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
André Draszik
The pinctrl instances hsi1, gsactrl, and gsacore need a clock for
register access to work.
Since we haven't implemented the relevant CMUs for the clocks required
by these instances just add placeholder clocks for now so as to make the
DT pass the validation checks.
Once the clocks are implmented in the gs101 clock driver, these should
be updated then.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index f8fcbbb06e7b..6db2c9bbb371 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -180,6 +180,14 @@ HERA_CPU_SLEEP: cpu-hera-sleep {
};
};
+ /* TODO: Remove this once all pinctrl clocks are implemented */
+ clk_placeholder: clock-placeholder {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <0>;
+ clock-output-names = "placeholder_clk";
+ };
+
/* ect node is required to be present by bootloader */
ect {
};
@@ -1309,6 +1317,9 @@ usbdrd31_dwc3: usb@0 {
pinctrl_hsi1: pinctrl@11840000 {
compatible = "google,gs101-pinctrl";
reg = <0x11840000 0x00001000>;
+ /* TODO: update once support for this CMU exists */
+ clocks = <&clk_placeholder>;
+ clock-names = "pclk";
interrupts = <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH 0>;
};
@@ -1380,11 +1391,17 @@ wakeup-interrupt-controller {
pinctrl_gsactrl: pinctrl@17940000 {
compatible = "google,gs101-pinctrl";
reg = <0x17940000 0x00001000>;
+ /* TODO: update once support for this CMU exists */
+ clocks = <&clk_placeholder>;
+ clock-names = "pclk";
};
pinctrl_gsacore: pinctrl@17a80000 {
compatible = "google,gs101-pinctrl";
reg = <0x17a80000 0x00001000>;
+ /* TODO: update once support for this CMU exists */
+ clocks = <&clk_placeholder>;
+ clock-names = "pclk";
};
cmu_top: clock-controller@1e080000 {
--
2.44.0.769.g3c40516874-goog
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 4/4] arm64: dts: exynos: gs101: specify placeholder clocks for remaining pinctrl
2024-04-29 20:04 ` [PATCH 4/4] arm64: dts: exynos: gs101: specify placeholder clocks for remaining pinctrl André Draszik
@ 2024-04-30 6:16 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2024-04-30 6:16 UTC (permalink / raw)
To: André Draszik, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Will McVicker, Sam Protsenko, kernel-team,
linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel
On 29/04/2024 22:04, André Draszik wrote:
> The pinctrl instances hsi1, gsactrl, and gsacore need a clock for
> register access to work.
>
> Since we haven't implemented the relevant CMUs for the clocks required
> by these instances just add placeholder clocks for now so as to make the
> DT pass the validation checks.
> Once the clocks are implmented in the gs101 clock driver, these should
> be updated then.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
> arch/arm64/boot/dts/exynos/google/gs101.dtsi | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> index f8fcbbb06e7b..6db2c9bbb371 100644
> --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> @@ -180,6 +180,14 @@ HERA_CPU_SLEEP: cpu-hera-sleep {
> };
> };
>
> + /* TODO: Remove this once all pinctrl clocks are implemented */
> + clk_placeholder: clock-placeholder {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <0>;
> + clock-output-names = "placeholder_clk";
> + };
> +
> /* ect node is required to be present by bootloader */
> ect {
> };
> @@ -1309,6 +1317,9 @@ usbdrd31_dwc3: usb@0 {
> pinctrl_hsi1: pinctrl@11840000 {
> compatible = "google,gs101-pinctrl";
> reg = <0x11840000 0x00001000>;
> + /* TODO: update once support for this CMU exists */
> + clocks = <&clk_placeholder>;
<0> does not work for you?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread