[U-Boot] [PATCH v5 0/8] dm: x86: Convert ICH driver fully to driver model PCI API
Simon Glass
sjg at chromium.org
Tue Jan 19 04:19:13 CET 2016
This is a small series to move the ICH driver over to use the driver model
PCI API. It involves creating PCH drivers which the ICH driver can use to
find out its base address.
At present irq-router is the 'PCH' node in most device tree files. This is
not really correct since the router is just one of the functions of the PCH.
Another is the SPI bus. So this series also moves irq-router down a level.
This still works with the same irq-router driver, since it just searches for
the first compatible node it can find.
A driver-model-compatible irq-router driver should be written but that is
left for later.
This series unfortunately needs testing on each board since each has a
separate change. I have tested minnowmax and chromebook_link so far.
Changes in v5:
- Use #define instead of enum in pch.h
- Squash in Bin's fix-up patch
Changes in v4:
- Tidy up mentions on control bits in the header file
- Return -ENOSYS if the version is unknown
- Correct BIOS_CTRL address for PCH7
- Add BIOS_CTRL address for PCH9
Changes in v3:
- Add a PCH method to enable/disable SPI flash protection
- Drop the pch_init() call
- Add a new patch to separate out the read/write trace from normal debugging
- Use the set_spi_protect() PCH method
Changes in v2:
- Add more detail to the function comment
- Rename the last parameter to 'addr'
- Update the comment to explain usable of this function
- Update the commit message and header file comments
- Use an enum for the PCH version
- Replace SBASE with SPI base
- Add a TODO to check if the init() method can be removed later
- Rename the PCH functions
- Update the get_version() handle to use an enum
- Add a function to obtain the SPI base address
- Add enums for BIOS_CTRL register and bits
- Rename the PCH functions
- Update the get_version() handle to use an enum
- Adjust code for earlier commits
- Move the SPI base code into the PCH drivers
Simon Glass (8):
dm: pci: Move pci_bus_to_hose() to compatibility
dm: pci: Add a function to write a BAR
dm: pci: Avoid using pci_bus_to_hose() in the uclass
dm: Expand the uclass for Platform Controller Hubs (PCH)
dm: x86: Add a driver for Intel PCH7
dm: x86: Add a driver for Intel PCH9
spi: ich: Separate out the read/write trace from normal debugging
dm: x86: spi: Convert ICH SPI driver to driver model PCI API
arch/x86/cpu/coreboot/pci.c | 3 +-
arch/x86/cpu/irq.c | 7 +-
arch/x86/cpu/ivybridge/bd82x6x.c | 47 +++++++-
arch/x86/dts/bayleybay.dts | 160 +++++++++++++-------------
arch/x86/dts/broadwell_som-6896.dts | 24 ++--
arch/x86/dts/chromebook_link.dts | 5 +-
arch/x86/dts/chromebox_panther.dts | 34 +++---
arch/x86/dts/crownbay.dts | 150 ++++++++++++------------
arch/x86/dts/galileo.dts | 99 ++++++++--------
arch/x86/dts/minnowmax.dts | 158 ++++++++++++++------------
arch/x86/dts/qemu-x86_i440fx.dts | 26 +++--
arch/x86/dts/qemu-x86_q35.dts | 38 ++++---
arch/x86/lib/Makefile | 1 -
drivers/Makefile | 1 +
drivers/pch/Makefile | 7 ++
{arch/x86/lib => drivers/pch}/pch-uclass.c | 32 ++++++
drivers/pch/pch7.c | 61 ++++++++++
drivers/pch/pch9.c | 43 +++++++
drivers/pci/pci-uclass.c | 24 ++--
drivers/pci/pci_auto.c | 14 +--
drivers/pci/pci_compat.c | 15 +++
drivers/pci/pci_internal.h | 12 ++
drivers/spi/ich.c | 176 +++++++++--------------------
include/pch.h | 78 +++++++++++++
include/pci.h | 17 ++-
25 files changed, 756 insertions(+), 476 deletions(-)
create mode 100644 drivers/pch/Makefile
rename {arch/x86/lib => drivers/pch}/pch-uclass.c (50%)
create mode 100644 drivers/pch/pch7.c
create mode 100644 drivers/pch/pch9.c
create mode 100644 include/pch.h
--
2.6.0.rc2.230.g3dd15c0
More information about the U-Boot
mailing list