Hi Pali, After correcting my MPP configuration in board_early_init, I ran the test again with this patch series. Everything works (upon u-boot startup) : Ethernet, SPI, SATA and USB.
Board: Synology DS116, Armada 385 (out-of-tree u-boot) Tested-by: Tony Dinh <mibo...@gmail.com> Thanks, Tony On Mon, Jul 25, 2022 at 4:56 AM Pali Rohár <p...@kernel.org> wrote: > > This patch series add support for configuring pin muxing on Armada 38x > via device tree properties used by Linux kernel. It extends also mvebu > gpio driver to properly set pin function to gpio prior assigning pins > and enable gpio and pinmux support on Turris Omnia. > > Pali Rohár (8): > pinctrl: Add new function pinctrl_generic_set_state_prefix() > mvebu: pinctrl: Add Armada 38x driver > arm: mvebu: Add gpio-ranges into Armada 38x device tree file > pinctrl: Add third argument label for pinctrl_gpio_request() function > gpio: mvebu_gpio: Add .request and .rfree methods for Armada 38x > gpio: mvebu_gpio: Read number of gpios from DT > gpio: mvebu_gpio: Set bank name to mvebu%d > arm: mvebu: turris_omnia: Enable a38x pinctrl and gpio support > > arch/arm/dts/armada-38x.dtsi | 2 + > configs/turris_omnia_defconfig | 4 +- > drivers/gpio/mvebu_gpio.c | 11 +- > drivers/pinctrl/mvebu/Kconfig | 7 + > drivers/pinctrl/mvebu/Makefile | 1 + > drivers/pinctrl/mvebu/pinctrl-armada-38x.c | 589 +++++++++++++++++++++ > drivers/pinctrl/pinctrl-generic.c | 100 +++- > drivers/pinctrl/pinctrl-uclass.c | 3 +- > include/dm/pinctrl.h | 5 +- > 9 files changed, 699 insertions(+), 23 deletions(-) > create mode 100644 drivers/pinctrl/mvebu/pinctrl-armada-38x.c > > -- > 2.20.1 >