powerpc/82xx: Add CPM USB Gadget support for MPC8272ADS boards
Subsystems (2)
PATCH 2/3 powerpc/82xx: Add CPM USB Gadget support for MPC8272ADS boards
- Add usb node;
- Configure pins and clocks;
- Enable USB function in BCSR.
The support was successfully tested using serial and ethernet gadget drivers.
Signed-off-by Anton Vorontsov <[email protected]>
--- arch/powerpc/boot/dts/mpc8272ads.dts | 8 ++++++++ arch/powerpc/platforms/82xx/mpc8272_ads.c | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-)
arch/powerpc/boot/dts/mpc8272ads.dts +8 -0
@@ -173,6 +173,14 @@ fsl,cpm-command = <0xce00000>; }; + usb@11b60 { + compatible = "fsl,mpc8272-cpm-usb"; + reg = <0x11b60 0x40 0x8b00 0x100>; + interrupts = <11 8>; + interrupt-parent = <&PIC>; + mode = "peripheral"; + }; + mdio@10d40 { device_type = "mdio"; compatible = "fsl,mpc8272ads-mdio-bitbang",
arch/powerpc/platforms/82xx/mpc8272_ads.c +14 -0
@@ -99,6 +99,15 @@ static struct cpm_pin mpc8272_ads_pins[] = {/* I2C */ {3, 14, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_OPENDRAIN}, {3, 15, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_OPENDRAIN}, + +/* USB */ + {2, 10, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + {2, 11, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + {2, 20, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, + {2, 24, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + {3, 23, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, + {3, 24, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, + {3, 25, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, };static void __init init_ioports (void )
@@ -112,6 +121,8 @@ static void __init init_ioports(void)cpm2_clk_setup (CPM_CLK_SCC1 ,CPM_BRG1 ,CPM_CLK_RX );cpm2_clk_setup (CPM_CLK_SCC1 ,CPM_BRG1 ,CPM_CLK_TX ); +cpm2_clk_setup (CPM_CLK_SCC3 ,CPM_CLK8 ,CPM_CLK_RX ); +cpm2_clk_setup (CPM_CLK_SCC3 ,CPM_CLK8 ,CPM_CLK_TX );cpm2_clk_setup (CPM_CLK_SCC4 ,CPM_BRG4 ,CPM_CLK_RX );cpm2_clk_setup (CPM_CLK_SCC4 ,CPM_BRG4 ,CPM_CLK_TX );cpm2_clk_setup (CPM_CLK_FCC1 ,CPM_CLK11 ,CPM_CLK_RX );
@@ -147,6 +158,7 @@ static void __init mpc8272_ads_setup_arch(void)#define BCSR1_FETH_RST 0x04000000#define BCSR1_RS232_EN1 0x02000000#define BCSR1_RS232_EN2 0x01000000 +#define BCSR3_USB_nEN 0x80000000#define BCSR3_FETHIEN2 0x10000000#define BCSR3_FETH2_RST 0x08000000
@@ -156,6 +168,8 @@ static void __init mpc8272_ads_setup_arch(void)clrbits32 (&bcsr[3 ],BCSR3_FETHIEN2 );setbits32 (&bcsr[3 ],BCSR3_FETH2_RST ); +clrbits32 (&bcsr[3 ], BCSR3_USB_nEN); +iounmap (bcsr);init_ioports ();
Signature · 1 line
1.6.3.3
Kumar Gala
AppliedQuoted 4 lines · Anton Vorontsov
- Add usb node;
- Configure pins and clocks;
- Enable USB function in BCSR.
Quoted 8 lines
The support was successfully tested using serial and ethernet gadget drivers.
Signed-off-by Anton Vorontsov <[email protected]>---
arch/powerpc/boot/dts/mpc8272ads.dts| 8 ++++++++arch/powerpc/platforms/82xx/mpc8272_ads.c| 14 ++++++++++++++2 files changed, 22 insertions(+), 0 deletions(-)
applied to next.
- k