summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>2013-06-02 01:52:28 +0400
committerSimon Horman <horms+renesas@verge.net.au>2013-06-11 16:10:48 +0900
commit6a82e2a83e568dc121326b4bab24035ce7a2f50e (patch)
tree43a0193fbe852dd0ccc0058eca9c40d692b74a63
parent725bf9dcafe16aa69c8ab34c63ba36c6eb4492f2 (diff)
downloadlinux-stable-6a82e2a83e568dc121326b4bab24035ce7a2f50e.tar.gz
linux-stable-6a82e2a83e568dc121326b4bab24035ce7a2f50e.tar.bz2
linux-stable-6a82e2a83e568dc121326b4bab24035ce7a2f50e.zip
phy-rcar-usb: add platform data
Currently the driver hard-codes USBPCTRL0 register to 0. It is wrong since this register contains board-specific USB ports configuration and so its value should be somehow passed via the platform data. Add the global header file containing 'struct rcar_phy_platform_data' consisting of the various bit fields describing USB ports' pin configuration. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r--include/linux/platform_data/usb-rcar-phy.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/platform_data/usb-rcar-phy.h b/include/linux/platform_data/usb-rcar-phy.h
new file mode 100644
index 000000000000..c49f35ab14c7
--- /dev/null
+++ b/include/linux/platform_data/usb-rcar-phy.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2013 Renesas Solutions Corp.
+ * Copyright (C) 2013 Cogent Embedded, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __USB_RCAR_PHY_H
+#define __USB_RCAR_PHY_H
+
+#include <linux/types.h>
+
+struct rcar_phy_platform_data {
+ 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 */
+ bool select_3_3v:1; /* true: USB_OVCn pin, false: OVCn pin */
+ /* 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];
+};
+
+#endif /* __USB_RCAR_PHY_H */