Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
On 7/20/2013 9:11 AM, George Cherian wrote: On 7/20/2013 12:12 AM, Sebastian Andrzej Siewior wrote: On 07/19/2013 08:33 PM, Sergei Shtylyov wrote: Hello. Hello, usb: usb@4740 { compatible = ti,am33xx-usb; usb0_phy: phy@47401300 { compatible = ti,am335x-usb-phy; } usb0: usb@47401000 { musb0: usb@47401400 { compatible = mg,musbmhdrc; } } usb1_phy: phy@47402300 { compatible = ti,am335x-usb-phy; } usb1: usb@47402000 { musb1: usb@47402400 { compatible = mg,musbmhdrc; } } } How about something like this ? Here am making wrapper - musb instance 0 - phy0 wrapper - musb instance 1 - phy1 musb: usb@4740 { compatible = ti,musb-am33xx; reg = 0x4740 0x1000; ranges; #address-cells = 1; #size-cells = 1; interrupts = 17; ti,hwmods = usb_otg_hs; usb0@47401000 { reg = 0x47401000 0x800; interrupts = 18; interrupt-names = mc; multipoint = 1; num-eps = 16; ram-bits = 12; port-mode = 3; power = 250; phys = phy1; phy-names = am335x-usb0; phy1: am335x-usb0 { compatible = ti,am335x-usb2; #phy-cells = 0; id= 0; }; }; usb1@47401800 { reg = 0x47401800 0x800; interrupts = 19; interrupt-names = mc; multipoint = 1; num-eps = 16; ram-bits = 12; port-mode = 3; power = 250; phys = phy2; phy-names = am335x-usb1; phy2: am335x-usb1 { compatible = ti,am335x-usb2; #phy-cells = 0; id= 1; }; }; }; -- -George -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
Hi, On Friday 19 July 2013 06:04 PM, George Cherian wrote: Add phy nodes for AM33XX platform and split the musb nodes per instance. Signed-off-by: Sebastian Andrzej Siewior bige...@linutronix.de Signed-off-by: George Cherian george.cher...@ti.com --- arch/arm/boot/dts/am33xx.dtsi | 68 +-- 1 file changed, 53 insertions(+), 15 deletions(-) diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 8e1248f..e3890c4 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -326,21 +326,59 @@ status = disabled; }; - usb@4740 { - compatible = ti,musb-am33xx; - reg = 0x4740 0x1000/* usbss */ -0x47401000 0x800 /* musb instance 0 */ -0x47401800 0x800; /* musb instance 1 */ - interrupts = 17/* usbss */ - 18/* musb instance 0 */ - 19; /* musb instance 1 */ - multipoint = 1; - num-eps = 16; - ram-bits = 12; - port0-mode = 3; - port1-mode = 3; - power = 250; - ti,hwmods = usb_otg_hs; + phy1: am335x-usb0@44e10620 { *44e10620* is not needed if you are not having the reg property. + compatible = ti,am335x-usb2; + #phy-cells = 0; + id= 0; + }; + + phy2: am335x-usb1@44e10628 { + compatible = ti,am335x-usb2; ditto.. + #phy-cells = 0; + id= 1; + }; + + omap_control_usb: omap-control-usb@44e10620 { + compatible = ti,omap-control-usb; + reg = 0x44e10620 0x10; + reg-names = control_dev_conf; + ti,type = 3; + }; + +musb: usb@4740 { +compatible = ti,musb-am33xx; +reg = 0x4740 0x1000; +ranges; +#address-cells = 1; +#size-cells = 1; +interrupts = 17; +ti,hwmods = usb_otg_hs; + +usb0@47401000 { +reg = 0x47401000 0x800; +interrupts = 18; +interrupt-names = mc; +multipoint = 1; +num-eps = 16; +ram-bits = 12; +port-mode = 3; +power = 250; +phys = phy1; + phy-names = am335x-usb0; Looks like alignment has gone wrong here. +}; + +usb1@47401800 { +reg = 0x47401800 0x800; +interrupts = 19; +interrupt-names = mc; +multipoint = 1; +num-eps = 16; +ram-bits = 12; +port-mode = 3; +power = 250; +phys = phy2; + phy-names = am335x-usb1; ditto. Thanks Kishon -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
Hello. On 19-07-2013 16:34, George Cherian wrote: Add phy nodes for AM33XX platform and split the musb nodes per instance. Signed-off-by: Sebastian Andrzej Siewior bige...@linutronix.de Signed-off-by: George Cherian george.cher...@ti.com --- arch/arm/boot/dts/am33xx.dtsi | 68 +-- 1 file changed, 53 insertions(+), 15 deletions(-) diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 8e1248f..e3890c4 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -326,21 +326,59 @@ status = disabled; }; - usb@4740 { - compatible = ti,musb-am33xx; - reg = 0x4740 0x1000 /* usbss */ - 0x47401000 0x800 /* musb instance 0 */ - 0x47401800 0x800;/* musb instance 1 */ - interrupts = 17 /* usbss */ - 18/* musb instance 0 */ - 19; /* musb instance 1 */ - multipoint = 1; - num-eps = 16; - ram-bits = 12; - port0-mode = 3; - port1-mode = 3; - power = 250; - ti,hwmods = usb_otg_hs; + phy1: am335x-usb0@44e10620 { Shouldn't the PHYs be *under* the usb0/1 device nodes in the hierarchy? They're not on the same bus as the MUSB controllers for sure. + compatible = ti,am335x-usb2; + #phy-cells = 0; + id= 0; Forgot space before =. + }; + + phy2: am335x-usb1@44e10628 { + compatible = ti,am335x-usb2; + #phy-cells = 0; + id= 1; Same here. + }; + + omap_control_usb: omap-control-usb@44e10620 { + compatible = ti,omap-control-usb; + reg = 0x44e10620 0x10; + reg-names = control_dev_conf; + ti,type = 3; + }; + +musb: usb@4740 { +compatible = ti,musb-am33xx; +reg = 0x4740 0x1000; +ranges; +#address-cells = 1; +#size-cells = 1; +interrupts = 17; +ti,hwmods = usb_otg_hs; + +usb0@47401000 { I don't think you need index in the name since you have the address as a part of the name anyway. That way it's closer to the ePAPR spec. +reg = 0x47401000 0x800; +interrupts = 18; +interrupt-names = mc; +multipoint = 1; +num-eps = 16; +ram-bits = 12; +port-mode = 3; +power = 250; +phys = phy1; The above lines are indented with spaces, the below one with tabs. Use tabs please. + phy-names = am335x-usb0; +}; + +usb1@47401800 { +reg = 0x47401800 0x800; +interrupts = 19; +interrupt-names = mc; +multipoint = 1; +num-eps = 16; +ram-bits = 12; +port-mode = 3; +power = 250; +phys = phy2; The above lines are indented with spaces, the below one with tabs. Use tabs please. + phy-names = am335x-usb1; + }; }; WBR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
On 07/19/2013 03:56 PM, Sergei Shtylyov wrote: On 19-07-2013 16:34, George Cherian wrote: diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 8e1248f..e3890c4 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -326,21 +326,59 @@ status = disabled; }; -usb@4740 { -compatible = ti,musb-am33xx; -reg = 0x4740 0x1000/* usbss */ - 0x47401000 0x800/* musb instance 0 */ - 0x47401800 0x800;/* musb instance 1 */ -interrupts = 17/* usbss */ - 18/* musb instance 0 */ - 19;/* musb instance 1 */ -multipoint = 1; -num-eps = 16; -ram-bits = 12; -port0-mode = 3; -port1-mode = 3; -power = 250; -ti,hwmods = usb_otg_hs; +phy1: am335x-usb0@44e10620 { Shouldn't the PHYs be *under* the usb0/1 device nodes in the hierarchy? They're not on the same bus as the MUSB controllers for sure. I redo the complete thing. I have now: usb: usb@4740 { compatible = ti,am33xx-usb; usb0_phy: phy@47401300 { compatible = ti,am335x-usb-phy; } usb0: usb@47401000 { musb0: usb@47401400 { compatible = mg,musbmhdrc; } } usb1_phy: phy@47402300 { compatible = ti,am335x-usb-phy; } usb1: usb@47402000 { musb1: usb@47402400 { compatible = mg,musbmhdrc; } } } And you want usb0_phy to be child of usb0? In the TRM they are all in the same block. WBR, Sergei Sebastian -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
Hello. On 07/19/2013 06:20 PM, Sebastian Andrzej Siewior wrote: diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 8e1248f..e3890c4 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -326,21 +326,59 @@ status = disabled; }; -usb@4740 { -compatible = ti,musb-am33xx; -reg = 0x4740 0x1000/* usbss */ - 0x47401000 0x800/* musb instance 0 */ - 0x47401800 0x800;/* musb instance 1 */ -interrupts = 17/* usbss */ - 18/* musb instance 0 */ - 19;/* musb instance 1 */ -multipoint = 1; -num-eps = 16; -ram-bits = 12; -port0-mode = 3; -port1-mode = 3; -power = 250; -ti,hwmods = usb_otg_hs; +phy1: am335x-usb0@44e10620 { Shouldn't the PHYs be *under* the usb0/1 device nodes in the hierarchy? They're not on the same bus as the MUSB controllers for sure. I redo the complete thing. I have now: usb: usb@4740 { compatible = ti,am33xx-usb; usb0_phy: phy@47401300 { compatible = ti,am335x-usb-phy; } usb0: usb@47401000 { musb0: usb@47401400 { compatible = mg,musbmhdrc; } } usb1_phy: phy@47402300 { compatible = ti,am335x-usb-phy; } usb1: usb@47402000 { musb1: usb@47402400 { compatible = mg,musbmhdrc; } } } And you want usb0_phy to be child of usb0? In the TRM they are all in the same block. Ah, the fact that PHYs didn't have the reg property got me muddled, I didn't pay attention to the address part of the node names... BTW, where is the reg prop? I see PHYs share the address space with omap-control-usb@44e10620 device -- what's the point with this? Sebastian WBR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
On 07/19/2013 08:33 PM, Sergei Shtylyov wrote: Hello. Hello, usb: usb@4740 { compatible = ti,am33xx-usb; usb0_phy: phy@47401300 { compatible = ti,am335x-usb-phy; } usb0: usb@47401000 { musb0: usb@47401400 { compatible = mg,musbmhdrc; } } usb1_phy: phy@47402300 { compatible = ti,am335x-usb-phy; } usb1: usb@47402000 { musb1: usb@47402400 { compatible = mg,musbmhdrc; } } } And you want usb0_phy to be child of usb0? In the TRM they are all in the same block. Ah, the fact that PHYs didn't have the reg property got me muddled, I didn't pay attention to the address part of the node names... BTW, where is the reg prop? I skipped it for the general idea. I planned to repost is today but I messed up dsps and need to get it working first… I see PHYs share the address space with omap-control-usb@44e10620 device -- what's the point with this? I decided to get rid of this. Both phys have 8 bytes (2 registers) which are exclusive for them. There is one register for the wakeup which is shared by both. I changed this to limit it only to the 8bytes per phy. I care about wakeup later - hopefully George will take care of this :) Sebastian WBR, Sergei Sebastian -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
On 7/20/2013 12:03 AM, Sergei Shtylyov wrote: Hello. On 07/19/2013 06:20 PM, Sebastian Andrzej Siewior wrote: diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 8e1248f..e3890c4 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -326,21 +326,59 @@ status = disabled; }; -usb@4740 { -compatible = ti,musb-am33xx; -reg = 0x4740 0x1000/* usbss */ - 0x47401000 0x800/* musb instance 0 */ - 0x47401800 0x800;/* musb instance 1 */ -interrupts = 17/* usbss */ - 18/* musb instance 0 */ - 19;/* musb instance 1 */ -multipoint = 1; -num-eps = 16; -ram-bits = 12; -port0-mode = 3; -port1-mode = 3; -power = 250; -ti,hwmods = usb_otg_hs; +phy1: am335x-usb0@44e10620 { Shouldn't the PHYs be *under* the usb0/1 device nodes in the hierarchy? They're not on the same bus as the MUSB controllers for sure. I redo the complete thing. I have now: usb: usb@4740 { compatible = ti,am33xx-usb; usb0_phy: phy@47401300 { compatible = ti,am335x-usb-phy; } usb0: usb@47401000 { musb0: usb@47401400 { compatible = mg,musbmhdrc; } } usb1_phy: phy@47402300 { compatible = ti,am335x-usb-phy; } usb1: usb@47402000 { musb1: usb@47402400 { compatible = mg,musbmhdrc; } } } And you want usb0_phy to be child of usb0? In the TRM they are all in the same block. Ah, the fact that PHYs didn't have the reg property got me muddled, I didn't pay attention to the address part of the node names... BTW, where is the reg prop? I see PHYs share the address space with omap-control-usb@44e10620 device -- what's the point with this? In control module(CM) each USB has got 2 registers in which one is a shared register( wakeup register) So all the CM access are done using the control-usb driver (phy-omap-control-usb.c). Same reason why phy's dont have a reg property. Sebastian WBR, Sergei -- -George -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/4] arm: dts: Add USB phy nodes for AM33XX
On 7/20/2013 12:12 AM, Sebastian Andrzej Siewior wrote: On 07/19/2013 08:33 PM, Sergei Shtylyov wrote: Hello. Hello, usb: usb@4740 { compatible = ti,am33xx-usb; usb0_phy: phy@47401300 { compatible = ti,am335x-usb-phy; } usb0: usb@47401000 { musb0: usb@47401400 { compatible = mg,musbmhdrc; } } usb1_phy: phy@47402300 { compatible = ti,am335x-usb-phy; } usb1: usb@47402000 { musb1: usb@47402400 { compatible = mg,musbmhdrc; } } } And you want usb0_phy to be child of usb0? In the TRM they are all in the same block. Ah, the fact that PHYs didn't have the reg property got me muddled, I didn't pay attention to the address part of the node names... BTW, where is the reg prop? I skipped it for the general idea. I planned to repost is today but I messed up dsps and need to get it working first… I see PHYs share the address space with omap-control-usb@44e10620 device -- what's the point with this? I decided to get rid of this. Both phys have 8 bytes (2 registers) which are exclusive for them. There is one register for the wakeup which is shared by both. I changed this to limit it only to the 8bytes per phy. I care about wakeup later - hopefully George will take care of this :) But for wakeup how can we map it since its the same register. That is the main reason i took the omap-control-usb route. Sebastian WBR, Sergei Sebastian -- -George -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html