mbox series

[U-Boot,v2,00/41] convert GE boards to DM

Message ID cover.1571853833.git.bob.beckett@collabora.com
Headers show
Series convert GE boards to DM | expand

Message

Robert Beckett Oct. 23, 2019, 6:21 p.m. UTC
This patch series converts GE boards to use DM features.
Most of the patches are GE board specific to modify the board code to
use the DM drivers, or modify the device tree.

There are a few new features:

patch 11 & 12: Add i2c_eeprom partitioning via device tree

patch 16: Adds an i2c chip addr offset overflow mask to allow offsets to
effectively steal chip addresses. This handles a common i2c addressing
mode used on various devices.

patch 17: Improves i2c testing by giving test direct visibility of chip
address and offset, and fixing a couple of issues.

patch 18: Adds an i2c test for the new addressing mode from patch 16.

patch 19: Updates i2c eeprom to use the new addressing mode added in
patch 16.

patch 20: Add i2c eeprom bootcount driver

patch 38-40: Add Martin Fuzzey's DA9063 PMIC driver with modifications
to use the new i2c addressing mode from patch 16 and a bit of a cleanup.


v1->v2:
- Integrate Martin's PMIC driver in place of the one from v1.
- Handle feedback from v1 w.r.t i2c addressing mode (improve documentation,
  improve i2c testing, add new i2c tests)

Denis Zalevskiy (2):
  configs: ppd: DM for USB and regulators PPD
  board: ge: bx50v3: Enable DM for PCI and ethernet

Ian Ray (8):
  configs: bx50v3: Fix boot hang with video
  board: ge: bx50v3: Fix run-time warning
  board: ge: bx50v3: Fix message output to video console
  board: ge: pass rtc_status via device tree
  board: ge: mx53ppd: move uart initialisation to own function
  board: ge: mx53ppd: enable DM_VIDEO
  rtc: s35392a: encode command correctly
  board: ge: mx53ppd: fix RTC compatible definition

Martin Fuzzey (3):
  pmic: allow dump command for non contiguous register maps
  power: pmic: add driver for Dialog DA9063 PMIC
  power: regulator: add driver for Dialog DA9063 PMIC

Robert Beckett (28):
  board: ge: bx50v3: use imx wdt
  board: ge: mx53ppd: use imx wdt
  board: ge: bx50v3: Add i2c bus description
  board: ge: mx53ppd: Add i2c bus descritpion
  misc: i2c_eeprom: add fixed partitions support
  misc: i2c_eeprom: add size query
  board: ge: bx50v3: use DM I2C
  board: ge: mx53ppd: use DM I2C
  board: ge: convert vpd to use i2c eeprom
  i2c: add support for offset overflow in to address
  dm: i2c: EEPROM simulator allow tests visibility of addr and offset
  dm: i2c: EEPROM simulator add tests for addr offset mask
  misc: i2c_eeprom: set offset len and chip addr offset mask
  bootcount: add a DM i2c eeprom backing store for bootcount
  board: ge: bx50v3: add i2c eeprom bootcount storage
  board: ge: mx53ppd: add i2c eeprom bootcount storage
  rtc: rx8010sj: fix DM initialization
  board: ge: bx50v3, mx53ppd: use DM rtc
  board: ge: bx50v3: use DM i2c for PMIC initialization
  board: ge: mx53ppd: remove redundant power config
  board: ge: bx50v3, mx53ppd: disable I2C compatibility API
  board: ge: bx50v3: Enable DM PWM for backlight
  board: ge: mx53ppd: clean up DM PWM video and backlight
  board: ge: mx53ppd: Use DM for ethernet
  board: ge: bx50v3: use DM for uart
  serial: mxc: add imx53 and imx21 compatible string
  board: ge: mx53ppd: use DM for uart
  board: ge: bx50v3: use DM PMIC driver

 arch/arm/dts/imx53-ppd.dts       | 317 ++++++++++++++++++
 arch/arm/dts/imx6q-bx50v3.dts    | 529 +++++++++++++++++++++++++++++++
 arch/sandbox/include/asm/test.h  |   7 +
 board/ge/bx50v3/Kconfig          |   2 -
 board/ge/bx50v3/bx50v3.c         | 291 ++++-------------
 board/ge/common/Kconfig          |  14 -
 board/ge/common/ge_common.c      |  33 +-
 board/ge/common/vpd_reader.c     |  37 ++-
 board/ge/mx53ppd/Kconfig         |   2 -
 board/ge/mx53ppd/Makefile        |   2 +-
 board/ge/mx53ppd/mx53ppd.c       |  75 +----
 board/ge/mx53ppd/mx53ppd_video.c | 125 +++-----
 board/ge/mx53ppd/ppd_gpio.h      |   8 -
 cmd/pmic.c                       |  12 +-
 configs/ge_bx50v3_defconfig      |  40 ++-
 configs/mx53ppd_defconfig        |  35 +-
 drivers/bootcount/Kconfig        |  10 +
 drivers/bootcount/Makefile       |   1 +
 drivers/bootcount/i2c-eeprom.c   |  95 ++++++
 drivers/i2c/i2c-uclass.c         |  34 +-
 drivers/misc/i2c_eeprom.c        | 278 ++++++++++++++--
 drivers/misc/i2c_eeprom_emul.c   |  80 +++--
 drivers/power/pmic/Kconfig       |   7 +
 drivers/power/pmic/Makefile      |   1 +
 drivers/power/pmic/da9063.c      | 130 ++++++++
 drivers/power/regulator/Kconfig  |  10 +
 drivers/power/regulator/Makefile |   1 +
 drivers/power/regulator/da9063.c | 388 +++++++++++++++++++++++
 drivers/rtc/rx8010sj.c           |   2 +-
 drivers/rtc/s35392a.c            |  27 +-
 drivers/serial/serial_mxc.c      |   2 +
 include/configs/ge_bx50v3.h      |  64 +---
 include/configs/mx53ppd.h        |  69 +---
 include/i2c.h                    |  33 ++
 include/i2c_eeprom.h             |  12 +
 include/power/da9063_pmic.h      | 320 +++++++++++++++++++
 test/dm/i2c.c                    | 112 ++++++-
 37 files changed, 2563 insertions(+), 642 deletions(-)
 delete mode 100644 board/ge/common/Kconfig
 create mode 100644 drivers/bootcount/i2c-eeprom.c
 create mode 100644 drivers/power/pmic/da9063.c
 create mode 100644 drivers/power/regulator/da9063.c
 create mode 100644 include/power/da9063_pmic.h

Comments

Fabio Estevam Oct. 23, 2019, 8:28 p.m. UTC | #1
Hi Robert,

On Wed, Oct 23, 2019 at 3:23 PM Robert Beckett
<bob.beckett@collabora.com> wrote:
>
> This patch series converts GE boards to use DM features.
> Most of the patches are GE board specific to modify the board code to
> use the DM drivers, or modify the device tree.


I think this series could be simplified if you send an initial patch
syncing the imx53-ppd and imx6q-bx50v3.dts from U-Boot and Linux.
>
> There are a few new features:
>
> patch 11 & 12: Add i2c_eeprom partitioning via device tree
>
> patch 16: Adds an i2c chip addr offset overflow mask to allow offsets to
> effectively steal chip addresses. This handles a common i2c addressing
> mode used on various devices.
>
> patch 17: Improves i2c testing by giving test direct visibility of chip
> address and offset, and fixing a couple of issues.
>
> patch 18: Adds an i2c test for the new addressing mode from patch 16.
>
> patch 19: Updates i2c eeprom to use the new addressing mode added in
> patch 16.
>
> patch 20: Add i2c eeprom bootcount driver
>
> patch 38-40: Add Martin Fuzzey's DA9063 PMIC driver with modifications
> to use the new i2c addressing mode from patch 16 and a bit of a cleanup.
>
>
> v1->v2:
> - Integrate Martin's PMIC driver in place of the one from v1.
> - Handle feedback from v1 w.r.t i2c addressing mode (improve documentation,
>   improve i2c testing, add new i2c tests)
>
> Denis Zalevskiy (2):
>   configs: ppd: DM for USB and regulators PPD
>   board: ge: bx50v3: Enable DM for PCI and ethernet
>
> Ian Ray (8):
>   configs: bx50v3: Fix boot hang with video
>   board: ge: bx50v3: Fix run-time warning
>   board: ge: bx50v3: Fix message output to video console
>   board: ge: pass rtc_status via device tree
>   board: ge: mx53ppd: move uart initialisation to own function
>   board: ge: mx53ppd: enable DM_VIDEO
>   rtc: s35392a: encode command correctly
>   board: ge: mx53ppd: fix RTC compatible definition
>
> Martin Fuzzey (3):
>   pmic: allow dump command for non contiguous register maps
>   power: pmic: add driver for Dialog DA9063 PMIC
>   power: regulator: add driver for Dialog DA9063 PMIC
>
> Robert Beckett (28):
>   board: ge: bx50v3: use imx wdt
>   board: ge: mx53ppd: use imx wdt
>   board: ge: bx50v3: Add i2c bus description
>   board: ge: mx53ppd: Add i2c bus descritpion
>   misc: i2c_eeprom: add fixed partitions support
>   misc: i2c_eeprom: add size query
>   board: ge: bx50v3: use DM I2C
>   board: ge: mx53ppd: use DM I2C
>   board: ge: convert vpd to use i2c eeprom
>   i2c: add support for offset overflow in to address
>   dm: i2c: EEPROM simulator allow tests visibility of addr and offset
>   dm: i2c: EEPROM simulator add tests for addr offset mask
>   misc: i2c_eeprom: set offset len and chip addr offset mask
>   bootcount: add a DM i2c eeprom backing store for bootcount
>   board: ge: bx50v3: add i2c eeprom bootcount storage
>   board: ge: mx53ppd: add i2c eeprom bootcount storage
>   rtc: rx8010sj: fix DM initialization
>   board: ge: bx50v3, mx53ppd: use DM rtc
>   board: ge: bx50v3: use DM i2c for PMIC initialization
>   board: ge: mx53ppd: remove redundant power config
>   board: ge: bx50v3, mx53ppd: disable I2C compatibility API
>   board: ge: bx50v3: Enable DM PWM for backlight
>   board: ge: mx53ppd: clean up DM PWM video and backlight
>   board: ge: mx53ppd: Use DM for ethernet
>   board: ge: bx50v3: use DM for uart
>   serial: mxc: add imx53 and imx21 compatible string
>   board: ge: mx53ppd: use DM for uart
>   board: ge: bx50v3: use DM PMIC driver
>
>  arch/arm/dts/imx53-ppd.dts       | 317 ++++++++++++++++++
>  arch/arm/dts/imx6q-bx50v3.dts    | 529 +++++++++++++++++++++++++++++++
>  arch/sandbox/include/asm/test.h  |   7 +
>  board/ge/bx50v3/Kconfig          |   2 -
>  board/ge/bx50v3/bx50v3.c         | 291 ++++-------------
>  board/ge/common/Kconfig          |  14 -
>  board/ge/common/ge_common.c      |  33 +-
>  board/ge/common/vpd_reader.c     |  37 ++-
>  board/ge/mx53ppd/Kconfig         |   2 -
>  board/ge/mx53ppd/Makefile        |   2 +-
>  board/ge/mx53ppd/mx53ppd.c       |  75 +----
>  board/ge/mx53ppd/mx53ppd_video.c | 125 +++-----
>  board/ge/mx53ppd/ppd_gpio.h      |   8 -
>  cmd/pmic.c                       |  12 +-
>  configs/ge_bx50v3_defconfig      |  40 ++-
>  configs/mx53ppd_defconfig        |  35 +-
>  drivers/bootcount/Kconfig        |  10 +
>  drivers/bootcount/Makefile       |   1 +
>  drivers/bootcount/i2c-eeprom.c   |  95 ++++++
>  drivers/i2c/i2c-uclass.c         |  34 +-
>  drivers/misc/i2c_eeprom.c        | 278 ++++++++++++++--
>  drivers/misc/i2c_eeprom_emul.c   |  80 +++--
>  drivers/power/pmic/Kconfig       |   7 +
>  drivers/power/pmic/Makefile      |   1 +
>  drivers/power/pmic/da9063.c      | 130 ++++++++
>  drivers/power/regulator/Kconfig  |  10 +
>  drivers/power/regulator/Makefile |   1 +
>  drivers/power/regulator/da9063.c | 388 +++++++++++++++++++++++
>  drivers/rtc/rx8010sj.c           |   2 +-
>  drivers/rtc/s35392a.c            |  27 +-
>  drivers/serial/serial_mxc.c      |   2 +
>  include/configs/ge_bx50v3.h      |  64 +---
>  include/configs/mx53ppd.h        |  69 +---
>  include/i2c.h                    |  33 ++
>  include/i2c_eeprom.h             |  12 +
>  include/power/da9063_pmic.h      | 320 +++++++++++++++++++
>  test/dm/i2c.c                    | 112 ++++++-
>  37 files changed, 2563 insertions(+), 642 deletions(-)
>  delete mode 100644 board/ge/common/Kconfig
>  create mode 100644 drivers/bootcount/i2c-eeprom.c
>  create mode 100644 drivers/power/pmic/da9063.c
>  create mode 100644 drivers/power/regulator/da9063.c
>  create mode 100644 include/power/da9063_pmic.h
>
> --
> 2.20.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Fabio Estevam Oct. 24, 2019, 5 p.m. UTC | #2
On Wed, Oct 23, 2019 at 3:23 PM Robert Beckett
<bob.beckett@collabora.com> wrote:
>
> This patch series converts GE boards to use DM features.
> Most of the patches are GE board specific to modify the board code to
> use the DM drivers, or modify the device tree.

It would also make things a lot easier for review if you split this
single series in several smaller ones per subsystem:
- board related, PMIC, rtc, eeprom, core I2C, bootcount, etc

Also, make sure to copy the maintainers for each subsystem.
Robert Beckett Oct. 25, 2019, 5:53 p.m. UTC | #3
On Thu, 2019-10-24 at 14:00 -0300, Fabio Estevam wrote:
> On Wed, Oct 23, 2019 at 3:23 PM Robert Beckett
> <bob.beckett@collabora.com> wrote:
> > This patch series converts GE boards to use DM features.
> > Most of the patches are GE board specific to modify the board code
> > to
> > use the DM drivers, or modify the device tree.
> 
> It would also make things a lot easier for review if you split this
> single series in several smaller ones per subsystem:
> - board related, PMIC, rtc, eeprom, core I2C, bootcount, etc
> 
> Also, make sure to copy the maintainers for each subsystem.

Sure, will do.