Lines Matching defs:lpddr
20 static int lpddr_chip_setup(struct map_info *map, struct lpddr_private *lpddr);
24 struct lpddr_private *lpddr);
91 static int lpddr_pfow_present(struct map_info *map, struct lpddr_private *lpddr)
120 static int lpddr_chip_setup(struct map_info *map, struct lpddr_private *lpddr)
123 lpddr->qinfo = kzalloc(sizeof(struct qinfo_chip), GFP_KERNEL);
124 if (!lpddr->qinfo)
128 lpddr->ManufactId = CMDVAL(map_read(map, map->pfow_base + PFOW_MANUFACTURER_ID));
130 lpddr->DevId = CMDVAL(map_read(map, map->pfow_base + PFOW_DEVICE_ID));
132 lpddr->qinfo->DevSizeShift = lpddr_info_query(map, "DevSizeShift");
133 lpddr->qinfo->TotalBlocksNum = lpddr_info_query(map, "TotalBlocksNum");
134 lpddr->qinfo->BufSizeShift = lpddr_info_query(map, "BufSizeShift");
135 lpddr->qinfo->HWPartsNum = lpddr_info_query(map, "HWPartsNum");
136 lpddr->qinfo->UniformBlockSizeShift =
138 lpddr->qinfo->SuspEraseSupp = lpddr_info_query(map, "SuspEraseSupp");
139 lpddr->qinfo->SingleWordProgTime =
141 lpddr->qinfo->ProgBufferTime = lpddr_info_query(map, "ProgBufferTime");
142 lpddr->qinfo->BlockEraseTime = lpddr_info_query(map, "BlockEraseTime");
147 struct lpddr_private lpddr;
158 memset(&lpddr, 0, sizeof(struct lpddr_private));
159 if (!lpddr_pfow_present(map, &lpddr))
162 if (!lpddr_chip_setup(map, &lpddr))
166 lpddr.chipshift = lpddr.qinfo->DevSizeShift;
167 lpddr.numchips = 1;
169 numvirtchips = lpddr.numchips * lpddr.qinfo->HWPartsNum;
175 memcpy(retlpddr, &lpddr, sizeof(struct lpddr_private));
187 struct lpddr_private *lpddr;
190 lpddr = lpddr_probe_chip(map);
191 if (!lpddr)
194 map->fldrv_priv = lpddr;
206 kfree(lpddr->qinfo);
207 kfree(lpddr);