mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 14:20:52 +07:00
sh: r7780rp: Hook up the I2C and SMBus platform devices.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
b026a23c07
commit
c2933965de
@ -4,7 +4,7 @@
|
|||||||
* Renesas Solutions Highlander Support.
|
* Renesas Solutions Highlander Support.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002 Atom Create Engineering Co., Ltd.
|
* Copyright (C) 2002 Atom Create Engineering Co., Ltd.
|
||||||
* Copyright (C) 2005 - 2007 Paul Mundt
|
* Copyright (C) 2005 - 2008 Paul Mundt
|
||||||
*
|
*
|
||||||
* This contains support for the R7780RP-1, R7780MP, and R7785RP
|
* This contains support for the R7780RP-1, R7780MP, and R7785RP
|
||||||
* Highlander modules.
|
* Highlander modules.
|
||||||
@ -17,6 +17,7 @@
|
|||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/ata_platform.h>
|
#include <linux/ata_platform.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
#include <linux/i2c.h>
|
||||||
#include <net/ax88796.h>
|
#include <net/ax88796.h>
|
||||||
#include <asm/machvec.h>
|
#include <asm/machvec.h>
|
||||||
#include <asm/r7780rp.h>
|
#include <asm/r7780rp.h>
|
||||||
@ -176,11 +177,38 @@ static struct platform_device ax88796_device = {
|
|||||||
.resource = ax88796_resources,
|
.resource = ax88796_resources,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct resource smbus_resources[] = {
|
||||||
|
[0] = {
|
||||||
|
.start = PA_SMCR,
|
||||||
|
.end = PA_SMCR + 0x100 - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.start = IRQ_SMBUS,
|
||||||
|
.end = IRQ_SMBUS,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device smbus_device = {
|
||||||
|
.name = "i2c-highlander",
|
||||||
|
.id = 0,
|
||||||
|
.num_resources = ARRAY_SIZE(smbus_resources),
|
||||||
|
.resource = smbus_resources,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct i2c_board_info __initdata highlander_i2c_devices[] = {
|
||||||
|
{
|
||||||
|
I2C_BOARD_INFO("rtc-rs5c372", 0x32),
|
||||||
|
.type = "r2025sd",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device *r7780rp_devices[] __initdata = {
|
static struct platform_device *r7780rp_devices[] __initdata = {
|
||||||
&r8a66597_usb_host_device,
|
&r8a66597_usb_host_device,
|
||||||
&m66592_usb_peripheral_device,
|
&m66592_usb_peripheral_device,
|
||||||
&heartbeat_device,
|
&heartbeat_device,
|
||||||
|
&smbus_device,
|
||||||
#ifndef CONFIG_SH_R7780RP
|
#ifndef CONFIG_SH_R7780RP
|
||||||
&ax88796_device,
|
&ax88796_device,
|
||||||
#endif
|
#endif
|
||||||
@ -199,12 +227,20 @@ static struct trapped_io cf_trapped_io = {
|
|||||||
|
|
||||||
static int __init r7780rp_devices_setup(void)
|
static int __init r7780rp_devices_setup(void)
|
||||||
{
|
{
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
#ifndef CONFIG_SH_R7780RP
|
#ifndef CONFIG_SH_R7780RP
|
||||||
if (register_trapped_io(&cf_trapped_io) == 0)
|
if (register_trapped_io(&cf_trapped_io) == 0)
|
||||||
platform_device_register(&cf_ide_device);
|
ret |= platform_device_register(&cf_ide_device);
|
||||||
#endif
|
#endif
|
||||||
return platform_add_devices(r7780rp_devices,
|
|
||||||
|
ret |= platform_add_devices(r7780rp_devices,
|
||||||
ARRAY_SIZE(r7780rp_devices));
|
ARRAY_SIZE(r7780rp_devices));
|
||||||
|
|
||||||
|
ret |= i2c_register_board_info(0, highlander_i2c_devices,
|
||||||
|
ARRAY_SIZE(highlander_i2c_devices));
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
device_initcall(r7780rp_devices_setup);
|
device_initcall(r7780rp_devices_setup);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user