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

Lukasz Majewski lukma at denx.de
Wed Jun 19 12:27:28 UTC 2019


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: 77f6e2dd0551d8a825bab391a1bd6b838874bcd4


Changes in v5:
- Add 12 digit SHA1 ID for tag v5.1.11
- Set more appropriate tags (net: fec:)
- Use "ARM: dts: imx: tags"
- Update tags ("gpio: mxs")
- Set more appropriate tags ("pinctrl: mxs:")
- Use the clrsetbits_le32() in mxs_pinctrl_rmwl() function - now moved to
  pinctrl-mxs.h file
- Set more appropriate tags ("spi: mxs:")

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 appropriate tags
- Set more appropriate tags
- Set more appropriate 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.11)
  net: fec: Enable support for i.MX28 DM_ETH in the fec_mxc.c driver
  ARM: dts: imx: Provide 'gpio-ranges' for mxs_gpio driver
  gpio: mxs: Add support for DM/DTS in the mxs_gpio.c driver (DM_GPIO)
  pinctrl: mxs: Add support for i.MX2[38] mxs pinctrl driver
  spi: mxs: 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 |  190 ++++++
 drivers/pinctrl/nxp/pinctrl-mxs.h |   61 ++
 drivers/spi/mxs_spi.c             |  400 ++++++++---
 12 files changed, 2624 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



More information about the U-Boot mailing list