* [PATCH v3 0/2] Adapt phy-omap-usb2 for AM437x platform @ 2013-10-15 10:37 George Cherian [not found] ` <1381833463-12149-1-git-send-email-george.cherian-l0cyMroinI0@public.gmane.org> 2013-10-15 10:37 ` [PATCH v3 2/2] phy: omap-usb2: Adapt phy-omap-usb2 for AM437x George Cherian 0 siblings, 2 replies; 4+ messages in thread From: George Cherian @ 2013-10-15 10:37 UTC (permalink / raw) To: linux-kernel, linux-doc, devicetree, linux-usb Cc: tony, balbi, kishon, rob, ijc+devicetree, swarren, mark.rutland, pawel.moll, rob.herring, gregkh, George Cherian This series adapts the phy-omap-usb2 generic phy driver for AM437x. While at that sort the include files alphabetically (PATCH 1) Patch1 - v2->v3 Amend the commit log V2 of 2nd Patch which fixes the following from v1 - List comaptible entries in Documentaion - Add usb_phy_data instead of checking compatible each time. George Cherian (2): phy: omap-usb2: Sort the headers alphabetically phy: omap-usb2: Adapt phy-omap-usb2 for AM437x Documentation/devicetree/bindings/usb/usb-phy.txt | 4 +- drivers/phy/phy-omap-usb2.c | 72 +++++++++++++++-------- include/linux/usb/omap_usb.h | 10 ++++ 3 files changed, 62 insertions(+), 24 deletions(-) -- 1.8.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <1381833463-12149-1-git-send-email-george.cherian-l0cyMroinI0@public.gmane.org>]
* [PATCH v3 1/2] phy: omap-usb2: Sort the headers alphabetically [not found] ` <1381833463-12149-1-git-send-email-george.cherian-l0cyMroinI0@public.gmane.org> @ 2013-10-15 10:37 ` George Cherian 0 siblings, 0 replies; 4+ messages in thread From: George Cherian @ 2013-10-15 10:37 UTC (permalink / raw) To: linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-doc-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, balbi-l0cyMroinI0, kishon-l0cyMroinI0, rob-VoJi6FS/r0vR7s880joybQ, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg, swarren-3lzwWm7+Weoh9ZMKESR00Q, mark.rutland-5wv7dgnIgG8, pawel.moll-5wv7dgnIgG8, rob.herring-bsGFqQB8/DxBDgjK7y7TUQ, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, George Cherian This makes checking for duplicates easier while adding new #include. Signed-off-by: George Cherian <george.cherian-l0cyMroinI0@public.gmane.org> --- drivers/phy/phy-omap-usb2.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/phy-omap-usb2.c index bfc5c33..3e5f08c 100644 --- a/drivers/phy/phy-omap-usb2.c +++ b/drivers/phy/phy-omap-usb2.c @@ -16,20 +16,20 @@ * */ +#include <linux/clk.h> +#include <linux/delay.h> +#include <linux/err.h> +#include <linux/io.h> #include <linux/module.h> +#include <linux/of.h> +#include <linux/of_platform.h> +#include <linux/phy/phy.h> #include <linux/platform_device.h> +#include <linux/pm_runtime.h> #include <linux/slab.h> -#include <linux/of.h> -#include <linux/io.h> #include <linux/usb/omap_usb.h> -#include <linux/usb/phy_companion.h> -#include <linux/clk.h> -#include <linux/err.h> -#include <linux/pm_runtime.h> -#include <linux/delay.h> #include <linux/usb/omap_control_usb.h> -#include <linux/phy/phy.h> -#include <linux/of_platform.h> +#include <linux/usb/phy_companion.h> /** * omap_usb2_set_comparator - links the comparator present in the sytem with -- 1.8.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 2/2] phy: omap-usb2: Adapt phy-omap-usb2 for AM437x 2013-10-15 10:37 [PATCH v3 0/2] Adapt phy-omap-usb2 for AM437x platform George Cherian [not found] ` <1381833463-12149-1-git-send-email-george.cherian-l0cyMroinI0@public.gmane.org> @ 2013-10-15 10:37 ` George Cherian 2013-10-15 11:54 ` Felipe Balbi 1 sibling, 1 reply; 4+ messages in thread From: George Cherian @ 2013-10-15 10:37 UTC (permalink / raw) To: linux-kernel, linux-doc, devicetree, linux-usb Cc: tony, balbi, kishon, rob, ijc+devicetree, swarren, mark.rutland, pawel.moll, rob.herring, gregkh, George Cherian This patch adds a compatible for AM437x "ti,am43xx-usb2" to reuse the same phy-omap-usb2 driver. Also updated the documentation to add the new compatible. Signed-off-by: George Cherian <george.cherian@ti.com> --- Documentation/devicetree/bindings/usb/usb-phy.txt | 4 +- drivers/phy/phy-omap-usb2.c | 54 +++++++++++++++++------ include/linux/usb/omap_usb.h | 10 +++++ 3 files changed, 53 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/usb-phy.txt b/Documentation/devicetree/bindings/usb/usb-phy.txt index c0245c8..309ab27 100644 --- a/Documentation/devicetree/bindings/usb/usb-phy.txt +++ b/Documentation/devicetree/bindings/usb/usb-phy.txt @@ -3,7 +3,9 @@ USB PHY OMAP USB2 PHY Required properties: - - compatible: Should be "ti,omap-usb2" + - compatible: Should be either of + * "ti,omap-usb2" for OMAP4,OMAP5,DRA7 + * "ti,am437x-usb2" for AM437x - reg : Address and length of the register set for the device. - #phy-cells: determine the number of cells that should be given in the phandle while referencing this phy. diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/phy-omap-usb2.c index 3e5f08c..7c0bc6c 100644 --- a/drivers/phy/phy-omap-usb2.c +++ b/drivers/phy/phy-omap-usb2.c @@ -144,6 +144,35 @@ static struct phy_ops ops = { .owner = THIS_MODULE, }; +#ifdef CONFIG_OF +static const struct usb_phy_data omap_usb2_data = { + .label = "omap_usb2", + .set_host = omap_usb_set_host, + .set_peripheral = omap_usb_set_peripheral, + .set_vbus = omap_usb_set_vbus, + .start_srp = omap_usb_start_srp, +}; + +static const struct usb_phy_data am437x_usb2_data = { + .label = "am437x_usb2", + .set_host = omap_usb_set_host, + .set_peripheral = omap_usb_set_peripheral, +}; + +static const struct of_device_id omap_usb2_id_table[] = { + { + .compatible = "ti,omap-usb2", + .data = &omap_usb2_data, + }, + { + .compatible = "ti,am437x-usb2", + .data = &am437x_usb2_data, + }, + {}, +}; +MODULE_DEVICE_TABLE(of, omap_usb2_id_table); +#endif + static int omap_usb2_probe(struct platform_device *pdev) { struct omap_usb *phy; @@ -153,9 +182,14 @@ static int omap_usb2_probe(struct platform_device *pdev) struct device_node *node = pdev->dev.of_node; struct device_node *control_node; struct platform_device *control_pdev; + const struct of_device_id *of_id; + struct usb_phy_data *phy_data; + + of_id = of_match_device(of_match_ptr(omap_usb2_id_table), &pdev->dev); - if (!node) + if (!of_id) return -EINVAL; + phy_data = (struct usb_phy_data *)of_id->data; phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL); if (!phy) { @@ -172,7 +206,7 @@ static int omap_usb2_probe(struct platform_device *pdev) phy->dev = &pdev->dev; phy->phy.dev = phy->dev; - phy->phy.label = "omap-usb2"; + phy->phy.label = phy_data->label; phy->phy.set_suspend = omap_usb2_suspend; phy->phy.otg = otg; phy->phy.type = USB_PHY_TYPE_USB2; @@ -199,10 +233,10 @@ static int omap_usb2_probe(struct platform_device *pdev) phy->is_suspended = 1; omap_control_usb_phy_power(phy->control_dev, 0); - otg->set_host = omap_usb_set_host; - otg->set_peripheral = omap_usb_set_peripheral; - otg->set_vbus = omap_usb_set_vbus; - otg->start_srp = omap_usb_start_srp; + otg->set_host = phy_data->set_host; + otg->set_peripheral = phy_data->set_peripheral; + otg->set_vbus = phy_data->set_vbus; + otg->start_srp = phy_data->start_srp; otg->phy = &phy->phy; platform_set_drvdata(pdev, phy); @@ -297,14 +331,6 @@ static const struct dev_pm_ops omap_usb2_pm_ops = { #define DEV_PM_OPS NULL #endif -#ifdef CONFIG_OF -static const struct of_device_id omap_usb2_id_table[] = { - { .compatible = "ti,omap-usb2" }, - {} -}; -MODULE_DEVICE_TABLE(of, omap_usb2_id_table); -#endif - static struct platform_driver omap_usb2_driver = { .probe = omap_usb2_probe, .remove = omap_usb2_remove, diff --git a/include/linux/usb/omap_usb.h b/include/linux/usb/omap_usb.h index 6ae2936..0c6b71c 100644 --- a/include/linux/usb/omap_usb.h +++ b/include/linux/usb/omap_usb.h @@ -42,6 +42,16 @@ struct omap_usb { u8 is_suspended:1; }; +struct usb_phy_data { + const char *label; + int (*set_host)(struct usb_otg *otg, struct usb_bus *host); + int (*set_peripheral)(struct usb_otg *otg, + struct usb_gadget *gadget); + int (*set_vbus)(struct usb_otg *otg, bool enabled); + int (*start_srp)(struct usb_otg *otg); + int (*start_hnp)(struct usb_otg *otg); +}; + #define phy_to_omapusb(x) container_of((x), struct omap_usb, phy) #if defined(CONFIG_OMAP_USB2) || defined(CONFIG_OMAP_USB2_MODULE) -- 1.8.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v3 2/2] phy: omap-usb2: Adapt phy-omap-usb2 for AM437x 2013-10-15 10:37 ` [PATCH v3 2/2] phy: omap-usb2: Adapt phy-omap-usb2 for AM437x George Cherian @ 2013-10-15 11:54 ` Felipe Balbi 0 siblings, 0 replies; 4+ messages in thread From: Felipe Balbi @ 2013-10-15 11:54 UTC (permalink / raw) To: George Cherian Cc: linux-kernel, linux-doc, devicetree, linux-usb, tony, balbi, kishon, rob, ijc+devicetree, swarren, mark.rutland, pawel.moll, rob.herring, gregkh [-- Attachment #1: Type: text/plain, Size: 387 bytes --] On Tue, Oct 15, 2013 at 04:07:43PM +0530, George Cherian wrote: > This patch adds a compatible for AM437x "ti,am43xx-usb2" to > reuse the same phy-omap-usb2 driver. > > Also updated the documentation to add the new compatible. > > Signed-off-by: George Cherian <george.cherian@ti.com> I commented on oldler series, sorry. Same comments are still valid though. -- balbi [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-10-15 11:54 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-10-15 10:37 [PATCH v3 0/2] Adapt phy-omap-usb2 for AM437x platform George Cherian [not found] ` <1381833463-12149-1-git-send-email-george.cherian-l0cyMroinI0@public.gmane.org> 2013-10-15 10:37 ` [PATCH v3 1/2] phy: omap-usb2: Sort the headers alphabetically George Cherian 2013-10-15 10:37 ` [PATCH v3 2/2] phy: omap-usb2: Adapt phy-omap-usb2 for AM437x George Cherian 2013-10-15 11:54 ` Felipe Balbi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).