Message ID | 1486623626-16061-1-git-send-email-uri.mashiach@compulab.co.il |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
On Thu, Feb 09, 2017 at 09:00:26AM +0200, Uri Mashiach wrote: > The following XHCI registers base address are set to OMAP5 values: > OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE > > Captured crash for "usb start" command: > ----------------------------------cut---------------------------------- > => usb start > starting USB... > USB0: data abort > pc : [<fff63d22>] lr : [<fff63b63>] > reloc pc : [<8081cd22>] lr : [<8081cb63>] > sp : fdf42d08 ip : fff9e040 fp : fdf42d50 > r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 > r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 > r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 > Flags: nzCv IRQs off FIQs off Mode SVC_32 > Resetting CPU ... > > resetting ... > ----------------------------------cut---------------------------------- > > Fix by adding the CL-SOM-AM57x target to the XHCI registers base address > ifdef'ery. > A better fix should be based on a SOC family defines (currently > missing). Can you please go add the Kconfig symbols that would be the better solution please? Thanks!
Hi Tom, On 02/09/2017 10:29 PM, Tom Rini wrote: > On Thu, Feb 09, 2017 at 09:00:26AM +0200, Uri Mashiach wrote: > >> The following XHCI registers base address are set to OMAP5 values: >> OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE >> >> Captured crash for "usb start" command: >> ----------------------------------cut---------------------------------- >> => usb start >> starting USB... >> USB0: data abort >> pc : [<fff63d22>] lr : [<fff63b63>] >> reloc pc : [<8081cd22>] lr : [<8081cb63>] >> sp : fdf42d08 ip : fff9e040 fp : fdf42d50 >> r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 >> r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 >> r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 >> Flags: nzCv IRQs off FIQs off Mode SVC_32 >> Resetting CPU ... >> >> resetting ... >> ----------------------------------cut---------------------------------- >> >> Fix by adding the CL-SOM-AM57x target to the XHCI registers base address >> ifdef'ery. >> A better fix should be based on a SOC family defines (currently >> missing). > > Can you please go add the Kconfig symbols that would be the better > solution please? Thanks! > The SOC family symbol CONFIG_AM57XX was removed by the commit 3891a54: "ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XX". Maybe the symbol should be reintroduced just for the XHCI registers section?
On Sun, Feb 12, 2017 at 10:55:27AM +0200, Uri Mashiach wrote: > Hi Tom, > > On 02/09/2017 10:29 PM, Tom Rini wrote: > >On Thu, Feb 09, 2017 at 09:00:26AM +0200, Uri Mashiach wrote: > > > >>The following XHCI registers base address are set to OMAP5 values: > >>OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE > >> > >>Captured crash for "usb start" command: > >>----------------------------------cut---------------------------------- > >>=> usb start > >>starting USB... > >>USB0: data abort > >>pc : [<fff63d22>] lr : [<fff63b63>] > >>reloc pc : [<8081cd22>] lr : [<8081cb63>] > >>sp : fdf42d08 ip : fff9e040 fp : fdf42d50 > >>r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 > >>r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 > >>r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 > >>Flags: nzCv IRQs off FIQs off Mode SVC_32 > >>Resetting CPU ... > >> > >>resetting ... > >>----------------------------------cut---------------------------------- > >> > >>Fix by adding the CL-SOM-AM57x target to the XHCI registers base address > >>ifdef'ery. > >>A better fix should be based on a SOC family defines (currently > >>missing). > > > >Can you please go add the Kconfig symbols that would be the better > >solution please? Thanks! > > The SOC family symbol CONFIG_AM57XX was removed by the commit > 3891a54: "ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XX". > Maybe the symbol should be reintroduced just for the XHCI registers > section? Yes, sounds like we do have a case where DRA7xx is not the same as AM57xx then?
On Sunday 12 February 2017 09:17 PM, Tom Rini wrote: > On Sun, Feb 12, 2017 at 10:55:27AM +0200, Uri Mashiach wrote: >> Hi Tom, >> >> On 02/09/2017 10:29 PM, Tom Rini wrote: >>> On Thu, Feb 09, 2017 at 09:00:26AM +0200, Uri Mashiach wrote: >>> >>>> The following XHCI registers base address are set to OMAP5 values: >>>> OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE >>>> >>>> Captured crash for "usb start" command: >>>> ----------------------------------cut---------------------------------- >>>> => usb start >>>> starting USB... >>>> USB0: data abort >>>> pc : [<fff63d22>] lr : [<fff63b63>] >>>> reloc pc : [<8081cd22>] lr : [<8081cb63>] >>>> sp : fdf42d08 ip : fff9e040 fp : fdf42d50 >>>> r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 >>>> r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 >>>> r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 >>>> Flags: nzCv IRQs off FIQs off Mode SVC_32 >>>> Resetting CPU ... >>>> >>>> resetting ... >>>> ----------------------------------cut---------------------------------- >>>> >>>> Fix by adding the CL-SOM-AM57x target to the XHCI registers base address >>>> ifdef'ery. >>>> A better fix should be based on a SOC family defines (currently >>>> missing). >>> >>> Can you please go add the Kconfig symbols that would be the better >>> solution please? Thanks! >> >> The SOC family symbol CONFIG_AM57XX was removed by the commit >> 3891a54: "ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XX". >> Maybe the symbol should be reintroduced just for the XHCI registers >> section? > > Yes, sounds like we do have a case where DRA7xx is not the same as > AM57xx then? > No that's not right. It is just DRA74x_EVM and AM57XX evm is using different instances of XHCI. Ideally this base address should be coming from DT. I don't think it is a good idea to introduce CONFIG_AM57XX. Thanks and regards, Lokesh
On 02/13/2017 01:46 PM, Lokesh Vutla wrote: > > > On Sunday 12 February 2017 09:17 PM, Tom Rini wrote: >> On Sun, Feb 12, 2017 at 10:55:27AM +0200, Uri Mashiach wrote: >>> Hi Tom, >>> >>> On 02/09/2017 10:29 PM, Tom Rini wrote: >>>> On Thu, Feb 09, 2017 at 09:00:26AM +0200, Uri Mashiach wrote: >>>> >>>>> The following XHCI registers base address are set to OMAP5 values: >>>>> OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE >>>>> >>>>> Captured crash for "usb start" command: >>>>> ----------------------------------cut---------------------------------- >>>>> => usb start >>>>> starting USB... >>>>> USB0: data abort >>>>> pc : [<fff63d22>] lr : [<fff63b63>] >>>>> reloc pc : [<8081cd22>] lr : [<8081cb63>] >>>>> sp : fdf42d08 ip : fff9e040 fp : fdf42d50 >>>>> r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 >>>>> r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 >>>>> r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 >>>>> Flags: nzCv IRQs off FIQs off Mode SVC_32 >>>>> Resetting CPU ... >>>>> >>>>> resetting ... >>>>> ----------------------------------cut---------------------------------- >>>>> >>>>> Fix by adding the CL-SOM-AM57x target to the XHCI registers base address >>>>> ifdef'ery. >>>>> A better fix should be based on a SOC family defines (currently >>>>> missing). >>>> >>>> Can you please go add the Kconfig symbols that would be the better >>>> solution please? Thanks! >>> >>> The SOC family symbol CONFIG_AM57XX was removed by the commit >>> 3891a54: "ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XX". >>> Maybe the symbol should be reintroduced just for the XHCI registers >>> section? >> >> Yes, sounds like we do have a case where DRA7xx is not the same as >> AM57xx then? >> > > No that's not right. It is just DRA74x_EVM and AM57XX evm is using > different instances of XHCI. Ideally this base address should be coming > from DT. I don't think it is a good idea to introduce CONFIG_AM57XX. > > Thanks and regards, > Lokesh > It seems that the address of register is SOC dependent. In the current method all the target boards that use the relevant SOC should be included in the ifdef'ery - redundant maintenance.
On Monday 13 February 2017 05:42 PM, Uri Mashiach wrote: > > > On 02/13/2017 01:46 PM, Lokesh Vutla wrote: >> >> >> On Sunday 12 February 2017 09:17 PM, Tom Rini wrote: >>> On Sun, Feb 12, 2017 at 10:55:27AM +0200, Uri Mashiach wrote: >>>> Hi Tom, >>>> >>>> On 02/09/2017 10:29 PM, Tom Rini wrote: >>>>> On Thu, Feb 09, 2017 at 09:00:26AM +0200, Uri Mashiach wrote: >>>>> >>>>>> The following XHCI registers base address are set to OMAP5 values: >>>>>> OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE >>>>>> >>>>>> Captured crash for "usb start" command: >>>>>> ----------------------------------cut---------------------------------- >>>>>> >>>>>> => usb start >>>>>> starting USB... >>>>>> USB0: data abort >>>>>> pc : [<fff63d22>] lr : [<fff63b63>] >>>>>> reloc pc : [<8081cd22>] lr : [<8081cb63>] >>>>>> sp : fdf42d08 ip : fff9e040 fp : fdf42d50 >>>>>> r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 >>>>>> r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 >>>>>> r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 >>>>>> Flags: nzCv IRQs off FIQs off Mode SVC_32 >>>>>> Resetting CPU ... >>>>>> >>>>>> resetting ... >>>>>> ----------------------------------cut---------------------------------- >>>>>> >>>>>> >>>>>> Fix by adding the CL-SOM-AM57x target to the XHCI registers base >>>>>> address >>>>>> ifdef'ery. >>>>>> A better fix should be based on a SOC family defines (currently >>>>>> missing). >>>>> >>>>> Can you please go add the Kconfig symbols that would be the better >>>>> solution please? Thanks! >>>> >>>> The SOC family symbol CONFIG_AM57XX was removed by the commit >>>> 3891a54: "ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XX". >>>> Maybe the symbol should be reintroduced just for the XHCI registers >>>> section? >>> >>> Yes, sounds like we do have a case where DRA7xx is not the same as >>> AM57xx then? >>> >> >> No that's not right. It is just DRA74x_EVM and AM57XX evm is using >> different instances of XHCI. Ideally this base address should be coming >> from DT. I don't think it is a good idea to introduce CONFIG_AM57XX. >> >> Thanks and regards, >> Lokesh >> > It seems that the address of register is SOC dependent. > In the current method all the target boards that use the relevant SOC > should be included in the ifdef'ery - redundant maintenance. Please have a look at the TRMs. DRA7xx[1], AM57xx[2]. Both has the above two instances of XHCI. There is no difference. [1] http://www.ti.com/lit/ug/sprui30b/sprui30b.pdf [2] http://www.ti.com/lit/ug/spruhz6h/spruhz6h.pdf Thanks and regards, Lokesh >
On 02/13/2017 02:33 PM, Lokesh Vutla wrote: > > > On Monday 13 February 2017 05:42 PM, Uri Mashiach wrote: >> >> >> On 02/13/2017 01:46 PM, Lokesh Vutla wrote: >>> >>> >>> On Sunday 12 February 2017 09:17 PM, Tom Rini wrote: >>>> On Sun, Feb 12, 2017 at 10:55:27AM +0200, Uri Mashiach wrote: >>>>> Hi Tom, >>>>> >>>>> On 02/09/2017 10:29 PM, Tom Rini wrote: >>>>>> On Thu, Feb 09, 2017 at 09:00:26AM +0200, Uri Mashiach wrote: >>>>>> >>>>>>> The following XHCI registers base address are set to OMAP5 values: >>>>>>> OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE >>>>>>> >>>>>>> Captured crash for "usb start" command: >>>>>>> ----------------------------------cut---------------------------------- >>>>>>> >>>>>>> => usb start >>>>>>> starting USB... >>>>>>> USB0: data abort >>>>>>> pc : [<fff63d22>] lr : [<fff63b63>] >>>>>>> reloc pc : [<8081cd22>] lr : [<8081cb63>] >>>>>>> sp : fdf42d08 ip : fff9e040 fp : fdf42d50 >>>>>>> r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 >>>>>>> r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 >>>>>>> r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 >>>>>>> Flags: nzCv IRQs off FIQs off Mode SVC_32 >>>>>>> Resetting CPU ... >>>>>>> >>>>>>> resetting ... >>>>>>> ----------------------------------cut---------------------------------- >>>>>>> >>>>>>> >>>>>>> Fix by adding the CL-SOM-AM57x target to the XHCI registers base >>>>>>> address >>>>>>> ifdef'ery. >>>>>>> A better fix should be based on a SOC family defines (currently >>>>>>> missing). >>>>>> >>>>>> Can you please go add the Kconfig symbols that would be the better >>>>>> solution please? Thanks! >>>>> >>>>> The SOC family symbol CONFIG_AM57XX was removed by the commit >>>>> 3891a54: "ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XX". >>>>> Maybe the symbol should be reintroduced just for the XHCI registers >>>>> section? >>>> >>>> Yes, sounds like we do have a case where DRA7xx is not the same as >>>> AM57xx then? >>>> >>> >>> No that's not right. It is just DRA74x_EVM and AM57XX evm is using >>> different instances of XHCI. Ideally this base address should be coming >>> from DT. I don't think it is a good idea to introduce CONFIG_AM57XX. >>> >>> Thanks and regards, >>> Lokesh >>> >> It seems that the address of register is SOC dependent. >> In the current method all the target boards that use the relevant SOC >> should be included in the ifdef'ery - redundant maintenance. > > Please have a look at the TRMs. DRA7xx[1], AM57xx[2]. Both has the above > two instances of XHCI. There is no difference. > > [1] http://www.ti.com/lit/ug/sprui30b/sprui30b.pdf > [2] http://www.ti.com/lit/ug/spruhz6h/spruhz6h.pdf > > Thanks and regards, > Lokesh > The fact that the two SOCs share the same registers base doesn't contradict the approach of selecting the registers based on the SOC. I agree that the resolution should be higher. The exact SOC id (CONFIG_AM572X, CONFIG_DRA74X, CONFIG_DRA75X...) should be determined by the target selection - board file or Kconfig. The ifdef'ery should include the exact SOCs id. According to the provided TRMs, CONFIG_AM572X and CONFIG_DRA74X will be located in the same ifdef'ery case.
diff --git a/include/linux/usb/xhci-omap.h b/include/linux/usb/xhci-omap.h index 9de80d7..89665a0 100644 --- a/include/linux/usb/xhci-omap.h +++ b/include/linux/usb/xhci-omap.h @@ -14,7 +14,7 @@ #define OMAP_XHCI_BASE 0x488d0000 #define OMAP_OCP1_SCP_BASE 0x4A081000 #define OMAP_OTG_WRAPPER_BASE 0x488c0000 -#elif defined CONFIG_TARGET_AM57XX_EVM +#elif defined(CONFIG_TARGET_AM57XX_EVM) || defined(CONFIG_TARGET_CL_SOM_AM57X) #define OMAP_XHCI_BASE 0x48890000 #define OMAP_OCP1_SCP_BASE 0x4A084c00 #define OMAP_OTG_WRAPPER_BASE 0x48880000
The following XHCI registers base address are set to OMAP5 values: OMAP_XHCI_BASE, OMAP_OCP1_SCP_BASE, OMAP_OTG_WRAPPER_BASE Captured crash for "usb start" command: ----------------------------------cut---------------------------------- => usb start starting USB... USB0: data abort pc : [<fff63d22>] lr : [<fff63b63>] reloc pc : [<8081cd22>] lr : [<8081cb63>] sp : fdf42d08 ip : fff9e040 fp : fdf42d50 r10: fff8a998 r9 : fdf42ef0 r8 : 00000000 r7 : fdf42d28 r6 : fdf42d2c r5 : fffa5c00 r4 : 00000000 r3 : 4a020000 r2 : 00000000 r1 : fdf42e78 r0 : fffa5c00 Flags: nzCv IRQs off FIQs off Mode SVC_32 Resetting CPU ... resetting ... ----------------------------------cut---------------------------------- Fix by adding the CL-SOM-AM57x target to the XHCI registers base address ifdef'ery. A better fix should be based on a SOC family defines (currently missing). Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il> --- include/linux/usb/xhci-omap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)