diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/mips/ingenic_x1000/nand-x1000.c | 4 | ||||
-rw-r--r-- | firmware/target/mips/ingenic_x1000/nand-x1000.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/firmware/target/mips/ingenic_x1000/nand-x1000.c b/firmware/target/mips/ingenic_x1000/nand-x1000.c index c740623d86..2b62e8fb42 100644 --- a/firmware/target/mips/ingenic_x1000/nand-x1000.c +++ b/firmware/target/mips/ingenic_x1000/nand-x1000.c | |||
@@ -156,6 +156,10 @@ static void setup_chip_registers(struct nand_drv* drv) | |||
156 | 156 | ||
157 | /* Clear write protection bits */ | 157 | /* Clear write protection bits */ |
158 | nand_set_reg(drv, FREG_PROT, FREG_PROT_UNLOCK); | 158 | nand_set_reg(drv, FREG_PROT, FREG_PROT_UNLOCK); |
159 | |||
160 | /* Call any chip-specific hooks */ | ||
161 | if(drv->chip->setup_chip) | ||
162 | drv->chip->setup_chip(drv); | ||
159 | } | 163 | } |
160 | 164 | ||
161 | int nand_open(struct nand_drv* drv) | 165 | int nand_open(struct nand_drv* drv) |
diff --git a/firmware/target/mips/ingenic_x1000/nand-x1000.h b/firmware/target/mips/ingenic_x1000/nand-x1000.h index dda54eb5c6..0a22a4ff3c 100644 --- a/firmware/target/mips/ingenic_x1000/nand-x1000.h +++ b/firmware/target/mips/ingenic_x1000/nand-x1000.h | |||
@@ -95,6 +95,8 @@ | |||
95 | typedef uint32_t nand_block_t; | 95 | typedef uint32_t nand_block_t; |
96 | typedef uint32_t nand_page_t; | 96 | typedef uint32_t nand_page_t; |
97 | 97 | ||
98 | struct nand_drv; | ||
99 | |||
98 | struct nand_chip { | 100 | struct nand_chip { |
99 | /* Manufacturer and device ID bytes */ | 101 | /* Manufacturer and device ID bytes */ |
100 | uint8_t mf_id; | 102 | uint8_t mf_id; |
@@ -126,6 +128,9 @@ struct nand_chip { | |||
126 | 128 | ||
127 | /* Chip specific flags */ | 129 | /* Chip specific flags */ |
128 | uint32_t flags; | 130 | uint32_t flags; |
131 | |||
132 | /* Chip-specific setup routine */ | ||
133 | void(*setup_chip)(struct nand_drv* drv); | ||
129 | }; | 134 | }; |
130 | 135 | ||
131 | struct nand_drv { | 136 | struct nand_drv { |