root/arch/arm/mach-footbridge/isa.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. footbridge_isa_init

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  *  linux/arch/arm/mach-footbridge/isa.c
   4  *
   5  *  Copyright (C) 2004 Russell King.
   6  */
   7 #include <linux/init.h>
   8 #include <linux/serial_8250.h>
   9 
  10 #include <asm/irq.h>
  11 #include <asm/hardware/dec21285.h>
  12 
  13 #include "common.h"
  14 
  15 static struct resource rtc_resources[] = {
  16         [0] = {
  17                 .start  = 0x70,
  18                 .end    = 0x73,
  19                 .flags  = IORESOURCE_IO,
  20         },
  21         [1] = {
  22                 .start  = IRQ_ISA_RTC_ALARM,
  23                 .end    = IRQ_ISA_RTC_ALARM,
  24                 .flags  = IORESOURCE_IRQ,
  25         }
  26 };
  27 
  28 static struct platform_device rtc_device = {
  29         .name           = "rtc_cmos",
  30         .id             = -1,
  31         .resource       = rtc_resources,
  32         .num_resources  = ARRAY_SIZE(rtc_resources),
  33 };
  34 
  35 static struct resource serial_resources[] = {
  36         [0] = {
  37                 .start  = 0x3f8,
  38                 .end    = 0x3ff,
  39                 .flags  = IORESOURCE_IO,
  40         },
  41         [1] = {
  42                 .start  = 0x2f8,
  43                 .end    = 0x2ff,
  44                 .flags  = IORESOURCE_IO,
  45         },
  46 };
  47 
  48 static struct plat_serial8250_port serial_platform_data[] = {
  49         {
  50                 .iobase         = 0x3f8,
  51                 .irq            = IRQ_ISA_UART,
  52                 .uartclk        = 1843200,
  53                 .regshift       = 0,
  54                 .iotype         = UPIO_PORT,
  55                 .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
  56         },
  57         {
  58                 .iobase         = 0x2f8,
  59                 .irq            = IRQ_ISA_UART2,
  60                 .uartclk        = 1843200,
  61                 .regshift       = 0,
  62                 .iotype         = UPIO_PORT,
  63                 .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
  64         },
  65         { },
  66 };
  67 
  68 static struct platform_device serial_device = {
  69         .name                   = "serial8250",
  70         .id                     = PLAT8250_DEV_PLATFORM,
  71         .dev                    = {
  72                 .platform_data  = serial_platform_data,
  73         },
  74         .resource               = serial_resources,
  75         .num_resources          = ARRAY_SIZE(serial_resources),
  76 };
  77 
  78 static int __init footbridge_isa_init(void)
  79 {
  80         int err = 0;
  81 
  82         if (!footbridge_cfn_mode())
  83                 return 0;
  84 
  85         /* Personal server doesn't have RTC */
  86         if (!machine_is_personal_server()) {
  87                 isa_rtc_init();
  88                 err = platform_device_register(&rtc_device);
  89                 if (err)
  90                         printk(KERN_ERR "Unable to register RTC device: %d\n", err);
  91         }
  92         err = platform_device_register(&serial_device);
  93         if (err)
  94                 printk(KERN_ERR "Unable to register serial device: %d\n", err);
  95         return 0;
  96 }
  97 
  98 arch_initcall(footbridge_isa_init);

/* [<][>][^][v][top][bottom][index][help] */