cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

setup.c (1938B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Renesas Technology Europe RSK+ Support.
      4 *
      5 * Copyright (C) 2008 Paul Mundt
      6 * Copyright (C) 2008 Peter Griffin <pgriffin@mpc-data.co.uk>
      7 */
      8#include <linux/init.h>
      9#include <linux/types.h>
     10#include <linux/platform_device.h>
     11#include <linux/interrupt.h>
     12#include <linux/mtd/mtd.h>
     13#include <linux/mtd/partitions.h>
     14#include <linux/mtd/physmap.h>
     15#include <linux/mtd/map.h>
     16#include <linux/regulator/fixed.h>
     17#include <linux/regulator/machine.h>
     18#include <asm/machvec.h>
     19#include <asm/io.h>
     20
     21/* Dummy supplies, where voltage doesn't matter */
     22static struct regulator_consumer_supply dummy_supplies[] = {
     23	REGULATOR_SUPPLY("vddvario", "smsc911x"),
     24	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
     25};
     26
     27static struct mtd_partition rsk_partitions[] = {
     28	{
     29		.name		= "Bootloader",
     30		.offset		= 0x00000000,
     31		.size		= 0x00040000,
     32		.mask_flags	= MTD_WRITEABLE,
     33	}, {
     34		.name		= "Kernel",
     35		.offset		= MTDPART_OFS_NXTBLK,
     36		.size		= 0x001c0000,
     37	}, {
     38		.name		= "Flash_FS",
     39		.offset		= MTDPART_OFS_NXTBLK,
     40		.size		= MTDPART_SIZ_FULL,
     41	}
     42};
     43
     44static struct physmap_flash_data flash_data = {
     45	.parts			= rsk_partitions,
     46	.nr_parts		= ARRAY_SIZE(rsk_partitions),
     47	.width			= 2,
     48};
     49
     50static struct resource flash_resource = {
     51	.start		= 0x20000000,
     52	.end		= 0x20400000,
     53	.flags		= IORESOURCE_MEM,
     54};
     55
     56static struct platform_device flash_device = {
     57	.name		= "physmap-flash",
     58	.id		= -1,
     59	.resource	= &flash_resource,
     60	.num_resources	= 1,
     61	.dev		= {
     62		.platform_data = &flash_data,
     63	},
     64};
     65
     66static struct platform_device *rsk_devices[] __initdata = {
     67	&flash_device,
     68};
     69
     70static int __init rsk_devices_setup(void)
     71{
     72	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
     73
     74	return platform_add_devices(rsk_devices,
     75				    ARRAY_SIZE(rsk_devices));
     76}
     77device_initcall(rsk_devices_setup);
     78
     79/*
     80 * The Machine Vector
     81 */
     82static struct sh_machine_vector mv_rsk __initmv = {
     83	.mv_name        = "RSK+",
     84};