Lines Matching refs:fbi

45 	struct wm8505fb_info *fbi = to_wm8505fb_info(info);  in wm8505fb_init_hw()  local
51 writel(0, fbi->regbase + i); in wm8505fb_init_hw()
54 writel(fbi->fb.fix.smem_start, fbi->regbase + WMT_GOVR_FBADDR); in wm8505fb_init_hw()
55 writel(fbi->fb.fix.smem_start, fbi->regbase + WMT_GOVR_FBADDR1); in wm8505fb_init_hw()
62 writel(0x31c, fbi->regbase + WMT_GOVR_COLORSPACE); in wm8505fb_init_hw()
63 writel(1, fbi->regbase + WMT_GOVR_COLORSPACE1); in wm8505fb_init_hw()
66 writel(info->var.xres, fbi->regbase + WMT_GOVR_XRES); in wm8505fb_init_hw()
67 writel(info->var.xres_virtual, fbi->regbase + WMT_GOVR_XRES_VIRTUAL); in wm8505fb_init_hw()
70 writel(0xf, fbi->regbase + WMT_GOVR_FHI); in wm8505fb_init_hw()
71 writel(4, fbi->regbase + WMT_GOVR_DVO_SET); in wm8505fb_init_hw()
72 writel(1, fbi->regbase + WMT_GOVR_MIF_ENABLE); in wm8505fb_init_hw()
73 writel(1, fbi->regbase + WMT_GOVR_REG_UPDATE); in wm8505fb_init_hw()
80 struct wm8505fb_info *fbi = to_wm8505fb_info(info); in wm8505fb_set_timing() local
92 writel(0, fbi->regbase + WMT_GOVR_TG); in wm8505fb_set_timing()
94 writel(h_start, fbi->regbase + WMT_GOVR_TIMING_H_START); in wm8505fb_set_timing()
95 writel(h_end, fbi->regbase + WMT_GOVR_TIMING_H_END); in wm8505fb_set_timing()
96 writel(h_all, fbi->regbase + WMT_GOVR_TIMING_H_ALL); in wm8505fb_set_timing()
97 writel(h_sync, fbi->regbase + WMT_GOVR_TIMING_H_SYNC); in wm8505fb_set_timing()
99 writel(v_start, fbi->regbase + WMT_GOVR_TIMING_V_START); in wm8505fb_set_timing()
100 writel(v_end, fbi->regbase + WMT_GOVR_TIMING_V_END); in wm8505fb_set_timing()
101 writel(v_all, fbi->regbase + WMT_GOVR_TIMING_V_ALL); in wm8505fb_set_timing()
102 writel(v_sync, fbi->regbase + WMT_GOVR_TIMING_V_SYNC); in wm8505fb_set_timing()
104 writel(1, fbi->regbase + WMT_GOVR_TG); in wm8505fb_set_timing()
112 struct wm8505fb_info *fbi = to_wm8505fb_info(info); in wm8505fb_set_par() local
114 if (!fbi) in wm8505fb_set_par()
145 writel(fbi->contrast<<16 | fbi->contrast<<8 | fbi->contrast, in wm8505fb_set_par()
146 fbi->regbase + WMT_GOVR_CONTRAST); in wm8505fb_set_par()
155 struct wm8505fb_info *fbi = to_wm8505fb_info(info); in contrast_show() local
157 return sprintf(buf, "%u\n", fbi->contrast); in contrast_show()
165 struct wm8505fb_info *fbi = to_wm8505fb_info(info); in contrast_store() local
170 fbi->contrast = tmp; in contrast_store()
195 struct wm8505fb_info *fbi = to_wm8505fb_info(info); in wm8505fb_setcolreg() local
205 switch (fbi->fb.fix.visual) { in wm8505fb_setcolreg()
210 val = chan_to_field(red, &fbi->fb.var.red); in wm8505fb_setcolreg()
211 val |= chan_to_field(green, &fbi->fb.var.green); in wm8505fb_setcolreg()
212 val |= chan_to_field(blue, &fbi->fb.var.blue); in wm8505fb_setcolreg()
226 struct wm8505fb_info *fbi = to_wm8505fb_info(info); in wm8505fb_pan_display() local
228 writel(var->xoffset, fbi->regbase + WMT_GOVR_XPAN); in wm8505fb_pan_display()
229 writel(var->yoffset, fbi->regbase + WMT_GOVR_YPAN); in wm8505fb_pan_display()
235 struct wm8505fb_info *fbi = to_wm8505fb_info(info); in wm8505fb_blank() local
242 writel(0, fbi->regbase + WMT_GOVR_TIMING_V_SYNC); in wm8505fb_blank()
263 struct wm8505fb_info *fbi; in wm8505fb_probe() local
275 fbi = devm_kzalloc(&pdev->dev, sizeof(struct wm8505fb_info) + in wm8505fb_probe()
277 if (!fbi) in wm8505fb_probe()
280 strcpy(fbi->fb.fix.id, DRIVER_NAME); in wm8505fb_probe()
282 fbi->fb.fix.type = FB_TYPE_PACKED_PIXELS; in wm8505fb_probe()
283 fbi->fb.fix.xpanstep = 1; in wm8505fb_probe()
284 fbi->fb.fix.ypanstep = 1; in wm8505fb_probe()
285 fbi->fb.fix.ywrapstep = 0; in wm8505fb_probe()
286 fbi->fb.fix.accel = FB_ACCEL_NONE; in wm8505fb_probe()
288 fbi->fb.fbops = &wm8505fb_ops; in wm8505fb_probe()
289 fbi->fb.flags = FBINFO_DEFAULT in wm8505fb_probe()
296 fbi->fb.node = -1; in wm8505fb_probe()
298 addr = fbi; in wm8505fb_probe()
300 fbi->fb.pseudo_palette = addr; in wm8505fb_probe()
303 fbi->regbase = devm_ioremap_resource(&pdev->dev, res); in wm8505fb_probe()
304 if (IS_ERR(fbi->regbase)) in wm8505fb_probe()
305 return PTR_ERR(fbi->regbase); in wm8505fb_probe()
319 fb_videomode_to_var(&fbi->fb.var, &mode); in wm8505fb_probe()
321 fbi->fb.var.nonstd = 0; in wm8505fb_probe()
322 fbi->fb.var.activate = FB_ACTIVATE_NOW; in wm8505fb_probe()
324 fbi->fb.var.height = -1; in wm8505fb_probe()
325 fbi->fb.var.width = -1; in wm8505fb_probe()
336 fbi->fb.var.xres_virtual = mode.xres; in wm8505fb_probe()
337 fbi->fb.var.yres_virtual = mode.yres * 2; in wm8505fb_probe()
338 fbi->fb.var.bits_per_pixel = bpp; in wm8505fb_probe()
340 fbi->fb.fix.smem_start = fb_mem_phys; in wm8505fb_probe()
341 fbi->fb.fix.smem_len = fb_mem_len; in wm8505fb_probe()
342 fbi->fb.screen_buffer = fb_mem_virt; in wm8505fb_probe()
343 fbi->fb.screen_size = fb_mem_len; in wm8505fb_probe()
345 fbi->contrast = 0x10; in wm8505fb_probe()
346 ret = wm8505fb_set_par(&fbi->fb); in wm8505fb_probe()
352 if (fb_alloc_cmap(&fbi->fb.cmap, 256, 0) < 0) { in wm8505fb_probe()
357 wm8505fb_init_hw(&fbi->fb); in wm8505fb_probe()
359 platform_set_drvdata(pdev, fbi); in wm8505fb_probe()
361 ret = register_framebuffer(&fbi->fb); in wm8505fb_probe()
365 if (fbi->fb.cmap.len) in wm8505fb_probe()
366 fb_dealloc_cmap(&fbi->fb.cmap); in wm8505fb_probe()
370 fb_info(&fbi->fb, "%s frame buffer at 0x%lx-0x%lx\n", in wm8505fb_probe()
371 fbi->fb.fix.id, fbi->fb.fix.smem_start, in wm8505fb_probe()
372 fbi->fb.fix.smem_start + fbi->fb.fix.smem_len - 1); in wm8505fb_probe()
379 struct wm8505fb_info *fbi = platform_get_drvdata(pdev); in wm8505fb_remove() local
381 unregister_framebuffer(&fbi->fb); in wm8505fb_remove()
383 writel(0, fbi->regbase); in wm8505fb_remove()
385 if (fbi->fb.cmap.len) in wm8505fb_remove()
386 fb_dealloc_cmap(&fbi->fb.cmap); in wm8505fb_remove()