Lines Matching refs:t7l66xb

69 struct t7l66xb {  struct
86 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_mmc_enable() argument
90 clk_prepare_enable(t7l66xb->clk32k); in t7l66xb_mmc_enable()
92 spin_lock_irqsave(&t7l66xb->lock, flags); in t7l66xb_mmc_enable()
94 dev_ctl = tmio_ioread8(t7l66xb->scr + SCR_DEV_CTL); in t7l66xb_mmc_enable()
96 tmio_iowrite8(dev_ctl, t7l66xb->scr + SCR_DEV_CTL); in t7l66xb_mmc_enable()
98 spin_unlock_irqrestore(&t7l66xb->lock, flags); in t7l66xb_mmc_enable()
100 tmio_core_mmc_enable(t7l66xb->scr + 0x200, 0, in t7l66xb_mmc_enable()
109 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_mmc_disable() local
113 spin_lock_irqsave(&t7l66xb->lock, flags); in t7l66xb_mmc_disable()
115 dev_ctl = tmio_ioread8(t7l66xb->scr + SCR_DEV_CTL); in t7l66xb_mmc_disable()
117 tmio_iowrite8(dev_ctl, t7l66xb->scr + SCR_DEV_CTL); in t7l66xb_mmc_disable()
119 spin_unlock_irqrestore(&t7l66xb->lock, flags); in t7l66xb_mmc_disable()
121 clk_disable_unprepare(t7l66xb->clk32k); in t7l66xb_mmc_disable()
129 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_mmc_pwr() local
131 tmio_core_mmc_pwr(t7l66xb->scr + 0x200, 0, state); in t7l66xb_mmc_pwr()
137 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_mmc_clk_div() local
139 tmio_core_mmc_clk_div(t7l66xb->scr + 0x200, 0, state); in t7l66xb_mmc_clk_div()
190 struct t7l66xb *t7l66xb = irq_desc_get_handler_data(desc); in t7l66xb_irq() local
194 irq_base = t7l66xb->irq_base; in t7l66xb_irq()
196 while ((isr = tmio_ioread8(t7l66xb->scr + SCR_ISR) & in t7l66xb_irq()
197 ~tmio_ioread8(t7l66xb->scr + SCR_IMR))) in t7l66xb_irq()
205 struct t7l66xb *t7l66xb = irq_data_get_irq_chip_data(data); in t7l66xb_irq_mask() local
209 spin_lock_irqsave(&t7l66xb->lock, flags); in t7l66xb_irq_mask()
210 imr = tmio_ioread8(t7l66xb->scr + SCR_IMR); in t7l66xb_irq_mask()
211 imr |= 1 << (data->irq - t7l66xb->irq_base); in t7l66xb_irq_mask()
212 tmio_iowrite8(imr, t7l66xb->scr + SCR_IMR); in t7l66xb_irq_mask()
213 spin_unlock_irqrestore(&t7l66xb->lock, flags); in t7l66xb_irq_mask()
218 struct t7l66xb *t7l66xb = irq_data_get_irq_chip_data(data); in t7l66xb_irq_unmask() local
222 spin_lock_irqsave(&t7l66xb->lock, flags); in t7l66xb_irq_unmask()
223 imr = tmio_ioread8(t7l66xb->scr + SCR_IMR); in t7l66xb_irq_unmask()
224 imr &= ~(1 << (data->irq - t7l66xb->irq_base)); in t7l66xb_irq_unmask()
225 tmio_iowrite8(imr, t7l66xb->scr + SCR_IMR); in t7l66xb_irq_unmask()
226 spin_unlock_irqrestore(&t7l66xb->lock, flags); in t7l66xb_irq_unmask()
241 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_attach_irq() local
244 irq_base = t7l66xb->irq_base; in t7l66xb_attach_irq()
248 irq_set_chip_data(irq, t7l66xb); in t7l66xb_attach_irq()
251 irq_set_irq_type(t7l66xb->irq, IRQ_TYPE_EDGE_FALLING); in t7l66xb_attach_irq()
252 irq_set_chained_handler_and_data(t7l66xb->irq, t7l66xb_irq, t7l66xb); in t7l66xb_attach_irq()
257 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_detach_irq() local
260 irq_base = t7l66xb->irq_base; in t7l66xb_detach_irq()
262 irq_set_chained_handler_and_data(t7l66xb->irq, NULL, NULL); in t7l66xb_detach_irq()
275 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_suspend() local
280 clk_disable_unprepare(t7l66xb->clk48m); in t7l66xb_suspend()
287 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_resume() local
290 clk_prepare_enable(t7l66xb->clk48m); in t7l66xb_resume()
294 tmio_core_mmc_enable(t7l66xb->scr + 0x200, 0, in t7l66xb_resume()
309 struct t7l66xb *t7l66xb; in t7l66xb_probe() local
320 t7l66xb = kzalloc(sizeof *t7l66xb, GFP_KERNEL); in t7l66xb_probe()
321 if (!t7l66xb) in t7l66xb_probe()
324 spin_lock_init(&t7l66xb->lock); in t7l66xb_probe()
326 platform_set_drvdata(dev, t7l66xb); in t7l66xb_probe()
330 t7l66xb->irq = ret; in t7l66xb_probe()
334 t7l66xb->irq_base = pdata->irq_base; in t7l66xb_probe()
336 t7l66xb->clk32k = clk_get(&dev->dev, "CLK_CK32K"); in t7l66xb_probe()
337 if (IS_ERR(t7l66xb->clk32k)) { in t7l66xb_probe()
338 ret = PTR_ERR(t7l66xb->clk32k); in t7l66xb_probe()
342 t7l66xb->clk48m = clk_get(&dev->dev, "CLK_CK48M"); in t7l66xb_probe()
343 if (IS_ERR(t7l66xb->clk48m)) { in t7l66xb_probe()
344 ret = PTR_ERR(t7l66xb->clk48m); in t7l66xb_probe()
348 rscr = &t7l66xb->rscr; in t7l66xb_probe()
358 t7l66xb->scr = ioremap(rscr->start, resource_size(rscr)); in t7l66xb_probe()
359 if (!t7l66xb->scr) { in t7l66xb_probe()
364 clk_prepare_enable(t7l66xb->clk48m); in t7l66xb_probe()
370 tmio_iowrite8(0xbf, t7l66xb->scr + SCR_IMR); in t7l66xb_probe()
373 dev->name, tmio_ioread8(t7l66xb->scr + SCR_REVID), in t7l66xb_probe()
374 (unsigned long)iomem->start, t7l66xb->irq); in t7l66xb_probe()
383 iomem, t7l66xb->irq_base, NULL); in t7l66xb_probe()
389 iounmap(t7l66xb->scr); in t7l66xb_probe()
391 release_resource(&t7l66xb->rscr); in t7l66xb_probe()
393 clk_put(t7l66xb->clk48m); in t7l66xb_probe()
395 clk_put(t7l66xb->clk32k); in t7l66xb_probe()
398 kfree(t7l66xb); in t7l66xb_probe()
405 struct t7l66xb *t7l66xb = platform_get_drvdata(dev); in t7l66xb_remove() local
409 clk_disable_unprepare(t7l66xb->clk48m); in t7l66xb_remove()
410 clk_put(t7l66xb->clk48m); in t7l66xb_remove()
411 clk_disable_unprepare(t7l66xb->clk32k); in t7l66xb_remove()
412 clk_put(t7l66xb->clk32k); in t7l66xb_remove()
414 iounmap(t7l66xb->scr); in t7l66xb_remove()
415 release_resource(&t7l66xb->rscr); in t7l66xb_remove()
417 kfree(t7l66xb); in t7l66xb_remove()