]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/ahci.h
ARM: tegra: increase console buffer size and sys args num
[karo-tx-uboot.git] / include / ahci.h
index 90e850929b7d4c625dee3baeb7ed4307af2fe0cc..a956c6ff5df78c37c0a66cdde88772dd251f34a3 100644 (file)
 #define PORT_SCR_ERR           0x30 /* SATA phy register: SError */
 #define PORT_SCR_ACT           0x34 /* SATA phy register: SActive */
 
+#ifdef CONFIG_SUNXI_AHCI
+#define PORT_P0DMACR           0x70 /* SUNXI specific "DMA register" */
+#endif
+
 /* PORT_IRQ_{STAT,MASK} bits */
 #define PORT_IRQ_COLD_PRES     (1 << 31) /* cold presence detect */
 #define PORT_IRQ_TF_ERR                (1 << 30) /* task file error */
@@ -131,23 +135,27 @@ struct ahci_sg {
 };
 
 struct ahci_ioports {
-       u32     cmd_addr;
-       u32     scr_addr;
-       u32     port_mmio;
+       void __iomem    *cmd_addr;
+       void __iomem    *scr_addr;
+       void __iomem    *port_mmio;
        struct ahci_cmd_hdr     *cmd_slot;
        struct ahci_sg          *cmd_tbl_sg;
-       u32     cmd_tbl;
+       ulong   cmd_tbl;
        u32     rx_fis;
 };
 
 struct ahci_probe_ent {
+#ifdef CONFIG_DM_PCI
+       struct udevice *dev;
+#else
        pci_dev_t       dev;
+#endif
        struct ahci_ioports     port[AHCI_MAX_PORTS];
        u32     n_ports;
        u32     hard_port_no;
        u32     host_flags;
        u32     host_set_flags;
-       u32     mmio_base;
+       void __iomem *mmio_base;
        u32     pio_mask;
        u32     udma_mask;
        u32     flags;
@@ -156,6 +164,7 @@ struct ahci_probe_ent {
        u32     link_port_map; /*linkup port map*/
 };
 
-int ahci_init(u32 base);
+int ahci_init(void __iomem *base);
+int ahci_reset(void __iomem *base);
 
 #endif