Skip to content

Integrate linux-seco-rk/EDGENG-140-d23-error-at-boot-time

Commit: https://git.seco.com/edgehog/bsp/rockchip/linux-seco-rk/-/commit/08bcbc527bdb4c81dff1a7c61e06347c041658e1

[D23] [DTS] Add rockchip,io-domains property to i2c1 pinctrl node

When adding this property, a check will be made to confirm that io domain has already been probed before setting these pins to have a properly configured io domain with the correct selected supply voltage.

--

Commit: https://git.seco.com/edgehog/bsp/rockchip/linux-seco-rk/-/commit/396f704c74eca1575e57706c0833a0594c930a93

[D23] [DRIVERS] Apply patch adding support for per-pinmux dependency on io-domain

From: Quentin Schulz quentin.schulz@theobroma-systems.com [PATCH 1/1] pinctrl: rockchip: add support for per-pinmux io-domain dependency On some Rockchip SoCs, some SoC pins are split in what are called IO domains.

An IO domain is supplied power externally, by regulators from a PMIC for example. This external power supply is then used by the IO domain as "supply" for the IO pins if they are outputs.

Each IO domain can configure which voltage the IO pins will be operating on (1.8V or 3.3V).

There already exists an IO domain driver for Rockchip SoCs[1]. This driver allows to explicit the relationship between the external power supplies and IO domains[2]. This makes sure the regulators are enabled by the Linux kernel so the IO domains are supplied with power and correctly configured as per the supplied voltage. This driver is a regulator consumer and does not offer any other interface for device dependency.

However, IO pins belonging to an IO domain need to have this IO domain correctly configured before they are being used otherwise they do not operate correctly (in our case, a pin configured as output clock was oscillating between 0 and 150mV instead of the expected 1V8).

In order to make this dependency transparent to the consumer of those pins and not add Rockchip-specific code to third party drivers (a camera driver in our case), it is hooked into the pinctrl driver which is Rockchip-specific obviously.

[1] drivers/soc/rockchip/io-domain.c [2] Documentation/devicetree/bindings/power/rockchip-io-domain.yaml

Author: Quentin Schulz quentin.schulz@theobroma-systems.com

Merge request reports

Loading