Forum Discussion
Altera_Forum
Honored Contributor
10 years agoHi,
--- Quote Start --- And I have a question here, before using bluetooth usb, I'm now testing CY7C67200 to detect a normal mass storage usb. I added the IP for CY7C67200 in Qsys and then generated dts file using sopc2dts generator. However, CY7C67200 cannot be recognized. How can I make it recognizable? I did try to make the zImage and download to DE2-115, but it seems cannot detect the USB. I'm wondering if it is because of the USB IP cannot be recognized. Here are part of the .dts file:CY7C67200_IF_0: unknown@0x23860 {
compatible = "unknown,unknown-1.0";
reg = <0x00023860 0x00000010>;
interrupt-parent = <&nios2_qsys_0>;
interrupts = <3>;
}; //end unknown@0x23860 (CY7C67200_IF_0) And in menuconfig, for the USB Host controller drivers, I found Cypress C67x00 HCD support. Is it applicable to CY7C67200? --- Quote End --- Yes, you can use the C67x00 HCD driver for CY7C67x00 series. For platform devices, you must notify your kernel of the name to initialize it. Please refer to https://lwn.net/articles/448502/ and https://github.com/enclustra-bsp/xilinx-linux/blob/master/drivers/usb/c67x00/c67x00-drv.c , especially the last part of the code.
c67x00_ll_release(c67x00);
return 0;
}
# ifdef CONFIG_OF
/* Match table for OF platform binding - from xilinx_emaclite */
static struct of_device_id c67x00_of_match = {
{ .compatible = "cypress,c67x00", }, // <----!!
{ /* end of list */ },
};
MODULE_DEVICE_TABLE(of, c67x00_of_match);
# endif
static struct platform_driver c67x00_driver = {
.probe = c67x00_drv_probe,
.remove = c67x00_drv_remove,
.driver = {
.name = "c67x00",
.of_match_table = of_match_ptr(c67x00_of_match), // <----!!
},
};
module_platform_driver(c67x00_driver);
MODULE_AUTHOR("Peter Korsgaard, Jan Veldeman, Grant Likely");
MODULE_DESCRIPTION("Cypress C67X00 USB Controller Driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:c67x00");
Kazu