Lines Matching refs:dwsbt1
46 struct dw_spi_bt1 *dwsbt1);
52 struct dw_spi_bt1 *dwsbt1 = to_dw_spi_bt1(desc->mem->spi->controller); in dw_spi_bt1_dirmap_create() local
54 if (!dwsbt1->map || in dw_spi_bt1_dirmap_create()
55 !dwsbt1->dws.mem_ops.supports_op(desc->mem, &desc->info.op_tmpl)) in dw_spi_bt1_dirmap_create()
62 if (desc->info.offset + desc->info.length > dwsbt1->map_len || in dw_spi_bt1_dirmap_create()
110 struct dw_spi_bt1 *dwsbt1 = to_dw_spi_bt1(desc->mem->spi->controller); in dw_spi_bt1_dirmap_read() local
111 struct dw_spi *dws = &dwsbt1->dws; in dw_spi_bt1_dirmap_read()
120 if (offs >= dwsbt1->map_len || !len) in dw_spi_bt1_dirmap_read()
123 len = min_t(size_t, len, dwsbt1->map_len - offs); in dw_spi_bt1_dirmap_read()
148 ret = mux_control_select(dwsbt1->mux, BT1_BOOT_DIRMAP); in dw_spi_bt1_dirmap_read()
152 dw_spi_bt1_dirmap_copy_from_map(buf, dwsbt1->map + offs, len); in dw_spi_bt1_dirmap_read()
154 mux_control_deselect(dwsbt1->mux); in dw_spi_bt1_dirmap_read()
166 struct dw_spi_bt1 *dwsbt1) in dw_spi_bt1_std_init() argument
168 struct dw_spi *dws = &dwsbt1->dws; in dw_spi_bt1_std_init()
191 struct dw_spi_bt1 *dwsbt1) in dw_spi_bt1_sys_init() argument
194 struct dw_spi *dws = &dwsbt1->dws; in dw_spi_bt1_sys_init()
203 dwsbt1->mux = devm_mux_control_get(&pdev->dev, NULL); in dw_spi_bt1_sys_init()
204 if (IS_ERR(dwsbt1->mux)) in dw_spi_bt1_sys_init()
205 return PTR_ERR(dwsbt1->mux); in dw_spi_bt1_sys_init()
218 dwsbt1->map = devm_ioremap_resource(&pdev->dev, mem); in dw_spi_bt1_sys_init()
219 if (!IS_ERR(dwsbt1->map)) { in dw_spi_bt1_sys_init()
220 dwsbt1->map_len = (mem->end - mem->start + 1); in dw_spi_bt1_sys_init()
224 dwsbt1->map = NULL; in dw_spi_bt1_sys_init()
255 struct dw_spi_bt1 *dwsbt1; in dw_spi_bt1_probe() local
260 dwsbt1 = devm_kzalloc(&pdev->dev, sizeof(struct dw_spi_bt1), GFP_KERNEL); in dw_spi_bt1_probe()
261 if (!dwsbt1) in dw_spi_bt1_probe()
264 dws = &dwsbt1->dws; in dw_spi_bt1_probe()
272 dwsbt1->clk = devm_clk_get(&pdev->dev, NULL); in dw_spi_bt1_probe()
273 if (IS_ERR(dwsbt1->clk)) in dw_spi_bt1_probe()
274 return PTR_ERR(dwsbt1->clk); in dw_spi_bt1_probe()
276 ret = clk_prepare_enable(dwsbt1->clk); in dw_spi_bt1_probe()
282 dws->max_freq = clk_get_rate(dwsbt1->clk); in dw_spi_bt1_probe()
289 ret = init_func(pdev, dwsbt1); in dw_spi_bt1_probe()
301 platform_set_drvdata(pdev, dwsbt1); in dw_spi_bt1_probe()
306 clk_disable_unprepare(dwsbt1->clk); in dw_spi_bt1_probe()
313 struct dw_spi_bt1 *dwsbt1 = platform_get_drvdata(pdev); in dw_spi_bt1_remove() local
315 dw_spi_remove_host(&dwsbt1->dws); in dw_spi_bt1_remove()
319 clk_disable_unprepare(dwsbt1->clk); in dw_spi_bt1_remove()