v4 drops the serial patches as they should be queued through the tty tree. It also fixes the CMU PERIC0 DIV widths -> from 3 to 4. Saw the bug while enabling SPI. This patch set shall be queued after the cmu_misc clock name fixes from: https://lore.kernel.org/linux-arm-kernel/20240109114908.3623645-1-tudor.ambarus@xxxxxxxxxx/ Users that want to test the series must merge the serial patches to infer the 32-bit register accesses from the compatible, otherwise they'll see a Serror Interrupt as in this patch set we remove the reg-io-width = <4> property. The serial set can be found at: https://lore.kernel.org/linux-arm-kernel/20240119104526.1221243-1-tudor.ambarus@xxxxxxxxxx/T/#t 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. Cheers, ta Changes in v4: - drop all serial patches as they should be taken via Greg's tty tree - fix CMU PERIC0 DIV widths -> from 3 to 4. Discovered the bug while testing SPI - collect Sam's R-b tags Changes in v3: - rename cmu_peric0 clocks to just "bus" and "ip" and then comply with the change in device tree and clock driver - reposition ``iotype`` of ``struct s3c24xx_uart_info`` to reduce the memory footprint of the struct. A patch set reworking the members of the struct will follow. - fix the usi8 clocks order in the device tree - collect Peter's R-b tags - changes log in each patch set as well, in the comments section under ```---``` 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 faaaaaaarom PERIC0 and mark them accordingly (if disabled theslocks 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 (8): dt-bindings: clock: google,gs101-clock: add PERIC0 clock management unit dt-bindings: i2c: exynos5: add google,gs101-hsi2c compatible 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 + .../boot/dts/exynos/google/gs101-oriole.dts | 14 + arch/arm64/boot/dts/exynos/google/gs101.dtsi | 54 +- drivers/clk/samsung/clk-gs101.c | 583 ++++++++++++++++++ include/dt-bindings/clock/google,gs101.h | 81 +++ 6 files changed, 745 insertions(+), 13 deletions(-) -- 2.43.0.429.g432eaa2c6b-goog