[PATCH v2 00/12] GS101 Oriole: CMU_PERIC0 support and USI updates

From: Tudor Ambarus
Date: Thu Dec 28 2023 - 07:58:23 EST


Add support for PERIC0 clocks. Use them for USI in serial and I2C
configurations. Tested the serial at different baudrates (115200,
1M, 3M) and the I2C with an at24 eeprom, all went fine.

Apart of the DT and defconfig changes, the patch set spans through the tty
and clk subsystems. The expectation is that Krzysztof will apply the whole
series through the Samsung SoC tree. If the tty and clk subsystem
maintainers can give an acked-by or reviewed-by on the relevant patches
that would be most appreciated!

Thanks!
ta

changes in v2:
- gs101 serial - infer the reg-io-width from the compatible as the entire
PERIC block allows just 32-bit register accesses.
- identify the critical clocks from PERIC0 and mark them accordingly
(if disabled these clocks hang the system even if their parents are
still enabled).
- update dtsi and use USI's gate clocks instead of the dividers clocks
- move hsi2c_8 cells and pinctrls into dtsi
- address Sam's cosmetic changes in the device tree files
- drop defconfig patches (savedefconfig output & at24 eeprom enablement)
- collect Acked-by and Reviewed-by tags
- changes log in each patch as well, in the comments section under
```---```


Tudor Ambarus (12):
dt-bindings: clock: google,gs101-clock: add PERIC0 clock management
unit
dt-bindings: i2c: exynos5: add google,gs101-hsi2c compatible
dt-bindings: serial: samsung: do not allow reg-io-width for gs101
tty: serial: samsung: prepare for different IO types
tty: serial: samsung: set UPIO_MEM32 iotype for gs101
tty: serial: samsung: add gs101 earlycon support
clk: samsung: gs101: add support for cmu_peric0
arm64: dts: exynos: gs101: remove reg-io-width from serial
arm64: dts: exynos: gs101: enable cmu-peric0 clock controller
arm64: dts: exynos: gs101: update USI UART to use peric0 clocks
arm64: dts: exynos: gs101: define USI8 with I2C configuration
arm64: dts: exynos: gs101: enable eeprom on gs101-oriole

.../bindings/clock/google,gs101-clock.yaml | 25 +-
.../devicetree/bindings/i2c/i2c-exynos5.yaml | 1 +
.../bindings/serial/samsung_uart.yaml | 2 +
.../boot/dts/exynos/google/gs101-oriole.dts | 14 +
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 56 +-
drivers/clk/samsung/clk-gs101.c | 583 ++++++++++++++++++
drivers/tty/serial/samsung_tty.c | 58 +-
include/dt-bindings/clock/google,gs101.h | 81 +++
8 files changed, 796 insertions(+), 24 deletions(-)

--
2.43.0.472.g3155946c3a-goog