[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