18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * drivers/video/geode/geodefb.h
48c2ecf20Sopenharmony_ci *   -- Geode framebuffer driver
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * Copyright (C) 2005 Arcom Control Systems Ltd.
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci#ifndef __GEODEFB_H__
98c2ecf20Sopenharmony_ci#define __GEODEFB_H__
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_cistruct geodefb_info;
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cistruct geode_dc_ops {
148c2ecf20Sopenharmony_ci	void (*set_mode)(struct fb_info *);
158c2ecf20Sopenharmony_ci	void (*set_palette_reg)(struct fb_info *, unsigned, unsigned, unsigned, unsigned);
168c2ecf20Sopenharmony_ci};
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_cistruct geode_vid_ops {
198c2ecf20Sopenharmony_ci	void (*set_dclk)(struct fb_info *);
208c2ecf20Sopenharmony_ci	void (*configure_display)(struct fb_info *);
218c2ecf20Sopenharmony_ci	int  (*blank_display)(struct fb_info *, int blank_mode);
228c2ecf20Sopenharmony_ci};
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_cistruct geodefb_par {
258c2ecf20Sopenharmony_ci	int enable_crt;
268c2ecf20Sopenharmony_ci	int panel_x; /* dimensions of an attached flat panel, non-zero => enable panel */
278c2ecf20Sopenharmony_ci	int panel_y;
288c2ecf20Sopenharmony_ci	void __iomem *dc_regs;
298c2ecf20Sopenharmony_ci	void __iomem *vid_regs;
308c2ecf20Sopenharmony_ci	const struct geode_dc_ops  *dc_ops;
318c2ecf20Sopenharmony_ci	const struct geode_vid_ops *vid_ops;
328c2ecf20Sopenharmony_ci};
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci#endif /* !__GEODEFB_H__ */
35