| .. | .. |
|---|
| 19 | 19 | /* Identification info for LPDDR chip */ |
|---|
| 20 | 20 | #define PFOW_MANUFACTURER_ID 0x0020 |
|---|
| 21 | 21 | #define PFOW_DEVICE_ID 0x0022 |
|---|
| 22 | | -/* Address in PFOW where prog buffer can can be found */ |
|---|
| 22 | +/* Address in PFOW where prog buffer can be found */ |
|---|
| 23 | 23 | #define PFOW_PROGRAM_BUFFER_OFFSET 0x0040 |
|---|
| 24 | 24 | /* Size of program buffer in words */ |
|---|
| 25 | 25 | #define PFOW_PROGRAM_BUFFER_SIZE 0x0042 |
|---|
| .. | .. |
|---|
| 120 | 120 | /* Command execution start */ |
|---|
| 121 | 121 | map_write(map, CMD(LPDDR_START_EXECUTION), |
|---|
| 122 | 122 | map->pfow_base + PFOW_COMMAND_EXECUTE); |
|---|
| 123 | | -} |
|---|
| 124 | | - |
|---|
| 125 | | -static inline void print_drs_error(unsigned dsr) |
|---|
| 126 | | -{ |
|---|
| 127 | | - int prog_status = (dsr & DSR_RPS) >> 8; |
|---|
| 128 | | - |
|---|
| 129 | | - if (!(dsr & DSR_AVAILABLE)) |
|---|
| 130 | | - printk(KERN_NOTICE"DSR.15: (0) Device not Available\n"); |
|---|
| 131 | | - if ((prog_status & 0x03) == 0x03) |
|---|
| 132 | | - printk(KERN_NOTICE"DSR.9,8: (11) Attempt to program invalid " |
|---|
| 133 | | - "half with 41h command\n"); |
|---|
| 134 | | - else if (prog_status & 0x02) |
|---|
| 135 | | - printk(KERN_NOTICE"DSR.9,8: (10) Object Mode Program attempt " |
|---|
| 136 | | - "in region with Control Mode data\n"); |
|---|
| 137 | | - else if (prog_status & 0x01) |
|---|
| 138 | | - printk(KERN_NOTICE"DSR.9,8: (01) Program attempt in region " |
|---|
| 139 | | - "with Object Mode data\n"); |
|---|
| 140 | | - if (!(dsr & DSR_READY_STATUS)) |
|---|
| 141 | | - printk(KERN_NOTICE"DSR.7: (0) Device is Busy\n"); |
|---|
| 142 | | - if (dsr & DSR_ESS) |
|---|
| 143 | | - printk(KERN_NOTICE"DSR.6: (1) Erase Suspended\n"); |
|---|
| 144 | | - if (dsr & DSR_ERASE_STATUS) |
|---|
| 145 | | - printk(KERN_NOTICE"DSR.5: (1) Erase/Blank check error\n"); |
|---|
| 146 | | - if (dsr & DSR_PROGRAM_STATUS) |
|---|
| 147 | | - printk(KERN_NOTICE"DSR.4: (1) Program Error\n"); |
|---|
| 148 | | - if (dsr & DSR_VPPS) |
|---|
| 149 | | - printk(KERN_NOTICE"DSR.3: (1) Vpp low detect, operation " |
|---|
| 150 | | - "aborted\n"); |
|---|
| 151 | | - if (dsr & DSR_PSS) |
|---|
| 152 | | - printk(KERN_NOTICE"DSR.2: (1) Program suspended\n"); |
|---|
| 153 | | - if (dsr & DSR_DPS) |
|---|
| 154 | | - printk(KERN_NOTICE"DSR.1: (1) Aborted Erase/Program attempt " |
|---|
| 155 | | - "on locked block\n"); |
|---|
| 156 | 123 | } |
|---|
| 157 | 124 | #endif /* __LINUX_MTD_PFOW_H */ |
|---|