From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Wed, 05 Aug 2015 16:16:37 +0200 Subject: [U-Boot] [PATCH v2 00/19] dm: exynos: Driver model improvements leading to spring support In-Reply-To: <1438611577-2245-1-git-send-email-sjg@chromium.org> References: <1438611577-2245-1-git-send-email-sjg@chromium.org> Message-ID: <55C21AC5.7030904@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 Best regards, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com