[U-Boot] [PATCH v2 0/17] dm: x86: Convert x86 to use driver model more fully

Simon Glass sjg at chromium.org
Thu Mar 26 16:29:24 CET 2015


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

-- 
2.2.0.rc0.207.ga3a616c



More information about the U-Boot mailing list