linux/drivers/ata
Linus Walleij be4e456ed3 ata: Add driver for Faraday Technology FTIDE010
This adds a driver for the Faraday Technology FTIDE010
PATA IP block.

When used with the Storlink/Storm/Cortina Systems Gemini
SoC, the PATA interface is accompanied by a PATA<->SATA
bridge, so while the device appear as a PATA controller,
it attaches physically to SATA disks, and also has a
designated memory area with registers to set up the bridge.

The Gemini SATA bridge is separated into its own driver
file to make things modular and make it possible to reuse
the PATA driver as stand-alone on other systems than the
Gemini.

dmesg excerpt from the D-Link DIR-685 storage router:
gemini-sata-bridge 46000000.sata: SATA ID 00000e00, PHY ID: 01000100
gemini-sata-bridge 46000000.sata: set up the Gemini IDE/SATA nexus
ftide010 63000000.ata: set up Gemini PATA0
ftide010 63000000.ata: device ID 00000500, irq 26, io base 0x63000000
ftide010 63000000.ata: SATA0 (master) start
gemini-sata-bridge 46000000.sata: SATA0 PHY ready
scsi host0: pata-ftide010
ata1: PATA max UDMA/133 irq 26
ata1.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10302, max UDMA/133
ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 0/32)
ata1.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 0302 PQ: 0 ANSI: 5
ata1.00: Enabling discard_zeroes_data
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/112 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache:
                  enabled, doesn't support DPO or FUA
ata1.00: Enabling discard_zeroes_data
ata1.00: Enabling discard_zeroes_data
sd 0:0:0:0: [sda] Attached SCSI disk

After this I can flawlessly mount and read/write copy etc files
from /dev/sda[n].

Cc: John Feng-Hsin Chiang <john453@faraday-tech.com>
Cc: Greentime Hu <green.hu@gmail.com>
Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2017-06-12 12:02:51 -04:00
..
Kconfig ata: Add driver for Faraday Technology FTIDE010 2017-06-12 12:02:51 -04:00
Makefile ata: Add driver for Faraday Technology FTIDE010 2017-06-12 12:02:51 -04:00
acard-ahci.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
ahci.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
ahci.h ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
ahci_brcm.c
ahci_ceva.c
ahci_da850.c sata: ahci-da850: un-hardcode the MPY bits 2017-01-31 20:41:52 +05:30
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: fix building without hwmon or thermal 2017-01-15 18:51:12 -05:00
ahci_mvebu.c
ahci_octeon.c Delete redundant return value check of platform_get_resource() 2017-03-06 15:40:59 -05:00
ahci_platform.c
ahci_qoriq.c ahci: qoriq: add ls1088a platforms support 2017-06-02 09:49:33 -04:00
ahci_seattle.c
ahci_st.c
ahci_sunxi.c
ahci_tegra.c
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_piix.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
libahci.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
libahci_platform.c
libata-acpi.c
libata-core.c libata: implement SECURITY PROTOCOL IN/OUT 2017-06-05 15:29:22 -04:00
libata-eh.c libata: move ata_read_log_page to libata-core.c 2017-06-05 15:29:21 -04:00
libata-pmp.c
libata-scsi.c libata: implement SECURITY PROTOCOL IN/OUT 2017-06-05 15:29:22 -04:00
libata-sff.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
libata-trace.c
libata-transport.c libata: transport: Remove circular dependency at free time 2017-03-06 15:24:48 -05:00
libata-transport.h
libata-zpodd.c
libata.h libata: move ata_read_log_page to libata-core.c 2017-06-05 15:29:21 -04:00
pata_acpi.c
pata_ali.c
pata_amd.c
pata_arasan_cf.c
pata_artop.c
pata_at32.c
pata_atiixp.c Revert "pata_atiixp: Don't use unconnected secondary port on SB600/SB700" 2017-03-27 13:52:00 -04:00
pata_atp867x.c
pata_bf54x.c ata: bf54x: cut drvdata assignment 2017-05-30 11:54:36 -04:00
pata_bk3710.c pata_bk3710: clear status bits of BMISP on chipset initialization 2017-03-30 16:13:04 +05:30
pata_cmd64x.c
pata_cmd640.c
pata_cs5520.c
pata_cs5530.c
pata_cs5535.c
pata_cs5536.c
pata_cypress.c
pata_efar.c
pata_ep93xx.c ata: ep93xx: cut drvdata assignment 2017-05-30 11:54:36 -04:00
pata_falcon.c Merge branch 'for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2017-02-21 17:21:32 -08:00
pata_ftide010.c ata: Add driver for Faraday Technology FTIDE010 2017-06-12 12:02:51 -04:00
pata_hpt3x2n.c
pata_hpt3x3.c
pata_hpt37x.c
pata_hpt366.c
pata_icside.c
pata_imx.c pata: imx: support controller modes up to PIO4 2016-11-09 11:48:58 -05:00
pata_isapnp.c
pata_it821x.c
pata_it8213.c
pata_ixp4xx_cf.c ata: pass queued command to ->sff_data_xfer method 2017-01-10 11:11:17 -05:00
pata_jmicron.c
pata_legacy.c ata: pass queued command to ->sff_data_xfer method 2017-01-10 11:11:17 -05:00
pata_macio.c ata: constify of_device_id structures 2017-03-06 15:18:01 -05:00
pata_marvell.c
pata_mpc52xx.c ata: constify of_device_id structures 2017-03-06 15:18:01 -05:00
pata_mpiix.c
pata_netcell.c
pata_ninja32.c
pata_ns87410.c
pata_ns87415.c
pata_octeon_cf.c pata_octeon_cf: remove unused local variables from octeon_cf_set_piomode() 2017-01-23 14:28:51 -05:00
pata_of_platform.c ata: constify of_device_id structures 2017-03-06 15:18:01 -05:00
pata_oldpiix.c
pata_opti.c
pata_optidma.c
pata_palmld.c
pata_pcmcia.c ata: pass queued command to ->sff_data_xfer method 2017-01-10 11:11:17 -05:00
pata_pdc202xx_old.c
pata_pdc2027x.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
pata_piccolo.c
pata_platform.c
pata_pxa.c
pata_radisys.c
pata_rb532_cf.c ata: rb532_cf: cut drvdata assignment 2017-05-30 11:54:37 -04:00
pata_rdc.c
pata_rz1000.c
pata_samsung_cf.c ata: samsung_cf: cut drvdata assignment 2017-05-30 11:54:37 -04:00
pata_sc1200.c
pata_sch.c
pata_serverworks.c
pata_sil680.c
pata_sis.c
pata_sl82c105.c
pata_triflex.c
pata_via.c
pdc_adma.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_dwc_460ex.c ata: dwc_460ex: cut drvdata assignment 2017-05-30 11:54:37 -04:00
sata_fsl.c ata: sata_fsl: cut drvdata assignment 2017-05-30 11:54:37 -04:00
sata_gemini.c ata: Add driver for Faraday Technology FTIDE010 2017-06-12 12:02:51 -04:00
sata_gemini.h ata: Add driver for Faraday Technology FTIDE010 2017-06-12 12:02:51 -04:00
sata_highbank.c
sata_inic162x.c
sata_mv.c ata: constify of_device_id structures 2017-03-06 15:18:01 -05: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: pass queued command to ->sff_data_xfer method 2017-01-10 11:11:17 -05:00
sata_sil.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_sil24.c
sata_sis.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_svw.c ata: update references for libata documentation 2017-05-16 11:25:59 -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 ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sata_vsc.c ata: update references for libata documentation 2017-05-16 11:25:59 -04:00
sis.h