arm64: dts: exynos: convert serial_0 to USI on ExynosAutov9
authorChanho Park <chanho61.park@samsung.com>
Wed, 8 Dec 2021 09:18:53 +0000 (18:18 +0900)
committerKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Mon, 13 Dec 2021 11:06:28 +0000 (12:06 +0100)
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>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20211208091853.8557-1-chanho61.park@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
arch/arm64/boot/dts/exynos/exynosautov9-sadk.dts
arch/arm64/boot/dts/exynos/exynosautov9.dtsi

index ef46d7aa6e281c17e62fda8fac2d3ac701578728..57518cb5e8c468ef1b5e59d214737fff9b5a90b2 100644 (file)
@@ -54,3 +54,7 @@
        vcc-supply = <&ufs_0_fixed_vcc_reg>;
        vcc-fixed-regulator;
 };
+
+&usi_0 {
+       status = "okay";
+};
index 3e4727344b4ac5688449e90921bb61972315276f..0fab0aa4db3fa67d3a2e5ee0e5fe55f849b09a1c 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/soc/samsung,exynos-usi.h>
 
 / {
        compatible = "samsung,exynosautov9";
                        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 {