powerpc/8xxx:Add MPH controller support in USB device-tree fixup
PATCH 1/1 powerpc/8xxx:Add MPH controller support in USB device-tree fixup
Add support for fixing usb mode and phy type for MPH(Multi Port Host) USB controllers in device-tree nodes. Required for socs like P3060, P5020, etc having MPH USB controller.
--- arch/powerpc/cpu/mpc8xxx/fdt.c | 46 ++++++++++++++++++++++++++-------------- include/fdt_support.h | 4 +- 2 files changed, 32 insertions(+), 18 deletions(-)
arch/powerpc/cpu/mpc8xxx/fdt.c +30 -16
@@ -1,5 +1,5 @@/* -* Copyright 2009-2011 Freescale Semiconductor, Inc. +* Copyright 2009-2012 Freescale Semiconductor, Inc. * * This file is derived from arch/powerpc/cpu/mpc85xx/cpu.c and * arch/powerpc/cpu/mpc86xx/cpu.c. Basically this file contains
@@ -86,30 +86,38 @@ void ft_fixup_num_cores(void *blob) { }#endif /* defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) */ -#ifdef CONFIG_HAS_FSL_DR_USB +#if defined(CONFIG_HAS_FSL_DR_USB ) || defined(CONFIG_HAS_FSL_MPH_USB )static int fdt_fixup_usb_mode_phy_type (void *blob,const char *mode,const char *phy_type,int start_offset) { -const char *compat ="fsl-usb2-dr" ; +const char *compat[] = {"fsl-usb2-mph" ,"fsl-usb2-dr" };const char *prop_mode ="dr_mode" ;const char *prop_type ="phy_type" ; +char *node_type =NULL ;int node_offset;int err; node_offset =fdt_node_offset_by_compatible (blob, - start_offset, compat); + start_offset, compat[0 ]);if (node_offset <0 ) { -printf ("WARNING: could not find compatible node %s: %s.\n" , - compat,fdt_strerror (node_offset)); -return -1 ; - } + node_offset =fdt_node_offset_by_compatible (blob, + start_offset, compat[1 ]); +if (node_offset <0 ) { +printf ("WARNING: could not find compatible" +" node %s or %s: %s.\n" , compat[0 ], + compat[1 ],fdt_strerror (node_offset)); +return -1 ; + }else + node_type = (char *)compat[1 ]; + }else + node_type = (char *)compat[0 ];if (mode) { err =fdt_setprop (blob, node_offset, prop_mode, mode,strlen (mode) +1 );if (err <0 )printf ("WARNING: could not set %s for %s: %s.\n" , - prop_mode, compat,fdt_strerror (err)); + prop_mode, node_type,fdt_strerror (err)); }if (phy_type) {
@@ -117,7 +125,7 @@ static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode, strlen(phy_type) + 1);if (err <0 )printf ("WARNING: could not set %s for %s: %s.\n" , - prop_type, compat,fdt_strerror (err)); + prop_type, node_type,fdt_strerror (err)); }return node_offset;
@@ -137,28 +145,34 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd)for (i =1 ; i <=FSL_MAX_NUM_USB_CTRLS ; i++) {int mode_idx =-1 , phy_idx =-1 ; -sprintf (str,"%s%d" ,"usb" , i); +snprintf (str,5 ,"%s%d" ,"usb" , i);if (hwconfig (str)) { -for (j =0 ; j <sizeof (modes); j++) { +for (j =0 ; j <sizeof (modes)/sizeof (char *); j++) {if (hwconfig_subarg_cmp (str,"dr_mode" , modes[j])) { mode_idx = j;break ; } } -for (j =0 ; j <sizeof (phys); j++) { +for (j =0 ; j <sizeof (phys)/sizeof (char *); j++) {if (hwconfig_subarg_cmp (str,"phy_type" , phys[j])) { phy_idx = j;break ; } } -if (mode_idx >=0 ) +if (mode_idx >=0 ) { usb_mode_off =fdt_fixup_usb_mode_phy_type (blob, modes[mode_idx],NULL , usb_mode_off); -if (phy_idx >=0 ) +if (usb_mode_off <0 ) +return ; + } +if (phy_idx >=0 ) { usb_phy_off =fdt_fixup_usb_mode_phy_type (blob,NULL , phys[phy_idx], usb_phy_off); +if (usb_phy_off <0 ) +return ; + }if (!strcmp (str,"usb1" )) usb1_defined =1 ;if (mode_idx <0 && phy_idx <0 )
@@ -174,7 +188,7 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd) fdt_fixup_usb_mode_phy_type(blob, mode, phy_type, usb_off); } } -#endif /* CONFIG_HAS_FSL_DR_USB */ +#endif /* defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB) */ /* * update crypto node properties to a specified revision of the SEC
include/fdt_support.h +2 -2
@@ -61,11 +61,11 @@ int fdt_find_and_setprop(void *fdt, const char *node, const char *prop, const void *val, int len, int create);void fdt_fixup_qe_firmware (void *fdt); -#ifdef CONFIG_HAS_FSL_DR_USB +#if defined(CONFIG_HAS_FSL_DR_USB ) || defined(CONFIG_HAS_FSL_MPH_USB )void fdt_fixup_dr_usb (void *blob,bd_t *bd);#else static inline void fdt_fixup_dr_usb (void *blob,bd_t *bd) {} -#endif /* CONFIG_HAS_FSL_DR_USB */ +#endif /* defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB) */ #if defined(CONFIG_SYS_FSL_SEC_COMPAT )void fdt_fixup_crypto_node (void *blob,int sec_rev);
Signature · 1 line
1.7.1
PATCH 1/1 powerpc/8xxx:Add MPH controller support in USB device-tree fixup
Quoted 10 lines
Add support for fixing usb mode and phy type for MPH(Multi Port Host) USB controllers in device-tree nodes. Required for socs like P3060, P5020, etc having MPH USB controller.
Signed-off-by Ramneek Mehresh <[email protected]>--- arch/powerpc/cpu/mpc8xxx/fdt.c | 46 ++++++++++++++++++++++++++-------------- include/fdt_support.h | 4 +- 2 files changed, 32 insertions(+), 18
Hi,
what's the status of this patch/patchset?
Thanks
M
PATCH 1/1 powerpc/8xxx:Add MPH controller support in USB device-tree fixup
Hi Marek,
The final version of this patch is under review, didn't get any more comments, waiting for its acceptance...
http://patchwork.ozlabs.org/patch/140557/
Thanks and Regards,
Ramneek
Quoted 25 lines
-----Original Message-----
From: Marek Vasut [mailto:marex at denx.de]
Sent: Monday, February 27, 2012 4:42 AM
To: u-boot at lists.denx.de
Cc: Mehresh Ramneek-B31383
Subject: Re: [U-Boot] [PATCH]powerpc/8xxx:Add MPH controller support in USB device-tree fixupQuoted 8 lines
Add support for fixing usb mode and phy type for MPH(Multi Port Host) USB controllers in device-tree nodes.
Required for socs like P3060, P5020, etc having MPH USB controller.Signed-off-by Ramneek Mehresh <[email protected]>--- arch/powerpc/cpu/mpc8xxx/fdt.c | 46++++++++++++++++++++++++++--------------
include/fdt_support.h|
Quoted 2 lines
4 +-
2 files changed, 32 insertions(+), 18Hi,
what's the status of this patch/patchset?
Thanks
M
PATCH 1/1 powerpc/8xxx:Add MPH controller support in USB device-tree fixup
Quoted 6 lines
Hi Marek,
The final version of this patch is under review, didn't get any more comments, waiting for its acceptance...
Someone who knows PowerPC would be welcome to review this patch. Otherwise, resubmit if this is forgotten please and Cc me.
Thanks for your good work!
M
Quoted 33 lines
Thanks and Regards,
RamneekQuoted 29 lines
-----Original Message-----
From: Marek Vasut [mailto:marex at denx.de]
Sent: Monday, February 27, 2012 4:42 AM
To: u-boot at lists.denx.de
Cc: Mehresh Ramneek-B31383
Subject: Re: [U-Boot] [PATCH]powerpc/8xxx:Add MPH controller support in USB device-tree fixupQuoted 7 lines
Add support for fixing usb mode and phy type for MPH(Multi Port Host) USB controllers in device-tree nodes.
Required for socs like P3060, P5020, etc having MPH USB controller.Signed-off-by Ramneek Mehresh <[email protected]>---
Quoted 7 lines
arch/powerpc/cpu/mpc8xxx/fdt.c | 46++++++++++++++++++++++++++--------------
include/fdt_support.h4 +-
2 files changed, 32 insertions(+), 18Hi,
what's the status of this patch/patchset?
Thanks
M