mfd: TWL6030: OMAP4: Registering the TWL6030-usb device
PATCH 4/7 mfd: TWL6030: OMAP4: Registering the TWL6030-usb device
Registering the twl6030-usb transceiver device as a child to twl6030 core. Removed the NOP transceiver init call from board file.
Populated twl4030_usb_data platform data structure with the function pointers for OMAP4430 internal PHY operation to be used twl630-usb driver.
Signed-off-by Hema HK <[email protected]>
Cc Samuel Ortiz <sameo-VuQAYsv1563Yd54FQh9/[email protected]>
Cc Felipe Balbi <[email protected]>
Cc Tony Lindgren <[email protected]>
--- arch/arm/mach-omap2/board-4430sdp.c | 9 +++++- arch/arm/mach-omap2/board-omap4panda.c | 7 +++++ drivers/mfd/twl-core.c | 44 +++++++++++++++++++++++++++++---- include/linux/i2c/twl.h | 6 ++++ 4 files changed, 59 insertions(+), 7 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +8 -2
@@ -231,6 +231,13 @@ static struct omap_musb_board_data musb_ .power = 100, }; +static struct twl4030_usb_data omap4_usbphy_data = { + .phy_init = omap4430_phy_init, + .phy_exit = omap4430_phy_exit, + .phy_power = omap4430_phy_power, + .phy_set_clock = omap4430_phy_set_clk, +}; +static struct omap2_hsmmc_info mmc[] = { { .mmc =1 ,
@@ -450,6 +457,7 @@ static struct twl4030_platform_data sdp4 .vaux1 = &sdp4430_vaux1, .vaux2 = &sdp4430_vaux2, .vaux3 = &sdp4430_vaux3, + .usb = &omap4_usbphy_data };static struct i2c_board_info __initdata sdp4430_i2c_boardinfo[] = {
@@ -514,8 +522,6 @@ static void __init omap_4430sdp_init(voiplatform_add_devices (sdp4430_devices,ARRAY_SIZE (sdp4430_devices));omap_serial_init ();omap4_twl6030_hsmmc_init (mmc); -/* OMAP4 SDP uses internal transceiver so register nop transceiver */ -usb_nop_xceiv_register ();/* FIXME: allow multi-omap to boot until musb is updated for omap4 */ if (!cpu_is_omap44xx ())usb_musb_init (&musb_board_data);
drivers/mfd/twl-core.c +39 -5
62 lines not on this page · raw message
include/linux/i2c/twl.h +7 -0
@@ -593,6 +593,13 @@ enum twl4030_usb_mode {struct twl4030_usb_data {enum twl4030_usb_mode usb_mode; + +int (*phy_init)(struct device *dev); +int (*phy_exit)(struct device *dev); +/* Power on/off the PHY */ +int (*phy_power)(struct device *dev,int iD,int on); +/* enable/disable phy clocks */ +int (*phy_set_clock)(struct device *dev,int on); };struct twl4030_ins {
arch/arm/mach-omap2/board-omap4panda.c +8 -0
@@ -137,6 +137,13 @@ static struct omap_musb_board_data musb_ .power = 100, }; +static struct twl4030_usb_data omap4_usbphy_data = { + .phy_init = omap4430_phy_init, + .phy_exit = omap4430_phy_exit, + .phy_power = omap4430_phy_power, + .phy_set_clock = omap4430_phy_set_clk, +}; +static struct omap2_hsmmc_info mmc[] = { { .mmc =1 ,
@@ -345,6 +352,7 @@ static struct twl4030_platform_data omap .vaux1 = &omap4_panda_vaux1, .vaux2 = &omap4_panda_vaux2, .vaux3 = &omap4_panda_vaux3, + .usb = &omap4_usbphy_data, };static struct i2c_board_info __initdata omap4_panda_i2c_boardinfo[] = {
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html