[U-Boot] [PATCH v4 0/6] DM: Convert i.MX28 gpio, pinmux, spi and eth drivers to DM/DTS

Lukasz Majewski
2019-06-18T22:01:47Z

This patch series converts some i.MX28 drivers to use DM/DTS.

Converted drivers:
- mxs_gpio.c - gpio driver
- pinctrl-mxs.c - pinmux driver
- Adjust fec_eth.c to support also i.MX28 SoC.
- mxs_spi.c - SPI driver

After applying this series it is possible to use ETH on i.MX28
board with following DTS description:

&mac0 {
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&mac0_pins_a>;
phy-supply = <&reg_fec_3v3>;
phy-reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>;
phy-reset-duration = <1>;
phy-reset-post-delay = <1>;
status = "okay";

fixed-link {
speed = <100>;
full-duplex;
};
};

And store the received binaries on SPI-NOR memory.

Travis-CI:
https://travis-ci.org/lmajewski/u-boot-dfu/builds/547299325

Applied on top of u-boot/master branch
SHA1: c2ea87883ef309570c8903e6de4b8b78685d73d0

Changes in v4:
- Add 12 digit SHA1 ID for tag v5.1.9
- Sort the entries for compatibles and Kconfig
- New file - imx28-u-boot.dtsi
- Use BIT() macro instead of 1 << offset
- Use devfdt_get_addr to get gpio number
- Use gpio-ranges property to setup gpios
- Use Linux kernel code to setup pins instead of Barebox
- Add soc specific data and compatible for i.MX23 and i.MX28
- Use devm_kfree() to release temporary memory
- Adjust the driver to support i.MX23 (add compatible, adjust clk code)
- Use BIT() macro where applicable

Changes in v3:
- Update tag to 5.1.9
- Set more apropriate tags
- Set more apropriate tags
- Set more apropriate tags
- Set more apropriate tags
- Set more appropriate tags

Changes in v2:
- Use #if !CONFIG_IS_ENABLED(DM_GPIO) instead of plain #ifdef CONFIG_DM_GPIO
- New patch (conversion of mxs_spi.c to DM_SPI)

Lukasz Majewski (6):
ARM: dts: imx: Copy imx28 device tree related files from Linux kernel
(v5.1.9)
ARM: imx: net: Enable support for i.MX28 DM_ETH in the fec_mxc.c
driver
DTS: dm: mxs: gpio: Provide 'gpio-ranges' for mxs_gpio driver
ARM: dm: mxs: gpio: Add support for DM/DTS in the mxs_gpio.c driver
(DM_GPIO)
ARM: imx: pinctrl: Add support for i.MX2[38] mxs pinctrl driver
ARM: dm: spi: Add support DM/DTS for i.MX28 mxs SPI driver (DM_SPI
conversion)

arch/arm/dts/imx28-pinfunc.h | 506 ++++++++++++++
arch/arm/dts/imx28-u-boot.dtsi | 28 +
arch/arm/dts/imx28.dtsi | 1330 +++++++++++++++++++++++++++++++++++++
arch/arm/dts/mxs-pinfunc.h | 31 +
drivers/gpio/mxs_gpio.c | 148 +++++
drivers/net/Kconfig | 2 +-
drivers/net/fec_mxc.c | 1 +
drivers/pinctrl/nxp/Kconfig | 10 +
drivers/pinctrl/nxp/Makefile | 1 +
drivers/pinctrl/nxp/pinctrl-mxs.c | 200 ++++++
drivers/pinctrl/nxp/pinctrl-mxs.h | 55 ++
drivers/spi/mxs_spi.c | 400 ++++++++---
12 files changed, 2628 insertions(+), 84 deletions(-)
create mode 100644 arch/arm/dts/imx28-pinfunc.h
create mode 100644 arch/arm/dts/imx28-u-boot.dtsi
create mode 100644 arch/arm/dts/imx28.dtsi
create mode 100644 arch/arm/dts/mxs-pinfunc.h
create mode 100644 drivers/pinctrl/nxp/pinctrl-mxs.c
create mode 100644 drivers/pinctrl/nxp/pinctrl-mxs.h

--
2.11.0