On Wed, 8 Dec 2021 at 11:25, Chanho Park <chanho61.park@xxxxxxxxxxx> 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@xxxxxxxxxx/ > > Cc: Sam Protsenko <semen.protsenko@xxxxxxxxxx> > Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx> > --- Thanks for helping us out! Reviewed-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx> > 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 >