diff options
author | Jan Weitzel <j.weitzel@phytec.de> | 2012-03-09 10:24:09 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-03-13 13:35:29 +0100 |
commit | 4088ab55881f559678c68c317f024ecc8e3db3c9 (patch) | |
tree | 963a7ca0eecda40f32488ac682d59b54aa337443 /drivers/base | |
parent | ef00106960f7a2d07777b2829ffa0495379d2966 (diff) | |
download | barebox-4088ab55881f559678c68c317f024ecc8e3db3c9.tar.gz barebox-4088ab55881f559678c68c317f024ecc8e3db3c9.tar.xz |
NET: Add support for ks8851_mll
Add support for KS8851 16bit MLL chip from Micrel Inc.
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/resource.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/base/resource.c b/drivers/base/resource.c index d2f7a07763..b31c7d7e1a 100644 --- a/drivers/base/resource.c +++ b/drivers/base/resource.c @@ -121,3 +121,36 @@ struct device_d *add_usb_ehci_device(int id, resource_size_t hccr, } EXPORT_SYMBOL(add_usb_ehci_device); #endif + +#ifdef CONFIG_DRIVER_NET_KS8851_MLL +struct device_d *add_ks8851_device(int id, resource_size_t addr, + resource_size_t addr_cmd, int flags, void *pdata) +{ + struct resource *res; + resource_size_t size; + + switch (flags) { + case IORESOURCE_MEM_16BIT: + size = 2; + break; + case IORESOURCE_MEM_8BIT: + size = 1; + break; + default: + printf("ks8851: memory width flag missing\n"); + return NULL; + } + + res = xzalloc(sizeof(struct resource) * 2); + + res[0].start = addr; + res[0].size = size; + res[0].flags = IORESOURCE_MEM | flags; + res[1].start = addr_cmd; + res[1].size = size; + res[1].flags = IORESOURCE_MEM | flags; + + return add_generic_device_res("ks8851_mll", id, res, 2, pdata); +} +EXPORT_SYMBOL(add_ks8851_device); +#endif |