linux/arch/arm/mach-s3c24xx/s3c2442.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0+
   2//
   3// Copyright (c) 2004-2005 Simtec Electronics
   4//      http://armlinux.simtec.co.uk/
   5//      Ben Dooks <ben@simtec.co.uk>
   6//
   7// S3C2442 core and lock support
   8
   9#include <linux/init.h>
  10#include <linux/module.h>
  11#include <linux/kernel.h>
  12#include <linux/list.h>
  13#include <linux/errno.h>
  14#include <linux/err.h>
  15#include <linux/device.h>
  16#include <linux/syscore_ops.h>
  17#include <linux/interrupt.h>
  18#include <linux/ioport.h>
  19#include <linux/mutex.h>
  20#include <linux/gpio.h>
  21#include <linux/clk.h>
  22#include <linux/io.h>
  23
  24#include <mach/hardware.h>
  25#include <mach/gpio-samsung.h>
  26#include <linux/atomic.h>
  27#include <asm/irq.h>
  28
  29#include <mach/regs-clock.h>
  30
  31#include <plat/cpu.h>
  32#include <plat/pm.h>
  33
  34#include <plat/gpio-core.h>
  35#include <plat/gpio-cfg.h>
  36#include <plat/gpio-cfg-helpers.h>
  37
  38#include "common.h"
  39
  40static struct device s3c2442_dev = {
  41        .bus            = &s3c2442_subsys,
  42};
  43
  44int __init s3c2442_init(void)
  45{
  46        printk("S3C2442: Initialising architecture\n");
  47
  48#ifdef CONFIG_PM_SLEEP
  49        register_syscore_ops(&s3c2410_pm_syscore_ops);
  50        register_syscore_ops(&s3c24xx_irq_syscore_ops);
  51        register_syscore_ops(&s3c244x_pm_syscore_ops);
  52#endif
  53
  54        return device_register(&s3c2442_dev);
  55}
  56
  57void __init s3c2442_map_io(void)
  58{
  59        s3c244x_map_io();
  60
  61        s3c24xx_gpiocfg_default.set_pull = s3c24xx_gpio_setpull_1down;
  62        s3c24xx_gpiocfg_default.get_pull = s3c24xx_gpio_getpull_1down;
  63}
  64