summaryrefslogtreecommitdiff
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>2013-06-08 20:34:36 (GMT)
committerSimon Horman <horms+renesas@verge.net.au>2013-06-11 07:11:16 (GMT)
commit54407f190c8d542572a9547ba5460d811810b6e4 (patch)
treea5551de41842e27e0e806418ad76990c09a52708 /include/linux/platform_data
parent7173e59e6b5f9cbde3ece66ae664454edcac6382 (diff)
downloadlinux-fsl-qoriq-54407f190c8d542572a9547ba5460d811810b6e4.tar.xz
phy-rcar-usb: add R8A7778 support
The driver currently only supports R8A7779 SoC. Compared to it, R8A7778 USB-PHY has extra register range containing two high-speed signal quality characteristic control registers which should be set up during USB-PHY startup depending on whether a ferrite bead is in use or not. So, we now handle an optional second memory range in the driver's probe method, add the 'ferrite_bead' field to the driver's platform data, and add an extra (optional) step to the USB-PHY startup routine which sets up the extended registers. Also mark in the driver's Kconfig section that R8A7778 is now supported and generally clarify that section, uppercasing the word "phy" and also changing the module name that got lost in the big driver rename, while at it... The patch has been tested on the Marzen and BOCK-W boards. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Acked-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/usb-rcar-phy.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/platform_data/usb-rcar-phy.h b/include/linux/platform_data/usb-rcar-phy.h
index c49f35a..8ec6964 100644
--- a/include/linux/platform_data/usb-rcar-phy.h
+++ b/include/linux/platform_data/usb-rcar-phy.h
@@ -13,6 +13,8 @@
#include <linux/types.h>
struct rcar_phy_platform_data {
+ bool ferrite_bead:1; /* (R8A7778 only) */
+
bool port1_func:1; /* true: port 1 used by function, false: host */
unsigned penc1:1; /* Output of the PENC1 pin in function mode */
struct { /* Overcurrent pin control for ports 0..2 */
@@ -20,7 +22,7 @@ struct rcar_phy_platform_data {
/* Set to false on port 1 in function mode */
bool active_high:1; /* true: active high, false: active low */
/* Set to true on port 1 in function mode */
- } ovc_pin[3];
+ } ovc_pin[3]; /* (R8A7778 only has 2 ports) */
};
#endif /* __USB_RCAR_PHY_H */