
At present x86 does not use driver model for SPI or LPC (low-pin-count, a bus used to talk to the EC on Chromebooks).
This series: - moves the ICH SPI driver over to driver model - moves the cros_ec LPC driver to driver model - removes non-driver-model cros_ec code (since now I2C, SPI and LPC are converted over) - makes some use of the PCI uclass for x86 init, by no means complete - fixes up the keyboard to work on chromebook_link (previously it would only work when started from coreboot)
Changes in v2: - Support pre-driver-model too so we can rebase on dm/next - Adjust snow to move cros_ec from SPI to I2C - Add new patch to move CONFIG_CROS_EC_SANDBOX to Kconfig - Rebase to dm/next
Simon Glass (17): dm: sf: Add driver model read/write/erase methods dm: x86: spi: Convert ICH SPI driver to driver model dm: x86: Add a uclass for a Platform Controller Hub dm: x86: Add a uclass for an Low Pin Count (LPC) device x86: chromebook_link: dts: Add PCH and LPC devices dm: cros_ec: Convert cros_ec LPC driver to driver model cros_ec: Reinit the cros_ec device when 'crosec init' is used cros_ec: Drop unused CONFIG_DM_CROS_EC sandbox: cros_ec: Drop unnecessary init x86: cros_ec: Drop unnecessary init exynos: cros_ec: Drop unnecessary init cros_ec: Remove unused cros_ec_board_init() function fdt: cros_ec: Drop compatible string in fdtdec fdt: Drop LPC compatible string in fdtdec cros_ec: exynos: Match up device tree with kernel version sandbox: cros_ec: Add Kconfig for sandbox EC config i8042: Add keyboard enable logic in kbd_reset()
arch/arm/dts/exynos5250-snow.dts | 11 +- arch/arm/dts/exynos5420-peach-pit.dts | 5 +- arch/arm/dts/exynos5800-peach-pi.dts | 4 +- arch/sandbox/Kconfig | 3 - arch/sandbox/dts/cros-ec-keyboard.dtsi | 105 +++++ arch/sandbox/dts/sandbox.dts | 115 ++---- arch/x86/Kconfig | 6 + arch/x86/cpu/ivybridge/bd82x6x.c | 9 - arch/x86/cpu/ivybridge/cpu.c | 2 +- arch/x86/cpu/ivybridge/lpc.c | 13 +- arch/x86/cpu/ivybridge/mrccache.c | 7 +- arch/x86/cpu/ivybridge/sdram.c | 17 +- arch/x86/dts/chromebook_link.dts | 70 ++-- arch/x86/include/asm/arch-ivybridge/mrccache.h | 4 +- arch/x86/lib/Makefile | 2 + arch/x86/lib/init_helpers.c | 8 - arch/x86/lib/lpc-uclass.c | 28 ++ arch/x86/lib/pch-uclass.c | 28 ++ board/coreboot/coreboot/coreboot.c | 5 - board/google/chromebook_link/link.c | 3 - board/samsung/common/board.c | 12 - board/samsung/smdk5420/Kconfig | 6 - board/sandbox/sandbox.c | 12 - common/board_r.c | 3 - common/cros_ec.c | 33 -- configs/chromebook_link_defconfig | 1 + configs/sandbox_defconfig | 1 - configs/snow_defconfig | 1 - drivers/input/cros_ec_keyb.c | 2 +- drivers/input/i8042.c | 7 + drivers/misc/Kconfig | 19 +- drivers/misc/cros_ec.c | 250 +----------- drivers/misc/cros_ec_i2c.c | 4 +- drivers/misc/cros_ec_lpc.c | 29 +- drivers/misc/cros_ec_sandbox.c | 77 +--- drivers/misc/cros_ec_spi.c | 4 +- drivers/mtd/spi/sf-uclass.c | 16 + drivers/spi/ich.c | 519 +++++++++++++------------ include/configs/exynos5420-common.h | 2 - include/configs/sandbox.h | 1 - include/configs/smdk5250.h | 1 - include/configs/snow.h | 1 - include/configs/x86-common.h | 1 - include/cros_ec.h | 137 ------- include/dm/uclass-id.h | 1 + include/fdtdec.h | 4 +- include/spi_flash.h | 47 ++- lib/fdtdec.c | 4 +- 48 files changed, 661 insertions(+), 979 deletions(-) create mode 100644 arch/sandbox/dts/cros-ec-keyboard.dtsi create mode 100644 arch/x86/lib/lpc-uclass.c create mode 100644 arch/x86/lib/pch-uclass.c