]> git.sur5r.net Git - u-boot/blobdiff - cmd/scsi.c
armv8/ls1043aqds: dts: Set SPI mode for DSPI
[u-boot] / cmd / scsi.c
index bc7d1b6c53007801eb24e298629040aa6c7ed2c5..8991125c66248a00f650e5846f6c586592e232d3 100644 (file)
@@ -48,7 +48,7 @@ static int scsi_max_devs; /* number of highest available scsi device */
 
 static int scsi_curr_dev; /* current device */
 
-static block_dev_desc_t scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE];
+static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE];
 
 /********************************************************************************
  *  forward declerations of some Setup Routines
@@ -66,9 +66,9 @@ void scsi_ident_cpy (unsigned char *dest, unsigned char *src, unsigned int len);
 
 static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity,
                              unsigned long *blksz);
-static ulong scsi_read(block_dev_desc_t *block_dev, lbaint_t blknr,
+static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr,
                       lbaint_t blkcnt, void *buffer);
-static ulong scsi_write(block_dev_desc_t *block_dev, lbaint_t blknr,
+static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr,
                        lbaint_t blkcnt, const void *buffer);
 
 
@@ -99,7 +99,7 @@ void scsi_scan(int mode)
                scsi_dev_desc[i].revision[0]=0;
                scsi_dev_desc[i].removable = false;
                scsi_dev_desc[i].if_type=IF_TYPE_SCSI;
-               scsi_dev_desc[i].dev=i;
+               scsi_dev_desc[i].devnum = i;
                scsi_dev_desc[i].part_type=PART_TYPE_UNKNOWN;
                scsi_dev_desc[i].block_read=scsi_read;
                scsi_dev_desc[i].block_write = scsi_write;
@@ -156,7 +156,7 @@ void scsi_scan(int mode)
                        scsi_dev_desc[scsi_max_devs].log2blksz =
                                LOG2(scsi_dev_desc[scsi_max_devs].blksz);
                        scsi_dev_desc[scsi_max_devs].type=perq;
-                       init_part(&scsi_dev_desc[scsi_max_devs]);
+                       part_init(&scsi_dev_desc[scsi_max_devs]);
 removable:
                        if(mode==1) {
                                printf ("  Device %d: ", scsi_max_devs);
@@ -239,12 +239,13 @@ void scsi_init(void)
 #endif
 
 #ifdef CONFIG_PARTITIONS
-block_dev_desc_t * scsi_get_dev(int dev)
+struct blk_desc *scsi_get_dev(int dev)
 {
        return (dev < CONFIG_SYS_SCSI_MAX_DEVICE) ? &scsi_dev_desc[dev] : NULL;
 }
 #endif
 
+#ifndef CONFIG_SPL_BUILD
 /******************************************************************************
  * scsi boot command intepreter. Derived from diskboot
  */
@@ -301,7 +302,7 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                                                if (dev)
                                                        printf("\n");
                                                debug ("print_part of %x\n",dev);
-                                                       print_part(&scsi_dev_desc[dev]);
+                                               part_print(&scsi_dev_desc[dev]);
                                        }
                                }
                                if (!ok)
@@ -329,7 +330,7 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                        if (strncmp(argv[1],"part",4) == 0) {
                                int dev = (int)simple_strtoul(argv[2], NULL, 10);
                                if(scsi_dev_desc[dev].type != DEV_TYPE_UNKNOWN) {
-                                       print_part(&scsi_dev_desc[dev]);
+                                       part_print(&scsi_dev_desc[dev]);
                                }
                                else {
                                        printf ("\nSCSI device %d not available\n", dev);
@@ -368,6 +369,27 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        return CMD_RET_USAGE;
 }
 
+U_BOOT_CMD(
+       scsi, 5, 1, do_scsi,
+       "SCSI sub-system",
+       "reset - reset SCSI controller\n"
+       "scsi info  - show available SCSI devices\n"
+       "scsi scan  - (re-)scan SCSI bus\n"
+       "scsi device [dev] - show or set current device\n"
+       "scsi part [dev] - print partition table of one or all SCSI devices\n"
+       "scsi read addr blk# cnt - read `cnt' blocks starting at block `blk#'\n"
+       "     to memory address `addr'\n"
+       "scsi write addr blk# cnt - write `cnt' blocks starting at block\n"
+       "     `blk#' from memory address `addr'"
+);
+
+U_BOOT_CMD(
+       scsiboot, 3, 1, do_scsiboot,
+       "boot from SCSI device",
+       "loadAddr dev:part"
+);
+#endif
+
 /****************************************************************************************
  * scsi_read
  */
@@ -376,10 +398,10 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 #define SCSI_MAX_READ_BLK 0xFFFF
 #define SCSI_LBA48_READ        0xFFFFFFF
 
-static ulong scsi_read(block_dev_desc_t *block_dev, lbaint_t blknr,
+static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr,
                       lbaint_t blkcnt, void *buffer)
 {
-       int device = block_dev->dev;
+       int device = block_dev->devnum;
        lbaint_t start, blks;
        uintptr_t buf_addr;
        unsigned short smallblks = 0;
@@ -443,10 +465,10 @@ static ulong scsi_read(block_dev_desc_t *block_dev, lbaint_t blknr,
 /* Almost the maximum amount of the scsi_ext command.. */
 #define SCSI_MAX_WRITE_BLK 0xFFFF
 
-static ulong scsi_write(block_dev_desc_t *block_dev, lbaint_t blknr,
+static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr,
                        lbaint_t blkcnt, const void *buffer)
 {
-       int device = block_dev->dev;
+       int device = block_dev->devnum;
        lbaint_t start, blks;
        uintptr_t buf_addr;
        unsigned short smallblks;
@@ -710,24 +732,3 @@ void scsi_setup_inquiry(ccb * pccb)
        pccb->cmdlen=6;
        pccb->msgout[0]=SCSI_IDENTIFY; /* NOT USED */
 }
-
-
-U_BOOT_CMD(
-       scsi, 5, 1, do_scsi,
-       "SCSI sub-system",
-       "reset - reset SCSI controller\n"
-       "scsi info  - show available SCSI devices\n"
-       "scsi scan  - (re-)scan SCSI bus\n"
-       "scsi device [dev] - show or set current device\n"
-       "scsi part [dev] - print partition table of one or all SCSI devices\n"
-       "scsi read addr blk# cnt - read `cnt' blocks starting at block `blk#'\n"
-       "     to memory address `addr'\n"
-       "scsi write addr blk# cnt - write `cnt' blocks starting at block\n"
-       "     `blk#' from memory address `addr'"
-);
-
-U_BOOT_CMD(
-       scsiboot, 3, 1, do_scsiboot,
-       "boot from SCSI device",
-       "loadAddr dev:part"
-);