Skip to content

Commit

Permalink
xtensa: xtfpga: add CY7C67300 USB controller support
Browse files Browse the repository at this point in the history
Signed-off-by: Max Filippov <[email protected]>
  • Loading branch information
jcmvbkbc committed Apr 13, 2015
1 parent b67c961 commit e0bf6c5
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/xtensa/platforms/xtfpga/include/platform/hardware.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,7 @@
/* 5*rx buffs + 5*tx buffs */
#define OETH_SRAMBUFF_SIZE (5 * 0x600 + 5 * 0x600)

#define C67X00_PADDR (XCHAL_KIO_PADDR + 0x0D0D0000)
#define C67X00_SIZE 0x10
#define C67X00_IRQ 5
#endif /* __XTENSA_XTAVNET_HARDWARE_H */
34 changes: 34 additions & 0 deletions arch/xtensa/platforms/xtfpga/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ void __init platform_calibrate_ccount(void)
#include <linux/serial_8250.h>
#include <linux/if.h>
#include <net/ethoc.h>
#include <linux/usb/c67x00.h>

/*----------------------------------------------------------------------------
* Ethernet -- OpenCores Ethernet MAC (ethoc driver)
Expand Down Expand Up @@ -232,6 +233,38 @@ static struct platform_device ethoc_device = {
},
};

/*----------------------------------------------------------------------------
* USB Host/Device -- Cypress CY7C67300
*/

static struct resource c67x00_res[] = {
[0] = { /* register space */
.start = C67X00_PADDR,
.end = C67X00_PADDR + C67X00_SIZE - 1,
.flags = IORESOURCE_MEM,
},
[1] = { /* IRQ number */
.start = C67X00_IRQ,
.end = C67X00_IRQ,
.flags = IORESOURCE_IRQ,
},
};

static struct c67x00_platform_data c67x00_pdata = {
.sie_config = C67X00_SIE1_HOST | C67X00_SIE2_UNUSED,
.hpi_regstep = 4,
};

static struct platform_device c67x00_device = {
.name = "c67x00",
.id = -1,
.num_resources = ARRAY_SIZE(c67x00_res),
.resource = c67x00_res,
.dev = {
.platform_data = &c67x00_pdata,
},
};

/*----------------------------------------------------------------------------
* UART
*/
Expand Down Expand Up @@ -268,6 +301,7 @@ static struct platform_device xtavnet_uart = {
/* platform devices */
static struct platform_device *platform_devices[] __initdata = {
&ethoc_device,
&c67x00_device,
&xtavnet_uart,
};

Expand Down

0 comments on commit e0bf6c5

Please sign in to comment.