From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Jacques Hiblot Date: Fri, 7 Apr 2017 13:41:59 +0200 Subject: [U-Boot] [PATCH v2 00/10] OMAP: Move SATA to use block driver model Message-ID: <1491565329-20267-1-git-send-email-jjhiblot@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This series adds support for SATA using the driver model on omap platforms. It is based on the work of Mugunthan V N in Feb 2016 The first 2 patches are preparatory work. The 3rd patch adds a new framework to handle PHYs in a generic manner. The idea is to move the phy initialization out of the board-specific code into a proper driver. The link between the phy device and the controller device is done in by device-tree as it's done in linux. The API to control a phy has been copied from linux, excpet that the functions are prefixed by 'generic_phy_' instead of just 'phy_' because phy_reset() is already used to handle the Ethernet phys. The 4th patch adds a phy driver for the pipe3 sata phy found in the omaps/am5x/dra7x SOCs. The 5th patch allows the device under the node ocp2scp at 4a090000 to be probed. The 6th patch implements a driver for the SATA controller found in the omaps/am5x/dra7x SOCs. The 7th patch is cosmetic and changes the interface of scsi_detect_dev() The 8th patch moves the call to part_init() out of scsi_detect_dev(). This is a preparatory work path #9. The 9th patches fix a divide-by-0 error that happens in scsi_scan() when DM is used. The last patch enables the DM sata by default for the dra7 platforms. changes since v1: * changed the way the 'old' sata code is compiled out when DM_SCSI is enabled. * added a new framework for PHY management. * added a new driver for the PIPE3 phy and use it in the dwc_ahci driver. * changed the interface of scsi_detect_dev() and moved the call part_init() out of it. * modified the fix to scsi_scan() in order to call scsi_detect_dev() only once. * the max_lun and max_id parameters are now taken from the device-tree. * Updated the defconfig changes to include the PHY driver and its dependencies. Jean-Jacques Hiblot (8): arm: omap: sata: compile out board-level sata code when CONFIG_DM_SCSI is defined drivers: phy: add generic PHY framework drivers: phy: add PIPE3 phy driver dra7: dtsi: mark ocp2scp bus compatible with "simple-bus" scsi: make the LUN a parameter of scsi_detect_dev() scsi: move the partition initialization out of the scsi detection dm: scsi: fix divide-by-0 error in scsi_scan() defconfig: dra7xx_evm: enable CONFIG_BLK and disk driver model for SCSI Mugunthan V N (2): arm: omap: sata: move enable sata clocks to enable_basic_clocks() drivers: block: dwc_ahci: Implement a driver for Synopsys DWC sata device Makefile | 1 + arch/arm/dts/dra7.dtsi | 2 +- arch/arm/mach-omap2/Makefile | 2 + arch/arm/mach-omap2/omap5/hw_data.c | 12 ++ arch/arm/mach-omap2/sata.c | 23 --- common/scsi.c | 48 +++-- configs/dra7xx_evm_defconfig | 12 +- configs/dra7xx_hs_evm_defconfig | 11 +- drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/block/Kconfig | 10 + drivers/block/Makefile | 1 + drivers/block/dwc_ahci.c | 100 ++++++++++ drivers/phy/Kconfig | 34 ++++ drivers/phy/Makefile | 6 + drivers/phy/phy-uclass.c | 77 ++++++++ drivers/phy/ti-pipe3-phy.c | 368 ++++++++++++++++++++++++++++++++++++ include/dm/uclass-id.h | 1 + include/generic-phy.h | 38 ++++ 19 files changed, 708 insertions(+), 41 deletions(-) create mode 100644 drivers/block/dwc_ahci.c create mode 100644 drivers/phy/Kconfig create mode 100644 drivers/phy/Makefile create mode 100644 drivers/phy/phy-uclass.c create mode 100644 drivers/phy/ti-pipe3-phy.c create mode 100644 include/generic-phy.h -- 1.9.1