Commit 109a5db5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull libata updates from Tejun Heo:

 - Christoph added support for TCG OPAL self encrypting disks

 - Minwoo added support for ATA PASS-THROUGH(32)

 - Linus Walleij removed spurious drvdata assignments in some drivers

 - Support for a few new device and other fixes

* 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (33 commits)
  sd: add support for TCG OPAL self encrypting disks
  libata: fix build warning from unused goto label
  libata: Support for an ATA PASS-THROUGH(32) command.
  ahci: Add Device ID for ASMedia 1061R and 1062R
  sata_via: Enable optional hotplug on VT6420
  ata: ahci_brcm: Avoid writing to read-only registers
  libata: Add the AHCI_HFLAG_NO_WRITE_TO_RO flag
  libata: Add the AHCI_HFLAG_YES_ALPM flag
  ata: ftide010: fix resource printing
  libata: make the function name in comment match the actual function
  ata: sata_rcar: make of_device_ids const.
  ata: pata_octeon_cf: make of_device_ids const.
  libata: Convert bare printks to pr_cont
  libahci: wrong comments in ahci_do_softreset()
  ata: declare ata_port_info structures as const
  ata: Add driver for Faraday Technology FTIDE010
  ata: Add DT bindings for the Gemini SATA bridge
  ata: Add DT bindings for Faraday Technology FTIDE010
  libata: implement SECURITY PROTOCOL IN/OUT
  libata: factor out a ata_identify_page_supported helper
  ...
parents a4c20b9a d80210f2
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
* Cortina Systems Gemini SATA Bridge

The Gemini SATA bridge in a SoC-internal PATA to SATA bridge that
takes two Faraday Technology FTIDE010 PATA controllers and bridges
them in different configurations to two SATA ports.

Required properties:
- compatible: should be
  "cortina,gemini-sata-bridge"
- reg: registers and size for the block
- resets: phandles to the reset lines for both SATA bridges
- reset-names: must be "sata0", "sata1"
- clocks: phandles to the compulsory peripheral clocks
- clock-names: must be "SATA0_PCLK", "SATA1_PCLK"
- syscon: a phandle to the global Gemini system controller
- cortina,gemini-ata-muxmode: tell the desired multiplexing mode for
  the ATA controller and SATA bridges. Values 0..3:
  Mode 0: ata0 master <-> sata0
          ata1 master <-> sata1
          ata0 slave interface brought out on IDE pads
  Mode 1: ata0 master <-> sata0
          ata1 master <-> sata1
          ata1 slave interface brought out on IDE pads
  Mode 2: ata1 master <-> sata1
          ata1 slave  <-> sata0
          ata0 master and slave interfaces brought out
               on IDE pads
  Mode 3: ata0 master <-> sata0
          ata0 slave  <-> sata1
          ata1 master and slave interfaces brought out
               on IDE pads

Optional boolean properties:
- cortina,gemini-enable-ide-pins: enables the PATA to IDE connection.
  The muxmode setting decides whether ATA0 or ATA1 is brought out,
  and whether master, slave or both interfaces get brought out.
- cortina,gemini-enable-sata-bridge: enables the PATA to SATA bridge
  inside the Gemnini SoC. The Muxmode decides what PATA blocks will
  be muxed out and how.

Example:

sata: sata@46000000 {
	compatible = "cortina,gemini-sata-bridge";
	reg = <0x46000000 0x100>;
	resets = <&rcon 26>, <&rcon 27>;
	reset-names = "sata0", "sata1";
	clocks = <&gcc GEMINI_CLK_GATE_SATA0>,
		 <&gcc GEMINI_CLK_GATE_SATA1>;
	clock-names = "SATA0_PCLK", "SATA1_PCLK";
	syscon = <&syscon>;
	cortina,gemini-ata-muxmode = <3>;
	cortina,gemini-enable-ide-pins;
	cortina,gemini-enable-sata-bridge;
};
+38 −0
Original line number Diff line number Diff line
* Faraday Technology FTIDE010 PATA controller

This controller is the first Faraday IDE interface block, used in the
StorLink SL2312 and SL3516, later known as the Cortina Systems Gemini
platform. The controller can do PIO modes 0 through 4, Multi-word DMA
(MWDM)modes 0 through 2 and Ultra DMA modes 0 through 6.

On the Gemini platform, this PATA block is accompanied by a PATA to
SATA bridge in order to support SATA. This is why a phandle to that
controller is compulsory on that platform.

The timing properties are unique per-SoC, not per-board.

Required properties:
- compatible: should be one of
  "cortina,gemini-pata", "faraday,ftide010"
  "faraday,ftide010"
- interrupts: interrupt for the block
- reg: registers and size for the block

Optional properties:
- clocks: a SoC clock running the peripheral.
- clock-names: should be set to "PCLK" for the peripheral clock.

Required properties for "cortina,gemini-pata" compatible:
- sata: a phande to the Gemini PATA to SATA bridge, see
  cortina,gemini-sata-bridge.txt for details.

Example:

ata@63000000 {
	compatible = "cortina,gemini-pata", "faraday,ftide010";
	reg = <0x63000000 0x100>;
	interrupts = <4 IRQ_TYPE_EDGE_RISING>;
	clocks = <&gcc GEMINI_CLK_GATE_IDE>;
	clock-names = "PCLK";
	sata = <&sata>;
};
+9 −0
Original line number Diff line number Diff line
@@ -7593,6 +7593,15 @@ S: Maintained
F:	drivers/ata/pata_*.c
F:	drivers/ata/ata_generic.c

LIBATA PATA FARADAY FTIDE010 AND GEMINI SATA BRIDGE DRIVERS
M:	Linus Walleij <linus.walleij@linaro.org>
L:	linux-ide@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
S:	Maintained
F:	drivers/ata/pata_ftide010.c
F:	drivers/ata/sata_gemini.c
F:	drivers/ata/sata_gemini.h

LIBATA SATA AHCI PLATFORM devices support
M:	Hans de Goede <hdegoede@redhat.com>
M:	Tejun Heo <tj@kernel.org>
+21 −0
Original line number Diff line number Diff line
@@ -213,6 +213,16 @@ config SATA_FSL

	  If unsure, say N.

config SATA_GEMINI
	tristate "Gemini SATA bridge support"
	depends on PATA_FTIDE010
	default ARCH_GEMINI
	help
	  This enabled support for the FTIDE010 to SATA bridge
	  found in Cortina Systems Gemini platform.

	  If unsure, say N.

config SATA_AHCI_SEATTLE
	tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
	depends on ARCH_SEATTLE
@@ -599,6 +609,17 @@ config PATA_EP93XX

	  If unsure, say N.

config PATA_FTIDE010
	tristate "Faraday Technology FTIDE010 PATA support"
	depends on OF
	depends on ARM
	default ARCH_GEMINI
	help
	  This option enables support for the Faraday FTIDE010
	  PATA controller found in the Cortina Gemini SoCs.

	  If unsure, say N.

config PATA_HPT366
	tristate "HPT 366/368 PATA support"
	depends on PCI
+2 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ obj-$(CONFIG_SATA_ACARD_AHCI) += acard-ahci.o libahci.o
obj-$(CONFIG_SATA_AHCI_SEATTLE)	+= ahci_seattle.o libahci.o libahci_platform.o
obj-$(CONFIG_SATA_AHCI_PLATFORM) += ahci_platform.o libahci.o libahci_platform.o
obj-$(CONFIG_SATA_FSL)		+= sata_fsl.o
obj-$(CONFIG_SATA_GEMINI)	+= sata_gemini.o
obj-$(CONFIG_SATA_INIC162X)	+= sata_inic162x.o
obj-$(CONFIG_SATA_SIL24)	+= sata_sil24.o
obj-$(CONFIG_SATA_DWC)		+= sata_dwc_460ex.o
@@ -60,6 +61,7 @@ obj-$(CONFIG_PATA_CS5536) += pata_cs5536.o
obj-$(CONFIG_PATA_CYPRESS)	+= pata_cypress.o
obj-$(CONFIG_PATA_EFAR)		+= pata_efar.o
obj-$(CONFIG_PATA_EP93XX)	+= pata_ep93xx.o
obj-$(CONFIG_PATA_FTIDE010)	+= pata_ftide010.o
obj-$(CONFIG_PATA_HPT366)	+= pata_hpt366.o
obj-$(CONFIG_PATA_HPT37X)	+= pata_hpt37x.o
obj-$(CONFIG_PATA_HPT3X2N)	+= pata_hpt3x2n.o
Loading