linux/drivers/ata
Richard Zhu 027fa4dee9 ahci: imx: add the imx8qm ahci sata support
- There are three PHY lanes on iMX8QM, and can be
  used in the following three cases
    1. a two lanes PCIE_A, and a single lane SATA.
    2. a single lane PCIE_A, a single lane PCIE_B
    and a single lane SATA.
    3. a two lanes PCIE_A, and a single lane PCIE_B.
  The configuration of the iMX8QM AHCI SATA is relied
  on the usage of PCIE ports in the case 1 and 2.
  Use standalone iMX8 AHCI SATA probe and enable
  functions to enable iMX8QM AHCI SATA support.
- To save power consumption, PHY CLKs can be gated
  off after the configurations are done.
- The impedance ratio should be configured refer to
  differnet REXT values.
  0x6c <--> REXT value is 85Ohms
  0x80 (default value) <--> REXT value is 100Ohms.
  In general, REXT value should be 85ohms in standalone
  PCIE HW board design, and 100ohms in SATA standalone
  HW board design.
  When the PCIE and the SATA are enabled simultaneously
  in the HW board design. The REXT value would be set
  to 85ohms.
  Configure the SATA PHY impedance ratio to 0x6c in
  default.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2018-03-29 06:43:55 -07:00
..
acard-ahci.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
ahci.c ahci: Add Intel Cannon Lake PCH-H PCI ID 2018-01-11 10:09:47 -08:00
ahci.h ata: ahci-platform: add reset control support 2018-03-26 07:40:01 -07:00
ahci_brcm.c ata: ahci_brcm: Recover from failures to identify devices 2018-01-17 07:52:29 -08:00
ahci_ceva.c ata: ceva: Add SMMU support for SATA IP 2017-10-23 07:09:27 -07:00
ahci_da850.c sata: ahci-da850: Fix some error handling paths in 'ahci_da850_probe()' 2017-08-16 07:38:27 -07:00
ahci_dm816.c ata: ahci: add support for DaVinci DM816 SATA controller 2017-03-24 11:40:03 -04:00
ahci_imx.c ahci: imx: add the imx8qm ahci sata support 2018-03-29 06:43:55 -07:00
ahci_mtk.c ahci: mtk: Change driver name to ahci-mtk 2017-12-04 12:35:29 -08:00
ahci_mvebu.c ata: ahci_mvebu: add support for Armada 3700 variant 2016-02-18 12:41:17 -05:00
ahci_octeon.c Delete redundant return value check of platform_get_resource() 2017-03-06 15:40:59 -05:00
ahci_platform.c ata: ahci_platform: Add shutdown handler 2017-08-04 13:34:14 -07:00
ahci_qoriq.c ahci: qoriq: refine port register configuration 2017-12-04 12:18:08 -08:00
ahci_seattle.c ata: fix return value check in ahci_seattle_get_port_info() 2016-06-15 14:26:41 -04:00
ahci_st.c ahci: st: Add ports-implemented property in support 2016-08-10 12:16:49 -04:00
ahci_sunxi.c ata: ahci_platform: fix owner module reference mismatch for scsi host 2015-01-28 18:45:23 -05:00
ahci_tegra.c ata: ahci_tegra: Add AHCI support for Tegra210 2018-03-14 08:24:21 -07:00
ahci_xgene.c ata: ahci_xgene: free structure returned by acpi_get_object_info() 2017-01-06 11:39:14 -05:00
ata_generic.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
ata_piix.c ata_piix: constify pci_bits 2018-01-08 06:15:41 -08:00
Kconfig ata: add Amiga Gayle PATA controller driver 2018-03-19 07:41:36 -07:00
libahci.c ahci: Add check for device presence (PCIe hot unplug) in ahci_stop_engine() 2018-02-12 09:17:23 -08:00
libahci_platform.c ata: ahci-platform: add reset control support 2018-03-26 07:40:01 -07:00
libata-acpi.c ACPI and power management updates for 3.15-rc1 2014-04-01 12:48:54 -07:00
libata-core.c libata: ensure host is free'd on error exit paths 2018-03-27 06:56:02 -07:00
libata-eh.c Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2017-11-15 14:11:41 -08:00
libata-pmp.c ata: pmp: add quirk for Marvell 4140 SATA PMP 2015-07-14 17:46:38 -04:00
libata-scsi.c libata: don't try to pass through NCQ commands to non-NCQ devices 2018-02-12 09:21:25 -08:00
libata-sff.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
libata-trace.c libata: NCQ encapsulation for ZAC MANAGEMENT OUT 2016-05-09 12:36:46 -04:00
libata-transport.c libata: add refcounting to ata_host 2018-03-13 13:29:10 -07:00
libata-transport.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
libata-zpodd.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
libata.h libata: add refcounting to ata_host 2018-03-13 13:29:10 -07:00
Makefile ata: add Amiga Gayle PATA controller driver 2018-03-19 07:41:36 -07:00
pata_acpi.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_ali.c ata: Deprecate pci_get_bus_and_slot() 2018-01-11 17:23:23 -06:00
pata_amd.c cs5536: add support for IDE controller variant 2017-08-11 10:35:07 -07:00
pata_arasan_cf.c pata_arasan_cf: Delete an unnecessary variable initialisation in arasan_cf_probe() 2018-02-18 05:16:35 -08:00
pata_artop.c ata: pata_artop: remove redundant initialization of pio 2017-09-18 20:24:21 -07:00
pata_atiixp.c libata:pata_atiixp: Don't use unconnected secondary port on SB600 2018-01-08 04:02:02 -08:00
pata_atp867x.c ata: mark expected switch fall-throughs 2017-10-23 07:06:09 -07:00
pata_bf54x.c ata: bf54x: cut drvdata assignment 2017-05-30 11:54:36 -04:00
pata_bk3710.c pata_bk3710: clarify license version and use SPDX header 2018-03-01 13:59:03 -08:00
pata_cmd64x.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_cmd640.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_cs5520.c ata: remove deprecated use of pci api 2015-04-08 10:55:05 -04:00
pata_cs5530.c ata: Delete unnecessary checks before the function call "pci_dev_put" 2015-02-03 07:04:44 -05:00
pata_cs5535.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_cs5536.c cs5536: add support for IDE controller variant 2017-08-11 10:35:07 -07:00
pata_cypress.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_efar.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_ep93xx.c ata: ep93xx: cut drvdata assignment 2017-05-30 11:54:36 -04:00
pata_falcon.c pata_falcon: clarify license version and use SPDX header 2018-03-01 13:58:17 -08:00
pata_ftide010.c ata: ftide010: fix resource printing 2017-06-21 18:06:18 -04:00
pata_gayle.c ata: add Amiga Gayle PATA controller driver 2018-03-19 07:41:36 -07:00
pata_hpt3x2n.c ata: delete non-required instances of include <linux/init.h> 2014-02-13 16:40:56 -05:00
pata_hpt3x3.c ata: remove deprecated use of pci api 2015-04-08 10:55:05 -04:00
pata_hpt37x.c ata: delete non-required instances of include <linux/init.h> 2014-02-13 16:40:56 -05:00
pata_hpt366.c ata: hpt366: fix incorrect mask when checking at cmd_high_time 2016-07-12 11:02:05 -04:00
pata_icside.c scsi: rename SCSI_MAX_{SG, SG_CHAIN}_SEGMENTS 2016-04-15 16:53:14 -04:00
pata_imx.c pata: imx: support controller modes up to PIO4 2016-11-09 11:48:58 -05:00
pata_isapnp.c PNP: ata/pata_isapnp: Use module_pnp_driver to register driver 2015-03-18 22:39:17 +01:00
pata_it821x.c pata_it821x: Delete an error message for a failed memory allocation in it821x_firmware_command() 2018-02-18 05:26:07 -08:00
pata_it8213.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_ixp4xx_cf.c ata: pass queued command to ->sff_data_xfer method 2017-01-10 11:11:17 -05:00
pata_jmicron.c PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI 2015-08-24 15:27:11 -05:00
pata_legacy.c ata: pass queued command to ->sff_data_xfer method 2017-01-10 11:11:17 -05:00
pata_macio.c pata_macio: Delete an error message for a failed memory allocation in two functions 2018-02-18 05:24:16 -08:00
pata_marvell.c ata: Use IS_ENABLED() instead of checking for built-in or module 2016-05-27 11:27:23 -04:00
pata_mpc52xx.c pata_mpc52xx: Delete an error message for a failed memory allocation in mpc52xx_ata_probe() 2018-02-18 05:23:25 -08:00
pata_mpiix.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_netcell.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_ninja32.c pata_ninja32: Avoid corrupting status flags 2016-08-30 11:59:47 -04:00
pata_ns87410.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_ns87415.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_octeon_cf.c pata_octeon_cf: use of_property_read_{bool|u32}() 2017-08-28 10:44:24 -07:00
pata_of_platform.c ata: constify of_device_id structures 2017-03-06 15:18:01 -05:00
pata_oldpiix.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_opti.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_optidma.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_palmld.c ata: drop owner assignment from platform_drivers 2014-10-20 16:20:17 +02:00
pata_pcmcia.c ata: pass queued command to ->sff_data_xfer method 2017-01-10 11:11:17 -05:00
pata_pdc202xx_old.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_pdc2027x.c ata: pata_pdc2027x: Replace mdelay with msleep 2018-01-25 07:28:31 -08:00
pata_piccolo.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_platform.c ata: pata_platform: fix owner module reference mismatch for scsi host 2015-01-28 18:45:23 -05:00
pata_pxa.c ata: pata_pxa: dmaengine conversion 2015-09-10 17:02:04 -04:00
pata_radisys.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_rb532_cf.c ata: rb532_cf: cut drvdata assignment 2017-05-30 11:54:37 -04:00
pata_rdc.c ata: declare ata_port_info structures as const 2017-06-12 14:06:34 -04:00
pata_rz1000.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_samsung_cf.c pata_samsung_cf: Delete an error message for a failed memory allocation in pata_s3c_probe() 2018-02-18 05:20:38 -08:00
pata_sc1200.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_sch.c ata: declare ata_port_info structures as const 2017-06-12 14:06:34 -04:00
pata_serverworks.c pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller 2014-10-07 17:10:14 -04:00
pata_sil680.c ata: remove deprecated use of pci api 2015-04-08 10:55:05 -04:00
pata_sis.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_sl82c105.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_triflex.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pata_via.c ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers 2014-05-09 22:37:49 -04:00
pdc_adma.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_dwc_460ex.c sata_dwc_460ex: Delete an error message for a failed memory allocation in sata_dwc_port_start() 2018-02-18 05:21:31 -08:00
sata_fsl.c ata: sata_fsl: cut drvdata assignment 2017-05-30 11:54:37 -04:00
sata_gemini.c ata: sata_gemini: Introduce explicit IDE pin control 2017-08-11 10:32:09 -07:00
sata_gemini.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sata_highbank.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
sata_inic162x.c ata: declare ata_port_info structures as const 2017-06-12 14:06:34 -04:00
sata_mv.c ata: sata_mv: Replace mdelay with usleep_range in mv_reset_channel 2018-01-25 07:28:13 -08:00
sata_nv.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_promise.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_promise.h ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_qstor.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_rcar.c ata: sata_rcar: Remove unused variable in sata_rcar_init_controller() 2018-02-13 06:39:38 -08:00
sata_sil.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_sil24.c ata: remove deprecated use of pci api 2015-04-08 10:55:05 -04:00
sata_sis.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_svw.c ata: Convert to using %pOF instead of full_name 2017-07-18 18:02:36 -04:00
sata_sx4.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_uli.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_via.c sata_via: Enable optional hotplug on VT6420 2017-06-26 16:54:53 -04:00
sata_vsc.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sis.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00