Lines Matching refs:fbi

45 	struct wm8505fb_info *fbi = to_wm8505fb_info(info);
51 writel(0, fbi->regbase + i);
54 writel(fbi->fb.fix.smem_start, fbi->regbase + WMT_GOVR_FBADDR);
55 writel(fbi->fb.fix.smem_start, fbi->regbase + WMT_GOVR_FBADDR1);
62 writel(0x31c, fbi->regbase + WMT_GOVR_COLORSPACE);
63 writel(1, fbi->regbase + WMT_GOVR_COLORSPACE1);
66 writel(info->var.xres, fbi->regbase + WMT_GOVR_XRES);
67 writel(info->var.xres_virtual, fbi->regbase + WMT_GOVR_XRES_VIRTUAL);
70 writel(0xf, fbi->regbase + WMT_GOVR_FHI);
71 writel(4, fbi->regbase + WMT_GOVR_DVO_SET);
72 writel(1, fbi->regbase + WMT_GOVR_MIF_ENABLE);
73 writel(1, fbi->regbase + WMT_GOVR_REG_UPDATE);
80 struct wm8505fb_info *fbi = to_wm8505fb_info(info);
92 writel(0, fbi->regbase + WMT_GOVR_TG);
94 writel(h_start, fbi->regbase + WMT_GOVR_TIMING_H_START);
95 writel(h_end, fbi->regbase + WMT_GOVR_TIMING_H_END);
96 writel(h_all, fbi->regbase + WMT_GOVR_TIMING_H_ALL);
97 writel(h_sync, fbi->regbase + WMT_GOVR_TIMING_H_SYNC);
99 writel(v_start, fbi->regbase + WMT_GOVR_TIMING_V_START);
100 writel(v_end, fbi->regbase + WMT_GOVR_TIMING_V_END);
101 writel(v_all, fbi->regbase + WMT_GOVR_TIMING_V_ALL);
102 writel(v_sync, fbi->regbase + WMT_GOVR_TIMING_V_SYNC);
104 writel(1, fbi->regbase + WMT_GOVR_TG);
112 struct wm8505fb_info *fbi = to_wm8505fb_info(info);
114 if (!fbi)
145 writel(fbi->contrast<<16 | fbi->contrast<<8 | fbi->contrast,
146 fbi->regbase + WMT_GOVR_CONTRAST);
155 struct wm8505fb_info *fbi = to_wm8505fb_info(info);
157 return sprintf(buf, "%u\n", fbi->contrast);
165 struct wm8505fb_info *fbi = to_wm8505fb_info(info);
170 fbi->contrast = tmp;
195 struct wm8505fb_info *fbi = to_wm8505fb_info(info);
205 switch (fbi->fb.fix.visual) {
210 val = chan_to_field(red, &fbi->fb.var.red);
211 val |= chan_to_field(green, &fbi->fb.var.green);
212 val |= chan_to_field(blue, &fbi->fb.var.blue);
226 struct wm8505fb_info *fbi = to_wm8505fb_info(info);
228 writel(var->xoffset, fbi->regbase + WMT_GOVR_XPAN);
229 writel(var->yoffset, fbi->regbase + WMT_GOVR_YPAN);
235 struct wm8505fb_info *fbi = to_wm8505fb_info(info);
242 writel(0, fbi->regbase + WMT_GOVR_TIMING_V_SYNC);
265 struct wm8505fb_info *fbi;
276 fbi = devm_kzalloc(&pdev->dev, sizeof(struct wm8505fb_info) +
278 if (!fbi)
281 strcpy(fbi->fb.fix.id, DRIVER_NAME);
283 fbi->fb.fix.type = FB_TYPE_PACKED_PIXELS;
284 fbi->fb.fix.xpanstep = 1;
285 fbi->fb.fix.ypanstep = 1;
286 fbi->fb.fix.ywrapstep = 0;
287 fbi->fb.fix.accel = FB_ACCEL_NONE;
289 fbi->fb.fbops = &wm8505fb_ops;
290 fbi->fb.flags = FBINFO_HWACCEL_COPYAREA
296 fbi->fb.node = -1;
298 addr = fbi;
300 fbi->fb.pseudo_palette = addr;
302 fbi->regbase = devm_platform_ioremap_resource(pdev, 0);
303 if (IS_ERR(fbi->regbase))
304 return PTR_ERR(fbi->regbase);
318 fb_videomode_to_var(&fbi->fb.var, &mode);
320 fbi->fb.var.nonstd = 0;
321 fbi->fb.var.activate = FB_ACTIVATE_NOW;
323 fbi->fb.var.height = -1;
324 fbi->fb.var.width = -1;
335 fbi->fb.var.xres_virtual = mode.xres;
336 fbi->fb.var.yres_virtual = mode.yres * 2;
337 fbi->fb.var.bits_per_pixel = bpp;
339 fbi->fb.fix.smem_start = fb_mem_phys;
340 fbi->fb.fix.smem_len = fb_mem_len;
341 fbi->fb.screen_buffer = fb_mem_virt;
342 fbi->fb.screen_size = fb_mem_len;
344 fbi->contrast = 0x10;
345 ret = wm8505fb_set_par(&fbi->fb);
351 if (fb_alloc_cmap(&fbi->fb.cmap, 256, 0) < 0) {
356 wm8505fb_init_hw(&fbi->fb);
358 platform_set_drvdata(pdev, fbi);
360 ret = register_framebuffer(&fbi->fb);
364 if (fbi->fb.cmap.len)
365 fb_dealloc_cmap(&fbi->fb.cmap);
369 fb_info(&fbi->fb, "%s frame buffer at 0x%lx-0x%lx\n",
370 fbi->fb.fix.id, fbi->fb.fix.smem_start,
371 fbi->fb.fix.smem_start + fbi->fb.fix.smem_len - 1);
378 struct wm8505fb_info *fbi = platform_get_drvdata(pdev);
380 unregister_framebuffer(&fbi->fb);
382 writel(0, fbi->regbase);
384 if (fbi->fb.cmap.len)
385 fb_dealloc_cmap(&fbi->fb.cmap);