ister that controls the
SoC USB PHY (both USB 1.1 and USB 2.0). The ohci and musb drivers have been
updated to use this new phy driver.
David Lechner (10):
ARM: davinci: add set_parent callback for mux clocks
ARM: davinci: da850: use clk->set_parent for async3
ARM: davinci: da8xx: add usb ph
Use the new phy-da8xx-usb driver to take the place of the mach code that
pokes CFGCHIP2 in the da8xx musb glue driver.
Signed-off-by: David Lechner
---
v2 changes: This is part of a previous patch that was split. This version uses
the new phy driver instead of a second clock. It also gets rid
On 03/16/2016 07:27 AM, Sergei Shtylyov wrote:
+static struct clk usb20_clk = {
+.name= "usb20",
+.parent= &pll0_sysclk2,
+.lpsc= DA8XX_LPSC1_USB20,
+.gpsc= 1,
+};
Why move it?
For organization, to keep all of the USB clocks together. I can
On 03/16/2016 09:50 AM, Alan Stern wrote:
Is it theoretically impossible for a da8xx platform to have more than
one OHCI controller?
If it isn't, you better not use static variables to hold per-device
data.
Yes, it is theoretically impossible, but probably better to not use
static variables
There is now a proper phy driver for the DA8XX SoC USB PHY. This adds the
platform device declarations needed to use it.
Signed-off-by: David Lechner
---
v2 changes: This is new patch in v2.
arch/arm/mach-davinci/include/mach/da8xx.h | 1 +
arch/arm/mach-davinci/usb.c| 24
On 03/16/2016 01:04 PM, Sergei Shtylyov wrote:
No, I mean why is not this implemented as a part of clk_set_parent()?
There is not currently any framework for mux clocks in the davinci
clocks. I am hoping to eventually get the davinci clocks moved to the
common clock framework, so this w
On 03/17/2016 08:11 AM, Sergei Shtylyov wrote:
On 3/17/2016 5:26 AM, David Lechner wrote:
glue->dev= &pdev->dev;
pdata->platform_ops= &da8xx_ops;
-glue->phy = usb_phy_generic_register();
-if (IS_ERR(glue->phy)) {
-
appropriate child clocks. The
default is use to pll1_sysclk2 since it is not affected by processor
frequency scaling.
Signed-off-by: David Lechner
---
v2 changes: This is a new patch in v2.
arch/arm/mach-davinci/da850.c | 88 ---
1 file changed, 40 insertions
Including mach/* is frowned upon in device drivers, so get rid of it.
This replaces usb20_clk and code that pokes CFGCHIP2 with a proper phy
driver.
Signed-off-by: David Lechner
---
v2 changes: Uses the new phy driver instead of using a second clock.
drivers/usb/host/ohci-da8xx.c | 90
Simplify things a bit by using devm functions where possible.
Signed-off-by: David Lechner
---
v2 changes: This is part of a previous patch that was split. No changes from
previous version.
drivers/usb/musb/da8xx.c | 28
1 file changed, 8 insertions(+), 20
Introduce a set_parent callback that will be used for mux clocks, such as
the USB PHY muxes and the async3 clock domain mux.
Signed-off-by: David Lechner
---
v2 changes: This is a new patch in v2.
arch/arm/mach-davinci/clock.c | 17 -
arch/arm/mach-davinci/clock.h | 1 +
2
From: Petr Kulhavy
Only few MUSB PHY reference clock frequencies were defined.
This patch defines macros for the missing frequencies:
19.2MHz, 38.4MHz, 13MHz, 26MHz, 20MHz, 40MHz
Signed-off-by: Petr Kulhavy .
Acked-by: Sergei Shtylyov
Signed-off-by: Bin Liu
---
v2 changes: None.
include/li
On 03/23/2016 10:56 AM, Sekhar Nori wrote:
On Thursday 17 March 2016 07:56 AM, David Lechner wrote:
The da850 family of processors has an async3 clock domain that can be
muxed to either pll0_sysclk2 or pll1_sysclk2. Now that the davinci clocks
have a set_parent callback, we can use this to
On 03/23/2016 11:56 AM, Sekhar Nori wrote:
+static struct clk usb_ref_clk = {
+ .name = "usb_ref_clk",
+ .rate = 4800,
+ .set_rate = davinci_simple_set_rate,
+};
can we call this usb_refclkin so it matches the TRM name? Also, should
this node be
On 03/23/2016 12:06 PM, Sekhar Nori wrote:
On Thursday 17 March 2016 07:56 AM, David Lechner wrote:
Device tree binding for new phy-da8xx-usb driver.
Signed-off-by: David Lechner
---
v2 changes: This is new patch in v2.
.../devicetree/bindings/phy/phy-da8xx-usb.txt | 34
On 03/23/2016 12:21 PM, Sekhar Nori wrote:
+/* DA8xx CFGCHIP2 (USB PHY Control) register bits */
+#define PHYCLKGD (1 << 17)
+#define VBUSSENSE (1 << 16)
+#define RESET (1 << 15)
+#define OTGMODE_MASK (3 << 13)
+#define NO_OVERRIDE
On 03/23/2016 12:29 PM, Sekhar Nori wrote:
Alright, I guess 'can be called' in the comment should have used
stronger language :) How about late registration of USB clocks as I
suggested. It should also help consolidate code across da830 and da850.
What about the new async3 clock? It will requ
Introduce a set_parent callback that will be used for mux clocks, such as
the USB PHY muxes and the async3 clock domain mux.
Signed-off-by: David Lechner
---
v3 changes: none.
arch/arm/mach-davinci/clock.c | 17 -
arch/arm/mach-davinci/clock.h | 1 +
2 files changed, 17
Add a syscon node for the SoC CFGCHIPn registers. This is needed for
the new usb phy driver.
Signed-off-by: David Lechner
---
v3 changes: This is a new patch.
arch/arm/boot/dts/da850.dtsi | 4
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts
Including mach/* is frowned upon in device drivers, so get rid of it.
This replaces usb20_clk and code that pokes CFGCHIP2 with a proper phy
driver.
Signed-off-by: David Lechner
Acked-by: Alan Stern
---
v3 changes:
* add phy_init and phy_exit calls for completness (they are nops for this
Simplify things a bit by using devm functions where possible.
Signed-off-by: David Lechner
---
v3 changes:
* Kept clk variable to minimize noise.
drivers/usb/musb/da8xx.c | 19 +--
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/drivers/usb/musb/da8xx.c b
Use the new phy-da8xx-usb driver to take the place of the mach code that
pokes CFGCHIP2 in the da8xx musb glue driver. This unbreaks the driver.
Signed-off-by: David Lechner
---
v3 changes:
* removed depends on BROKEN and added select PHY_DA8XX_USB to Kconfig
* Added calls to phy_init and
Device tree binding for new phy-da8xx-usb driver.
Signed-off-by: David Lechner
---
v3 changes:
* added cfgchip info and example
* correct usage of "DA8xx"
* correct address after @
* dropped 11 before @ in usb@
.../devicetree/bindings/phy/phy-da8xx-usb.txt
There is now a proper phy driver for the DA8xx SoC USB PHY. This adds the
platform device declarations needed to use it.
Signed-off-by: David Lechner
---
v3 changes:
* The declaration is now in the new usb-da8xx.c file.
arch/arm/mach-davinci/board-da830-evm.c | 28
Add a node for the new usb phy driver.
Signed-off-by: David Lechner
---
v3 changes:
* No longer needs reg property since we are now using syscon instead.
arch/arm/boot/dts/da850.dtsi | 5 +
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts
they didn't really belong there anyway.
Signed-off-by: David Lechner
---
v3 changes: This is a new patch. It replaces the previous patch that just added
some missing CFGCHIP2 registers to the platform_data/usb-davinci.h file.
I took David Laight's advice and included all of the possible
replaced with the new clock registration functions.
Signed-off-by: David Lechner
---
v3 changes:
* Clocks are now in usb-da8xx.c instead of having duplicated code in da830.c
and da850.c.
* No longer calling ioremap in set_parent() functions.
* Added timeout while waiting for PLL to lock.
* Renamed
TI has been using the physical address in DT after the @ in device nodes.
The device tree convention is to use the same address that is used for
the reg property. This updates all davinci DT files to use the proper
convention.
Signed-off-by: David Lechner
---
v3 changes: This is a new patch
rs.
Changed:
* USB clocks are moved to a common file instead of having duplicated code.
* PHY driver uses syscon for CFGCHIP registers instead of using them directly.
David Lechner (16):
dt: davinci: use proper address after @
mfd: da8xx-cfgchip: New header file for CFGCHIP registers.
ARM: davin
appropriate child clocks. The
default is use to pll1_sysclk2 since it is not affected by processor
frequency scaling.
Signed-off-by: David Lechner
---
v3 changes:
* Does not use ioremap in da850_async3_set_parent(). This works now becuase the
clock init has been moved.
* Fixed copy/paste error in a
The CFGCHIPn registers are used by a number of devices, so using a syscon
device to share them. The first consumer of this will by the phy-da8xx-usb
driver.
Signed-off-by: David Lechner
---
v3 changes: This is a new patch. There is one syscon device for all CFGCHIP
registers.
arch/arm/mach
Some clocks (such as the USB PHY clocks in DA8xx) will need to use iomem.
The davinci_common_init() function must be called before the ioremap, so
the clock init is now split out as separate function.
Signed-off-by: David Lechner
---
v3 changes: This is a new patch. It takes care of the issue
This is a new phy driver for the SoC USB controllers on the TI DA8xx
family of microcontrollers. The USB 1.1 PHY is just a simple on/off.
The USB 2.0 PHY also allows overriding the VBUS and ID pins.
Signed-off-by: David Lechner
---
v3 changes:
* Uses syscon device for CFGCHIP2 instead of using
We will be adding more da8xx-specific code for phy and clocks, so it will
be better to have this in a separate file. This way we don't have a bunch
of #ifdefs for all of the da8xx stuff.
Signed-off-by: David Lechner
---
v3 changes: this is a new patch. The diff in git looked much nicer. In
This is a new phy driver for the SoC USB controllers on the TI DA8xx
family of microcontrollers. The USB 1.1 PHY is just a simple on/off.
The USB 2.0 PHY also allows overriding the VBUS and ID pins.
Signed-off-by: David Lechner
---
I made a last minute change and some renames slipped through
On 03/25/2016 12:22 PM, Sergei Shtylyov wrote:
On 03/25/2016 02:51 AM, David Lechner wrote:
+/* register offsets */
+#define CFGCHIP_REG(n)(n * 4)
+#define CFGCHIP0_REGCFGCHIP_REG(0)
+#define CFGCHIP1_REGCFGCHIP_REG(1)
+#define CFGCHIP2_REG
On 03/31/2016 05:21 PM, Bin Liu wrote:
- glue = kzalloc(sizeof(*glue), GFP_KERNEL);
+ glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL);
if (!glue) {
dev_err(&pdev->dev, "failed to allocate glue context\n");
- goto err0;
+
On 04/01/2016 09:45 AM, Bin Liu wrote:
+EXPORT_SYMBOL_GPL(da8xx_usb20_phy_set_mode);
Don't prefer export symbols from PHY driver. That'll create unnecessary
dependencies between the controller and the PHY.
Agreed.
I think it'll be better to create a new attribute and use it?
Another simp
On 04/04/2016 03:45 AM, Petr Kulhavy wrote:
I'm trying to move on with my USB2.0 patch set because my projects is
blocked waiting for it.
I've seen your PHY patch but it contains only on/off functions and does
not handle the clocks, which IMHO should be moved to the PHY driver as
well if we decid
On 03/24/2016 06:51 PM, David Lechner wrote:
This is a reworking of the v2 series based of feedback and review. There were
very many suggestions, so hopefully I didn't miss any. Here are the
highlights...
New stuff:
* Fixed the davinci device tree declarations to use the preferred DT ad
On 04/13/2016 08:20 AM, Kishon Vijay Abraham I wrote:
Don't prefer export symbols from PHY driver. That'll create unnecessary
dependencies between the controller and the PHY.
To see how to fix it, please see my comment for the previous version of your
patch.
Thanks
Kishon
What is the prop
On 04/01/2016 08:16 AM, Kishon Vijay Abraham I wrote:
+EXPORT_SYMBOL_GPL(da8xx_usb20_phy_set_mode);
Don't prefer export symbols from PHY driver. That'll create unnecessary
dependencies between the controller and the PHY.
I think it'll be better to create a new attribute and use it?
Just ha
Including mach/* is frowned upon in device drivers, so get rid of it.
This replaces usb20_clk and code that pokes CFGCHIP2 with a proper phy
driver.
Signed-off-by: David Lechner
Acked-by: Alan Stern
---
v4 changes: no change
drivers/usb/host/Kconfig | 1 +
drivers/usb/host/ohci
Use the new phy-da8xx-usb driver to take the place of the mach code that
pokes CFGCHIP2 in the da8xx musb glue driver. This unbreaks the driver.
Signed-off-by: David Lechner
---
v4 changes:
* using new phy->ops->get_mode()
drivers/usb/musb/Kconfig | 2 +-
drivers/usb/musb/da8xx.c
.
Suggested-by: Kishon Vijay Abraham I
Signed-off-by: David Lechner
---
v4 changes:
* This is a new patch to avoid exporting a symbol from the phy-da8xx-usb driver.
drivers/phy/phy-core.c | 15 +++
include/linux/phy/phy.h | 15 +++
2 files changed, 30 insertions
ts own. It just won't work at runtime
without the corresponding mach-davinci changes to provide clocks, etc.
This round just contains changes from feedback. See individual patches for
details.
Tested working on LEGO MINDSTORMS EV3 using linux-davinci/master branch.
David Lechner (7):
mfd: da8
Simplify things a bit by using devm functions where possible.
Signed-off-by: David Lechner
---
v4 changes: no change
drivers/usb/musb/da8xx.c | 19 +--
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
index
Device tree binding for new phy-da8xx-usb driver.
Signed-off-by: David Lechner
Acked-by: Rob Herring
---
v4 changes:
* swapped order of usb20 and usb11 to be in logical order of reg address.
.../devicetree/bindings/phy/phy-da8xx-usb.txt | 40 ++
1 file changed, 40
This is a new phy driver for the SoC USB controllers on the TI DA8xx
family of microcontrollers. The USB 1.1 PHY is just a simple on/off.
The USB 2.0 PHY also allows overriding the VBUS and ID pins.
Signed-off-by: David Lechner
---
v4 changes:
* Using phy->ops->get_mode() instead of exp
they didn't really belong there anyway.
Signed-off-by: David Lechner
---
v4 changes:
* dropped individual CFGCHIPn_REG defines in favor of CFGCHIP(n)
include/linux/mfd/da8xx-cfgchip.h | 153 ++
include/linux/platform_data/usb-davinci.h | 22 -
2
The CFGCHIP registers are used by a number of devices, so using a syscon
device to share them. The first consumer of this will by the phy-da8xx-usb
driver.
Signed-off-by: David Lechner
---
v4 changes: none
arch/arm/mach-davinci/board-da830-evm.c | 4
arch/arm/mach-davinci/board
replaced with the new clock registration functions.
Signed-off-by: David Lechner
---
v4 changes:
* Fixed strict checkpatch complaint about {} with if/else.
arch/arm/mach-davinci/board-da830-evm.c | 22 ++-
arch/arm/mach-davinci/board-omapl138-hawk.c | 16 +-
arch/arm/mach-davinci/include
Add a node for the new usb phy driver.
Signed-off-by: David Lechner
---
v4 changes: none
arch/arm/boot/dts/da850.dtsi | 5 +
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index e56c554..2c60751 100644
--- a/arch/arm/boot/dts
Add a syscon node for the SoC CFGCHIPn registers. This is needed for
the new usb phy driver.
Signed-off-by: David Lechner
---
v4 changes: none
arch/arm/boot/dts/da850.dtsi | 4
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index
h from the "da8xx USB
PHY" series in order to compile.
David Lechner (5):
ARM: davinci: da8xx: add usb phy clocks
ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.
ARM: davinci: da8xx: Add USB PHY platform declaration
ARM: DTS: da850: Add cfgchip syscon node
ARM: DTS: da8
There is now a proper phy driver for the DA8xx SoC USB PHY. This adds the
platform device declarations needed to use it.
Signed-off-by: David Lechner
---
v4 changes: none
arch/arm/mach-davinci/board-da830-evm.c | 28 +---
arch/arm/mach-davinci/board-omapl138-hawk.c
On 04/15/2016 05:48 AM, Sergei Shtylyov wrote:
On 4/14/2016 9:35 PM, David Lechner wrote:
Device tree binding for new phy-da8xx-usb driver.
Signed-off-by: David Lechner
Acked-by: Rob Herring
---
v4 changes:
* swapped order of usb20 and usb11 to be in logical order of reg address
.
Signed-off-by: David Lechner
---
.../ABI/testing/configfs-usb-gadget-rndis | 3 ++
drivers/usb/gadget/function/f_rndis.c | 48 ++
drivers/usb/gadget/function/u_rndis.h | 1 +
include/uapi/linux/usb/misc.h | 14
On 7 July 2014 17:08, Oleksij Rempel wrote:
>/ Am 07.07.2014 15:40, schrieb Anders Darander:/
>/> On 4 July 2014 18:54, Oleksij Rempel wrote:/
>/>> Am 04.07.2014 18:30, schrieb Alan Stern:/
>/>>> On Fri, 4 Jul 2014, Anders Darander wrote:/
>/ ~# usb 1-1: new full-speed USB device number 3 u
On 11/26/14 12:29 PM, Oleksij Rempel wrote:
Am 26.11.2014 um 01:28 schrieb David Lechner:
On 7 July 2014 17:08, Oleksij Rempel wrote:
/ Am 07.07.2014 15:40, schrieb Anders Darander:/
/> On 4 July 2014 18:54, Oleksij Rempel wrote:/
/>> Am 04.07.2014 18:30, schrieb Alan Stern:/
/>
There is only one clock for the DA8xx MUSB device, so we don't need the
con_id, so remove it. This way we don't have to add an unnecessary
property to the device tree bindings for the clock.
Signed-off-by: David Lechner
---
drivers/usb/musb/da8xx.c | 2 +-
1 file changed, 1 inser
The ohci-da8xx device only has one clock, so a con_id is not needed, so
remove it. This way we don't have to add an unnecessary property to the
device tree bindings for the clock.
Signed-off-by: David Lechner
---
drivers/usb/host/ohci-da8xx.c | 2 +-
1 file changed, 1 insertion(+), 1 del
There is only one clock each for "musb-da8xx" and "ohci-da8xx", so we
do not the the con_id. Removing them will also prevent needing an
unnecessary device tree property when device tree bindings are added
for clocks.
Signed-off-by: David Lechner
---
arch/arm/mach-davinci/da
There is only one clock for the DA8xx MUSB device, so we don't need the
con_id, so remove it. This way we don't have to add an unnecessary
property to the device tree bindings for the clock.
Signed-off-by: David Lechner
---
drivers/usb/musb/da8xx.c | 2 +-
1 file changed, 1 inser
The ohci-da8xx device only has one clock, so a con_id is not needed, so
remove it. This way we don't have to add an unnecessary property to the
device tree bindings for the clock.
Signed-off-by: David Lechner
---
drivers/usb/host/ohci-da8xx.c | 2 +-
1 file changed, 1 insertion(+), 1 del
that
things break if you don't also remove the con_id when registering the
clkdev. :-/
David Lechner (3):
USB: musb: da8xx: remove clock con_id
USB: ohci: da8xx: remove clk con_id
ARM: da8xx: remove con_id from USB clocks
arch/arm/mach-davinci/da830.c | 4 ++--
arch/arm/mach-davinci/da85
On 01/05/2018 07:53 PM, David Lechner wrote:
The ohci-da8xx device only has one clock, so a con_id is not needed, so
remove it. This way we don't have to add an unnecessary property to the
device tree bindings for the clock.
Signed-off-by: David Lechner
---
superseded by https://marc.in
On 01/05/2018 07:50 PM, David Lechner wrote:
There is only one clock for the DA8xx MUSB device, so we don't need the
con_id, so remove it. This way we don't have to add an unnecessary
property to the device tree bindings for the clock.
Signed-off-by: David Lechner
---
supersede
This removes the misleading "(hex)" from the attribute descriptions of
configfs-usb-gadget-rndis. These attributes can only accept decimal
numbers, not hexadecimal formatted numbers.
Cc: Felipe Balbi
Cc: Greg Kroah-Hartman
Signed-off-by: David Lechner
---
Documentation/ABI/testin
On 01/15/2018 10:36 AM, David Lechner wrote:
This removes the misleading "(hex)" from the attribute descriptions of
configfs-usb-gadget-rndis. These attributes can only accept decimal
numbers, not hexadecimal formatted numbers.
Cc: Felipe Balbi
Cc: Greg Kroah-Hartman
Signed-off
vice will be
recognized by the rndiscmp.inf file in Windows Vista and newer and will
cause Windows to load the correct RNDIS driver without the need for a
custom (signed) .inf file.
Signed-off-by: David Lechner
---
This is a revision of "usb: gadget: add RNDIS configfs option for Windows
rndisc
101 - 171 of 171 matches
Mail list logo