From mboxrd@z Thu Jan 1 00:00:00 1970 From: antoine.tenart@free-electrons.com (=?UTF-8?q?Antoine=20T=C3=A9nart?=) Date: Mon, 7 Jul 2014 12:16:06 +0200 Subject: [PATCH v9 0/7] ARM: berlin: add AHCI support Message-ID: <1404728173-20263-1-git-send-email-antoine.tenart@free-electrons.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org This series adds the support for Berlin SoC AHCI controller. The controller allows to use the SATA host interface and, for example, the eSATA port on the BG2Q. The series adds a PHY driver to control the two SATA ports available, and adds a generic compatible to use the existing ahci_platform driver. Also enable the eSATA interface on the BG2Q DMP. Changes since v8: - stopped reset the controller from the PHY driver - removed fixed array sizes - got rid of the custom to_berlin_sata_phy_priv() macro - added dependency to HAS_IOMEM Changes since v7: - got back to the each PHY as a sub-node representation - renamed the power bit in the PHY driver Changes since v6: - added the 'clocks' property and support in the PHY driver - updated the PHY compatible Changes since v5: - rebased on top of v3.16-rc1 - added the 'clocks' property in the sata node Changes since v4: - updated PHY driver as tristate - handled the case were no SATA port is enabled - updated the compatible to a generic one - cosmetic fixups Changes since v3: - moved all PHY operations to the PHY driver - removed PHY sub-nodes - removed the custom Berlin AHCI driver and switched to ahci_platform - added multiple PHYs support to the libahci_platform Changes since v2: - modeled each PHY as a sub-node - cosmetic fixups Changes since v1: - added a PHY driver, allowing to enable each port individually and removed the 'force-port-map' property - made the drivers a bit less magic :) - wrote a function to select and configure registers in the AHCI driver - removed BG2 / BG2CD nodes Antoine T?nart (7): phy: add a driver for the Berlin SATA PHY Documentation: bindings: add the Berlin SATA PHY ata: libahci: allow to use multiple PHYs ata: ahci_platform: add a generic AHCI compatible Documentation: bindings: document the sub-nodes AHCI bindings ARM: berlin: add the AHCI node for the BG2Q ARM: berlin: enable the eSATA interface on the BG2Q DMP .../devicetree/bindings/ata/ahci-platform.txt | 37 +++ .../devicetree/bindings/phy/berlin-sata-phy.txt | 34 +++ arch/arm/boot/dts/berlin2q-marvell-dmp.dts | 8 + arch/arm/boot/dts/berlin2q.dtsi | 39 +++ drivers/ata/ahci.h | 3 +- drivers/ata/ahci_platform.c | 2 + drivers/ata/libahci.c | 7 + drivers/ata/libahci_platform.c | 170 +++++++++--- drivers/phy/Kconfig | 7 + drivers/phy/Makefile | 1 + drivers/phy/phy-berlin-sata.c | 284 +++++++++++++++++++++ 11 files changed, 556 insertions(+), 36 deletions(-) create mode 100644 Documentation/devicetree/bindings/phy/berlin-sata-phy.txt create mode 100644 drivers/phy/phy-berlin-sata.c -- 1.9.1