Lines Matching +full:sata +full:- +full:port
6 * SPDX-License-Identifier: GPL-2.0+
40 #define HOST_RESET (1 << 0) /* reset controller; self-clear */
44 /* Registers for each SATA port */
51 #define PORT_CMD 0x18 /* port command */
55 #define PORT_SCR 0x28 /* SATA phy register block */
56 #define PORT_SCR_STAT 0x28 /* SATA phy register: SStatus */
57 #define PORT_SCR_CTL 0x2c /* SATA phy register: SControl */
58 #define PORT_SCR_ERR 0x30 /* SATA phy register: SError */
59 #define PORT_SCR_ACT 0x34 /* SATA phy register: SActive */
71 #define PORT_IRQ_IF_NONFATAL (1 << 26) /* interface non-fatal error */
73 #define PORT_IRQ_BAD_PMP (1 << 23) /* incorrect port multiplier */
77 #define PORT_IRQ_CONNECT (1 << 6) /* port connect change status */
107 #define PORT_CMD_START (1 << 0) /* Enable port DMA engine */
148 * struct ahci_uc_priv - information about an AHCI controller
157 * in a driver-model context (i.e. attached to a device with
164 struct ahci_ioports port[AHCI_MAX_PORTS]; member
176 u32 link_port_map; /*linkup port map*/
181 * reset() - reset the controller
184 * @return 0 if OK, -ve on error
189 * port_status() - get the status of a SATA port
192 * @port: Port number to check (0 for first)
193 * @return 0 if detected, -ENXIO if nothing on port, other -ve on error
195 int (*port_status)(struct udevice *dev, int port);
198 * scan() - scan SATA ports
201 * @return 0 if OK, -ve on error
206 #define ahci_get_ops(dev) ((struct ahci_ops *)(dev)->driver->ops)
209 * sata_reset() - reset the controller
212 * @return 0 if OK, -ve on error
217 * sata_port_status() - get the status of a SATA port
220 * @port: Port number to check (0 for first)
221 * @return 0 if detected, -ENXIO if nothin on port, other -ve on error
223 int sata_dm_port_status(struct udevice *dev, int port);
226 * sata_scan() - scan SATA ports
229 * @return 0 if OK, -ve on error
237 * achi_init_one_dm() - set up a single AHCI port
244 * achi_start_ports_dm() - start all AHCI ports for a controller
251 * ahci_init_dm() - init AHCI for a controller, finding all ports
258 * ahci_bind_scsi() - bind a new SCSI bus as a child
264 * @return 0 if OK, -ve on error
269 * ahci_probe_scsi() - probe and scan the attached SCSI bus
275 * @base: Base address of AHCI port
276 * @return 0 if OK, -ve on error
281 * ahci_probe_scsi_pci() - probe and scan the attached SCSI bus on PCI
287 * @return 0 if OK, -ve on error