dm: exynos: Driver model improvements leading to spring support
Get series with b4
b4 am [email protected]Versions newest first
- v2 Latest2 of 19 patches 0 repliesNew
2 of 19 patches are in this archive. The cover letter announces 19.
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 7/19 | dm: pmic: max77686: Support all BUCK regulators | +0 | 0 replies | |
| 9/19 | exynos: Add common board code for exynos5 boards that use device tree | +0 | 1 reply |
Reviews trailers per patch
None of the 2 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Przemyslaw Marczak |
|---|---|
| Series | A-b |
| 7/19 | |
| 9/19 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [U-Boot] [PATCH v2 00/19] dm: exynos: Driver model improvements leading to spring support
Hello Simon,
Quoted 126 lines · Simon Glass
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 springarch/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.dtscreate mode 100644board/samsung/common/exynos5-dt.cdelete mode 100644board/samsung/smdk5250/exynos5-dt.cdelete mode 100644board/samsung/smdk5420/smdk5420.ccreate mode 100644 configs/spring_defconfig create mode 100644 doc/README.i2c
create mode 100644doc/device-tree-bindings/i2c/i2c-mux.txtcreate mode 100644drivers/i2c/cros_ec_ldo.ccreate mode 100644drivers/i2c/cros_ec_tunnel.ccreate mode 100644drivers/i2c/muxes/Kconfigcreate mode 100644drivers/i2c/muxes/Makefile
Quoted 9 lines
create mode 100644
drivers/i2c/muxes/i2c-arb-gpio-challenge.ccreate mode 100644drivers/i2c/muxes/i2c-mux-uclass.cdelete mode 100644drivers/power/pmic/pmic_tps65090.cdelete mode 100644drivers/power/pmic/pmic_tps65090_ec.cdelete mode 100644drivers/video/parade.c
create mode 100644include/configs/spring.h
delete mode 100644include/parade.h
delete mode 100644include/power/tps65090_pmic.h
That's great job! I've got only two cosmetics comments.
Tested-on: Odroid U3(E4412) and Odroid XU3(E5422).
Best regards,
Signature · 4 lines
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com