diff mbox series

[v2] arm64: dts: exynosautov9: convert serial_0 for USI

Message ID 20211208091853.8557-1-chanho61.park@samsung.com (mailing list archive)
State Accepted
Commit 7836149e155bd3c554571f135619f95932c841fc
Headers show
Series [v2] arm64: dts: exynosautov9: convert serial_0 for USI | expand

Commit Message

Chanho Park Dec. 8, 2021, 9:18 a.m. UTC
According to USI v2 driver change[1], serial_0 node should be converted to
use the USI node hierarchy. syscon_peric0 will be used as a syscon node
to control the USI00_USI_SW_CONF register.
This also changes the serial node name from uart@ to serial@.

[1]: https://lore.kernel.org/linux-samsung-soc/20211204195757.8600-2-semen.protsenko@linaro.org/

Cc: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
---
Change from v1:
- Put usi_0 node alphabetically in sadk.dts

 .../boot/dts/exynos/exynosautov9-sadk.dts     |  4 +++
 arch/arm64/boot/dts/exynos/exynosautov9.dtsi  | 36 ++++++++++++++-----
 2 files changed, 32 insertions(+), 8 deletions(-)

Comments

Sam Protsenko Dec. 8, 2021, 10:45 a.m. UTC | #1
On Wed, 8 Dec 2021 at 11:25, Chanho Park <chanho61.park@samsung.com> wrote:
>
> According to USI v2 driver change[1], serial_0 node should be converted to
> use the USI node hierarchy. syscon_peric0 will be used as a syscon node
> to control the USI00_USI_SW_CONF register.
> This also changes the serial node name from uart@ to serial@.
>
> [1]: https://lore.kernel.org/linux-samsung-soc/20211204195757.8600-2-semen.protsenko@linaro.org/
>
> Cc: Sam Protsenko <semen.protsenko@linaro.org>
> Signed-off-by: Chanho Park <chanho61.park@samsung.com>
> ---

Thanks for helping us out!

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>

> Change from v1:
> - Put usi_0 node alphabetically in sadk.dts
>
>  .../boot/dts/exynos/exynosautov9-sadk.dts     |  4 +++
>  arch/arm64/boot/dts/exynos/exynosautov9.dtsi  | 36 ++++++++++++++-----
>  2 files changed, 32 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts b/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts
> index ef46d7aa6e28..57518cb5e8c4 100644
> --- a/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts
> +++ b/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts
> @@ -54,3 +54,7 @@ &ufs_0 {
>         vcc-supply = <&ufs_0_fixed_vcc_reg>;
>         vcc-fixed-regulator;
>  };
> +
> +&usi_0 {
> +       status = "okay";
> +};
> diff --git a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
> index a960c0bc2dba..de8fcb82eaec 100644
> --- a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
> @@ -7,6 +7,7 @@
>   */
>
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/soc/samsung,exynos-usi.h>
>
>  / {
>         compatible = "samsung,exynosautov9";
> @@ -256,16 +257,35 @@ syscon_fsys2: syscon@17c20000 {
>                         reg = <0x17c20000 0x1000>;
>                 };
>
> -               /* USI: UART */
> -               serial_0: uart@10300000 {
> -                       compatible = "samsung,exynos850-uart";
> -                       reg = <0x10300000 0x100>;
> -                       interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
> -                       pinctrl-names = "default";
> -                       pinctrl-0 = <&uart0_bus_dual>;
> +               syscon_peric0: syscon@10220000 {
> +                       compatible = "samsung,exynosautov9-sysreg", "syscon";
> +                       reg = <0x10220000 0x2000>;
> +               };
> +
> +               usi_0: usi@103000c0 {
> +                       compatible = "samsung,exynos850-usi";
> +                       reg = <0x103000c0 0x20>;
> +                       samsung,sysreg = <&syscon_peric0 0x1000>;
> +                       samsung,mode = <USI_V2_UART>;
> +                       samsung,clkreq-on; /* needed for UART mode */
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges;
>                         clocks = <&uart_clock>, <&uart_clock>;
> -                       clock-names = "uart", "clk_uart_baud0";
> +                       clock-names = "pclk", "ipclk";
>                         status = "disabled";
> +
> +                       /* USI: UART */
> +                       serial_0: serial@10300000 {
> +                               compatible = "samsung,exynos850-uart";
> +                               reg = <0x10300000 0xc0>;
> +                               interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&uart0_bus_dual>;
> +                               clocks = <&uart_clock>, <&uart_clock>;
> +                               clock-names = "uart", "clk_uart_baud0";
> +                               status = "disabled";
> +                       };
>                 };
>
>                 ufs_0_phy: ufs0-phy@17e04000 {
> --
> 2.34.1
>
Krzysztof Kozlowski Dec. 13, 2021, 11:11 a.m. UTC | #2
On Wed, 8 Dec 2021 18:18:53 +0900, Chanho Park wrote:
> According to USI v2 driver change[1], serial_0 node should be converted to
> use the USI node hierarchy. syscon_peric0 will be used as a syscon node
> to control the USI00_USI_SW_CONF register.
> This also changes the serial node name from uart@ to serial@.
> 
> [1]: https://lore.kernel.org/linux-samsung-soc/20211204195757.8600-2-semen.protsenko@linaro.org/
> 
> [...]

Applied, thanks!

[1/1] arm64: dts: exynosautov9: convert serial_0 for USI
      commit: 7836149e155bd3c554571f135619f95932c841fc

Best regards,
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts b/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts
index ef46d7aa6e28..57518cb5e8c4 100644
--- a/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts
+++ b/arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts
@@ -54,3 +54,7 @@  &ufs_0 {
 	vcc-supply = <&ufs_0_fixed_vcc_reg>;
 	vcc-fixed-regulator;
 };
+
+&usi_0 {
+	status = "okay";
+};
diff --git a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
index a960c0bc2dba..de8fcb82eaec 100644
--- a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
@@ -7,6 +7,7 @@ 
  */
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/soc/samsung,exynos-usi.h>
 
 / {
 	compatible = "samsung,exynosautov9";
@@ -256,16 +257,35 @@  syscon_fsys2: syscon@17c20000 {
 			reg = <0x17c20000 0x1000>;
 		};
 
-		/* USI: UART */
-		serial_0: uart@10300000 {
-			compatible = "samsung,exynos850-uart";
-			reg = <0x10300000 0x100>;
-			interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
-			pinctrl-names = "default";
-			pinctrl-0 = <&uart0_bus_dual>;
+		syscon_peric0: syscon@10220000 {
+			compatible = "samsung,exynosautov9-sysreg", "syscon";
+			reg = <0x10220000 0x2000>;
+		};
+
+		usi_0: usi@103000c0 {
+			compatible = "samsung,exynos850-usi";
+			reg = <0x103000c0 0x20>;
+			samsung,sysreg = <&syscon_peric0 0x1000>;
+			samsung,mode = <USI_V2_UART>;
+			samsung,clkreq-on; /* needed for UART mode */
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
 			clocks = <&uart_clock>, <&uart_clock>;
-			clock-names = "uart", "clk_uart_baud0";
+			clock-names = "pclk", "ipclk";
 			status = "disabled";
+
+			/* USI: UART */
+			serial_0: serial@10300000 {
+				compatible = "samsung,exynos850-uart";
+				reg = <0x10300000 0xc0>;
+				interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&uart0_bus_dual>;
+				clocks = <&uart_clock>, <&uart_clock>;
+				clock-names = "uart", "clk_uart_baud0";
+				status = "disabled";
+			};
 		};
 
 		ufs_0_phy: ufs0-phy@17e04000 {