]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: dts: exynos2200: define all usi nodes
authorIvaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Fri, 15 Aug 2025 07:05:00 +0000 (10:05 +0300)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sat, 30 Aug 2025 08:55:44 +0000 (10:55 +0200)
commit1bc8f09ce98ca8a56f2059c9a8fe26cc351318f0
treebd29b65da0ad95657ffe545f4d2c0acf60c56da7
parent0dff00633bbc8566fed6483daddddfa0dfdcf83a
arm64: dts: exynos2200: define all usi nodes

Universal Serial Interface (USI) supports three types of serial
interfaces - uart, i2c and spi. Each protocol can work independently
and configured using external configuration inputs.

As each USI instance has access to 4 pins, there are multiple possible
configurations:
- the first 2 and the last 2 pins can be i2c (sda/scl) or uart (rx/tx)
- the 4 pins can be used for 4 pin uart or spi

For each group of 4 pins, there is one usi instance that can access all
4 pins, and a second usi instance that can be used to set the last 2
pins in i2c mode. Such configuration can be achieved by setting the
mode property of usiX and usiX_i2c nodes correctly - if usiX is set
to take up 2 pins, then usiX_i2c can be set to take the other 2.
If usiX is set for 4 pins, then usiX_i2c should be left disabled.

Define all the USI nodes from peric0 (usi4), peric1 (usi7-10), peric2
(usi0-6, usi11) and cmgp (usi0-6_cmgp, 2 pin usi7_cmgp) blocks, as well
as their respective uart and i2c subnodes. Suffix labels for blocks
in CMGP instances with _cmgpX, and follow the naming conventions from
the vendor kernel to avoid confusion.

Spi support will be added later on.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20250815070500.3275491-5-ivo.ivanov.ivanov1@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/exynos/exynos2200.dtsi