[PATCH 00/13] Add support for Lenovo ix4-300d NAS

Sebastian Hesselbarth sebastian.hesselbarth at gmail.com
Thu Apr 9 18:03:37 PDT 2015


This patch set adds support for the Lenovo ix4-300d NAS based on
Marvell Armada XP MV78230 SoC. Unfortunately, this very SoC has
a broken SoC-Id and wrongly indentifies itself as MV78460 instead.
Marvell's BSP u-boot fixes this by overwriting the PCI ID register
that is used by Linux for SoC identification with the correct value,
so we also add a proper fixup.

Stuff that is already working on ix4:
- Front USB port on xHCI PCI
- Both GbEs (with txdesc fix for mvneta) on 88E1318S PHYs
- LEDs and buttons

Missing functions:
- Front GLCD (I started a driver but have to have another look at it)
- Back USB on internal controllers (missing CI glue logic and USB PHY
  for Armada XP, have some old patches for KW and Dove)
- 88SX7042 4-port SATA controller on PCIe x4 (nothing here)
- NAND flash (hope Ezequiel finds some time here)
- External RTC, Fan control (nothing here)

Patches 1-4 add support for Marvell 88E1318S PHYs, 74x164 used as
GPIO expander, and bitbang SPI.

Patches 5-7 cleanup and convert mvebu-mbus driver from a
postcore-registered driver to be directly called from mvebu SoC
init which allows to setup mbus windows before any drivers.

Patches 8-9 install a fixup function for Armada 370/XP SoCs to
fake a correct SoC Id for broken MV78230 SoCs.

Patches 10-12 cleanup Armada 370/XP code prior to adding support
for Lenovo ix4-300d in Patch 13.

Sebastian Hesselbarth (13):
  net: phy: Support Marvell 88E1318S PHY
  gpio: Add driver for 74x164 compatible shift-registers
  spi: ath79: move spidelay from spi-bitbang-txrx
  spi: Add SPI GPIO bitbang driver
  bus: mvebu-mbus: Remove coherency attribute
  bus: mvebu-mbus: Drop device reference
  bus: mvebu-mbus: Convert mbus platform driver to direct driver
  ARM: mvebu: Move PCIe register defines to socid.h
  ARM: mvebu: armada-xp: Fixup broken MV78230-A0 SoC ID
  ARM: mvebu: armada-xp: Limit PUP access to Armada XP
  ARM: mvebu: armada-xp: Use MBUS_ERR_PROP_EN define
  ARM: mvebu: armada-xp: Sort boards and images alphabetically
  ARM: mvebu: armada-xp: Add Lenovo Iomega ix4-300d

 arch/arm/boards/Makefile                           |   1 +
 arch/arm/boards/lenovo-ix4-300d/Makefile           |   1 +
 arch/arm/boards/lenovo-ix4-300d/kwbimage.cfg       |   5 +
 arch/arm/boards/lenovo-ix4-300d/lowlevel.c         |  35 +++
 arch/arm/dts/Makefile                              |   1 +
 arch/arm/dts/armada-xp-lenovo-ix4-300d-bb.dts      |  14 ++
 arch/arm/mach-mvebu/Kconfig                        |   8 +-
 arch/arm/mach-mvebu/armada-370-xp.c                |  87 +++++++-
 arch/arm/mach-mvebu/common.c                       |   5 +-
 arch/arm/mach-mvebu/dove.c                         |   1 +
 .../mach-mvebu/include/mach/armada-370-xp-regs.h   |  31 ++-
 arch/arm/mach-mvebu/include/mach/socid.h           |   4 +
 arch/arm/mach-mvebu/kirkwood.c                     |   1 +
 drivers/bus/mvebu-mbus.c                           |  48 ++---
 drivers/gpio/Kconfig                               |   8 +
 drivers/gpio/Makefile                              |   1 +
 drivers/gpio/gpio-74164.c                          | 131 ++++++++++++
 drivers/net/phy/marvell.c                          |  31 +++
 drivers/spi/Kconfig                                |   4 +
 drivers/spi/Makefile                               |   1 +
 drivers/spi/ath79_spi.c                            |   2 +
 drivers/spi/gpio_spi.c                             | 238 +++++++++++++++++++++
 drivers/spi/spi-bitbang-txrx.h                     |   2 -
 images/Makefile.mvebu                              |  31 ++-
 include/linux/mbus.h                               |   2 +
 include/spi/spi_gpio.h                             |  36 ++++
 26 files changed, 665 insertions(+), 64 deletions(-)
 create mode 100644 arch/arm/boards/lenovo-ix4-300d/Makefile
 create mode 100644 arch/arm/boards/lenovo-ix4-300d/kwbimage.cfg
 create mode 100644 arch/arm/boards/lenovo-ix4-300d/lowlevel.c
 create mode 100644 arch/arm/dts/armada-xp-lenovo-ix4-300d-bb.dts
 create mode 100644 drivers/gpio/gpio-74164.c
 create mode 100644 drivers/spi/gpio_spi.c
 create mode 100644 include/spi/spi_gpio.h

---
Cc: barebox at lists.infradead.org
Cc: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
-- 
2.1.0




More information about the barebox mailing list