/*
 * Copyright 2008 Openmoko, Inc.
 * Copyright 2008 Simtec Electronics
 * Copyright 2009 Samsung Electronics Co.
 *
 * Pawel Osciak <p.osciak@samsung.com>
 * Based on plat-s3c/include/plat/regs-fb.h by Ben Dooks <ben@simtec.co.uk>
 *
 * Framebuffer register definitions for Samsung S3C64xx.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

#ifndef __ASM_ARCH_MACH_REGS_FB_H
#define __ASM_ARCH_MACH_REGS_FB_H __FILE__

#include <plat/regs-fb-v4.h>

#endif /* __ASM_ARCH_MACH_REGS_FB_H */
