Author | Tokens | Token Proportion | Commits | Commit Proportion |
---|---|---|---|---|
Dmitry Pervushin | 578 | 73.63% | 1 | 16.67% |
Ralf Baechle | 183 | 23.31% | 2 | 33.33% |
Shinya Kuribayashi | 22 | 2.80% | 2 | 33.33% |
Thomas Gleixner | 2 | 0.25% | 1 | 16.67% |
Total | 785 | 6 |
// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright(C) MontaVista Software Inc, 2006 * * Author: dmitry pervushin <dpervushin@ru.mvista.com> */ #include <linux/init.h> #include <linux/kernel.h> #include <linux/types.h> #include <linux/ioport.h> #include <linux/serial_8250.h> #include <linux/mtd/physmap.h> #include <asm/cpu.h> #include <asm/bootinfo.h> #include <asm/addrspace.h> #include <asm/time.h> #include <asm/bcache.h> #include <asm/irq.h> #include <asm/reboot.h> #include <asm/traps.h> #include <asm/emma/emma2rh.h> #define I2C_EMMA2RH "emma2rh-iic" /* must be in sync with IIC driver */ static struct resource i2c_emma_resources_0[] = { { .name = NULL, .start = EMMA2RH_IRQ_PIIC0, .end = EMMA2RH_IRQ_PIIC0, .flags = IORESOURCE_IRQ }, { .name = NULL, .start = EMMA2RH_PIIC0_BASE, .end = EMMA2RH_PIIC0_BASE + 0x1000, .flags = 0 }, }; struct resource i2c_emma_resources_1[] = { { .name = NULL, .start = EMMA2RH_IRQ_PIIC1, .end = EMMA2RH_IRQ_PIIC1, .flags = IORESOURCE_IRQ }, { .name = NULL, .start = EMMA2RH_PIIC1_BASE, .end = EMMA2RH_PIIC1_BASE + 0x1000, .flags = 0 }, }; struct resource i2c_emma_resources_2[] = { { .name = NULL, .start = EMMA2RH_IRQ_PIIC2, .end = EMMA2RH_IRQ_PIIC2, .flags = IORESOURCE_IRQ }, { .name = NULL, .start = EMMA2RH_PIIC2_BASE, .end = EMMA2RH_PIIC2_BASE + 0x1000, .flags = 0 }, }; struct platform_device i2c_emma_devices[] = { [0] = { .name = I2C_EMMA2RH, .id = 0, .resource = i2c_emma_resources_0, .num_resources = ARRAY_SIZE(i2c_emma_resources_0), }, [1] = { .name = I2C_EMMA2RH, .id = 1, .resource = i2c_emma_resources_1, .num_resources = ARRAY_SIZE(i2c_emma_resources_1), }, [2] = { .name = I2C_EMMA2RH, .id = 2, .resource = i2c_emma_resources_2, .num_resources = ARRAY_SIZE(i2c_emma_resources_2), }, }; #define EMMA2RH_SERIAL_CLOCK 18544000 #define EMMA2RH_SERIAL_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST static struct plat_serial8250_port platform_serial_ports[] = { [0] = { .membase= (void __iomem*)KSEG1ADDR(EMMA2RH_PFUR0_BASE + 3), .mapbase = EMMA2RH_PFUR0_BASE + 3, .irq = EMMA2RH_IRQ_PFUR0, .uartclk = EMMA2RH_SERIAL_CLOCK, .regshift = 4, .iotype = UPIO_MEM, .flags = EMMA2RH_SERIAL_FLAGS, }, [1] = { .membase = (void __iomem*)KSEG1ADDR(EMMA2RH_PFUR1_BASE + 3), .mapbase = EMMA2RH_PFUR1_BASE + 3, .irq = EMMA2RH_IRQ_PFUR1, .uartclk = EMMA2RH_SERIAL_CLOCK, .regshift = 4, .iotype = UPIO_MEM, .flags = EMMA2RH_SERIAL_FLAGS, }, [2] = { .membase = (void __iomem*)KSEG1ADDR(EMMA2RH_PFUR2_BASE + 3), .mapbase = EMMA2RH_PFUR2_BASE + 3, .irq = EMMA2RH_IRQ_PFUR2, .uartclk = EMMA2RH_SERIAL_CLOCK, .regshift = 4, .iotype = UPIO_MEM, .flags = EMMA2RH_SERIAL_FLAGS, }, [3] = { .flags = 0, }, }; static struct platform_device serial_emma = { .name = "serial8250", .dev = { .platform_data = &platform_serial_ports, }, }; static struct mtd_partition markeins_parts[] = { [0] = { .name = "RootFS", .offset = 0x00000000, .size = 0x00c00000, }, [1] = { .name = "boot code area", .offset = MTDPART_OFS_APPEND, .size = 0x00100000, }, [2] = { .name = "kernel image", .offset = MTDPART_OFS_APPEND, .size = 0x00300000, }, [3] = { .name = "RootFS2", .offset = MTDPART_OFS_APPEND, .size = 0x00c00000, }, [4] = { .name = "boot code area2", .offset = MTDPART_OFS_APPEND, .size = 0x00100000, }, [5] = { .name = "kernel image2", .offset = MTDPART_OFS_APPEND, .size = MTDPART_SIZ_FULL, }, }; static struct physmap_flash_data markeins_flash_data = { .width = 2, .nr_parts = ARRAY_SIZE(markeins_parts), .parts = markeins_parts }; static struct resource markeins_flash_resource = { .start = 0x1e000000, .end = 0x02000000, .flags = IORESOURCE_MEM }; static struct platform_device markeins_flash_device = { .name = "physmap-flash", .id = 0, .dev = { .platform_data = &markeins_flash_data, }, .num_resources = 1, .resource = &markeins_flash_resource, }; static struct platform_device *devices[] = { i2c_emma_devices, i2c_emma_devices + 1, i2c_emma_devices + 2, &serial_emma, &markeins_flash_device, }; static int __init platform_devices_setup(void) { return platform_add_devices(devices, ARRAY_SIZE(devices)); } arch_initcall(platform_devices_setup);
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with Cregit http://github.com/cregit/cregit
Version 2.0-RC1