From 2be83fb501d30dfc66e6afcffe7a4a1570807df4 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Wed, 21 Aug 2013 10:27:03 -0300 Subject: [PATCH 06/59] ARM: dts: imx28-evk: Allow usb peripheral mode to work Testing g_ether results in the following: [ 1.648022] using random self ethernet address [ 1.652778] using random host ethernet address [ 1.660504] usb0: HOST MAC c6:28:6a:81:dc:ff [ 1.666360] usb0: MAC 7e:81:54:16:c0:c6 [ 1.670504] using random self ethernet address [ 1.675842] using random host ethernet address [ 1.682655] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 [ 1.689332] g_ether gadget: g_ether ready [ 3.328974] irq 237: nobody cared (try booting with the "irqpoll" option) [ 3.335831] CPU: 0 PID: 1 Comm: swapper Not tainted 3.11.0-rc6-next-20130819 #1035 [ 3.343500] [] (unwind_backtrace+0x0/0xf0) from [] (show_stack+0x10/0x14) [ 3.352098] [] (show_stack+0x10/0x14) from [] (__report_bad_irq+0x20/0xc0) [ 3.360763] [] (__report_bad_irq+0x20/0xc0) from [] (note_interrupt+0x1d4/0x234) [ 3.369943] [] (note_interrupt+0x1d4/0x234) from [] (handle_irq_event_percpu+0xc4/0x268) [ 3.379815] [] (handle_irq_event_percpu+0xc4/0x268) from [] (handle_irq_event+0x3c/0x5c) [ 3.389686] [] (handle_irq_event+0x3c/0x5c) from [] (handle_level_irq+0x8c/0xe8) [ 3.398865] [] (handle_level_irq+0x8c/0xe8) from [] (generic_handle_irq+0x20/0x30) [ 3.408213] [] (generic_handle_irq+0x20/0x30) from [] (handle_IRQ+0x30/0x84) [ 3.417040] [] (handle_IRQ+0x30/0x84) from [] (__irq_svc+0x44/0x54) [ 3.425094] [] (__irq_svc+0x44/0x54) from [] (__do_softirq+0x90/0x268) [ 3.433400] [] (__do_softirq+0x90/0x268) from [] (irq_exit+0x9c/0xd8) [ 3.441619] [] (irq_exit+0x9c/0xd8) from [] (handle_IRQ+0x34/0x84) [ 3.449577] [] (handle_IRQ+0x34/0x84) from [] (__irq_svc+0x44/0x54) [ 3.457629] [] (__irq_svc+0x44/0x54) from [] (_raw_spin_unlock_irqrestore+0x34/0x44) [ 3.467164] [] (_raw_spin_unlock_irqrestore+0x34/0x44) from [] (input_register_handler+0x98/0xb4) [ 3.477835] [] (input_register_handler+0x98/0xb4) from [] (mousedev_init+0x30/0x60) [ 3.487275] [] (mousedev_init+0x30/0x60) from [] (do_one_initcall+0xe8/0x154) [ 3.496198] [] (do_one_initcall+0xe8/0x154) from [] (kernel_init_freeable+0xf0/0x1b4) [ 3.505810] [] (kernel_init_freeable+0xf0/0x1b4) from [] (kernel_init+0x8/0xe4) [ 3.514899] [] (kernel_init+0x8/0xe4) from [] (ret_from_fork+0x14/0x34) [ 3.523263] handlers: [ 3.525578] [] ci_irq [ 3.528757] Disabling IRQ #237 Provide the USB0_ID pin in the usb0 node, so that g_ether can operate correctly. Signed-off-by: Fabio Estevam Signed-off-by: Shawn Guo --- arch/arm/boot/dts/imx28-evk.dts | 2 ++ arch/arm/boot/dts/imx28.dtsi | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts index 15715d9..8cb6b6a 100644 --- a/arch/arm/boot/dts/imx28-evk.dts +++ b/arch/arm/boot/dts/imx28-evk.dts @@ -242,6 +242,8 @@ ahb@80080000 { usb0: usb@80080000 { + pinctrl-names = "default"; + pinctrl-0 = <&usb0_id_pins_a>; vbus-supply = <®_usb0_vbus>; status = "okay"; }; diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi index 7363fde..c596b6d 100644 --- a/arch/arm/boot/dts/imx28.dtsi +++ b/arch/arm/boot/dts/imx28.dtsi @@ -740,6 +740,16 @@ fsl,voltage = <1>; fsl,pull-up = <0>; }; + + usb0_id_pins_a: usb0id@0 { + reg = <0>; + fsl,pinmux-ids = < + 0x3071 /* MX28_PAD_AUART1_RTS__USB0_ID */ + >; + fsl,drive-strength = <2>; + fsl,voltage = <1>; + fsl,pull-up = <1>; + }; }; digctl: digctl@8001c000 { -- 1.8.4.rc3