[U-Boot] [PATCH v2 00/19] dm: exynos: Driver model improvements leading to spring support

Przemyslaw Marczak p.marczak at samsung.com
Wed Aug 5 16:16:37 CEST 2015


Hello Simon,

On 08/03/2015 04:19 PM, Simon Glass wrote:
> This series adds a number of fixes and improvements to driver model as
> well as two new uclasses (video bridges and I2c muxes).
>
> The series is aimed at adding support for spring (HP 11 Chromebook). Since
> it is very similar to other ARM Chromebooks, some effory is made to use
> common code rather than duplicating functionality. In fact spring uses
> the same code as several other boards, just with a different device tree
> and a few configuration changes.
>
> Audio works correctly on pit, pi, spring and snow with this series. A bug
> in the I2C driver broken this recently.
>
> The exynos implementation still has a few rough areas - e.g. some hard-coded
> GPIOs and the old-style SPL. Also it does not yet support CPU frequency
> scaling and power management.
>
> Spring has some oddities and they are hard to handle with U-Boot's old
> way of doing drivers. With driver model these can be implemented cleanly
> and this sort of problem was the original motivation for my interest in
> driver model.
>
> This series is available at u-boot-dm in branch spring-working. It is
> based on the previous set of driver model changes in branch clk-working.
>
> Changes in v2:
> - Add a README explaining the algorithm and update the commit message
> - Add a comment about DVS in the driver
> - Add a new patch to hold off the need for driver model pinctrl
> - Add new patch to correct LDO and BUCK naming
> - Rebase to dm/master
> - Update commit message and header file to better explain select()/deselect()
>
> Simon Glass (19):
>    exynos: dts: Correct LDO and BUCK naming
>    video: Work around lack of pinctrl
>    dm: i2c: Add support for multiplexed I2C buses
>    i2c: Add a mux for GPIO-based I2C bus arbitration
>    dm: cros_ec: Convert the I2C tunnel code to use driver model
>    cros_ec: Support the LDO access method used by spring
>    dm: pmic: max77686: Support all BUCK regulators
>    exynos: dts: Drop the old TPS65090 I2C node
>    exynos: Add common board code for exynos5 boards that use device tree
>    exynos: Enable new features for exynos5 boards
>    exynos: config: Move common options to the common headers and tidy up
>    exynos: Drop old exynos5420-specific board code
>    exynos: Drop old exynos5250-specific board code
>    power: Remove old TPS65090 drivers
>    cros_ec: Remove the old tunnel code
>    video: Remove the old parade driver
>    dts: Drop unused compatible ID for the NXP video bridge
>    exynos: video: Remove non-device-tree code
>    exynos: Add support for spring
>
>   arch/arm/cpu/armv7/exynos/Kconfig          |   6 +
>   arch/arm/dts/Makefile                      |   1 +
>   arch/arm/dts/exynos4412-odroid.dts         |  56 +--
>   arch/arm/dts/exynos4412-trats2.dts         |  70 ++--
>   arch/arm/dts/exynos5250-snow.dts           |  16 -
>   arch/arm/dts/exynos5250-spring.dts         | 588 +++++++++++++++++++++++++++++
>   arch/arm/include/asm/arch-exynos/dp_info.h |   2 -
>   board/samsung/common/Makefile              |   1 +
>   board/samsung/common/exynos5-dt.c          | 362 ++++++++++++++++++
>   board/samsung/smdk5250/Kconfig             |  13 +
>   board/samsung/smdk5250/MAINTAINERS         |   6 +
>   board/samsung/smdk5250/Makefile            |   4 -
>   board/samsung/smdk5250/exynos5-dt.c        | 306 ---------------
>   board/samsung/smdk5420/Makefile            |   4 -
>   board/samsung/smdk5420/smdk5420.c          | 143 -------
>   configs/arndale_defconfig                  |   2 +
>   configs/odroid-xu3_defconfig               |   6 +
>   configs/peach-pi_defconfig                 |  19 +
>   configs/peach-pit_defconfig                |  19 +
>   configs/smdk5250_defconfig                 |  10 +
>   configs/smdk5420_defconfig                 |   6 +
>   configs/snow_defconfig                     |  23 ++
>   configs/spring_defconfig                   |  42 +++
>   doc/README.i2c                             |  60 +++
>   doc/device-tree-bindings/i2c/i2c-mux.txt   |  60 +++
>   drivers/i2c/Kconfig                        |  26 ++
>   drivers/i2c/Makefile                       |   4 +
>   drivers/i2c/cros_ec_ldo.c                  |  77 ++++
>   drivers/i2c/cros_ec_tunnel.c               |  41 ++
>   drivers/i2c/muxes/Kconfig                  |  17 +
>   drivers/i2c/muxes/Makefile                 |   7 +
>   drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 147 ++++++++
>   drivers/i2c/muxes/i2c-mux-uclass.c         | 198 ++++++++++
>   drivers/misc/cros_ec.c                     | 288 +++-----------
>   drivers/power/pmic/Makefile                |   2 -
>   drivers/power/pmic/pmic_tps65090.c         | 310 ---------------
>   drivers/power/pmic/pmic_tps65090_ec.c      | 218 -----------
>   drivers/power/regulator/max77686.c         |  18 +-
>   drivers/video/Makefile                     |   1 -
>   drivers/video/bridge/video-bridge-uclass.c |  28 +-
>   drivers/video/exynos_dp.c                  |  22 --
>   drivers/video/parade.c                     | 231 ------------
>   include/configs/arndale.h                  |  18 +-
>   include/configs/exynos5-common.h           |  13 +-
>   include/configs/exynos5-dt-common.h        |  21 +-
>   include/configs/exynos5250-common.h        |  16 +-
>   include/configs/exynos5420-common.h        |   9 +-
>   include/configs/odroid_xu3.h               |   2 +
>   include/configs/peach-pi.h                 |  14 +-
>   include/configs/peach-pit.h                |  24 +-
>   include/configs/smdk5250.h                 |  16 +-
>   include/configs/smdk5420.h                 |  10 +-
>   include/configs/snow.h                     |  15 +-
>   include/configs/spring.h                   |  20 +
>   include/cros_ec.h                          |  16 +-
>   include/dm/uclass-id.h                     |   1 +
>   include/fdtdec.h                           |   3 -
>   include/i2c.h                              |  39 ++
>   include/parade.h                           |  18 -
>   include/power/tps65090_pmic.h              |  73 ----
>   lib/fdtdec.c                               |   3 -
>   61 files changed, 1997 insertions(+), 1794 deletions(-)
>   create mode 100644 arch/arm/dts/exynos5250-spring.dts
>   create mode 100644 board/samsung/common/exynos5-dt.c
>   delete mode 100644 board/samsung/smdk5250/exynos5-dt.c
>   delete mode 100644 board/samsung/smdk5420/smdk5420.c
>   create mode 100644 configs/spring_defconfig
>   create mode 100644 doc/README.i2c
>   create mode 100644 doc/device-tree-bindings/i2c/i2c-mux.txt
>   create mode 100644 drivers/i2c/cros_ec_ldo.c
>   create mode 100644 drivers/i2c/cros_ec_tunnel.c
>   create mode 100644 drivers/i2c/muxes/Kconfig
>   create mode 100644 drivers/i2c/muxes/Makefile
>   create mode 100644 drivers/i2c/muxes/i2c-arb-gpio-challenge.c
>   create mode 100644 drivers/i2c/muxes/i2c-mux-uclass.c
>   delete mode 100644 drivers/power/pmic/pmic_tps65090.c
>   delete mode 100644 drivers/power/pmic/pmic_tps65090_ec.c
>   delete mode 100644 drivers/video/parade.c
>   create mode 100644 include/configs/spring.h
>   delete mode 100644 include/parade.h
>   delete mode 100644 include/power/tps65090_pmic.h
>

That's great job! I've got only two cosmetics comments.

Tested-on: Odroid U3(E4412) and Odroid XU3(E5422).

Acked-by: Przemyslaw Marczak <p.marczak at smsung.com>

Best regards,
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com


More information about the U-Boot mailing list