diff options
Diffstat (limited to 'include/linux/usb/msm_hsusb.h')
| -rw-r--r-- | include/linux/usb/msm_hsusb.h | 200 | 
1 files changed, 0 insertions, 200 deletions
| diff --git a/include/linux/usb/msm_hsusb.h b/include/linux/usb/msm_hsusb.h deleted file mode 100644 index 8c8f6854c993..000000000000 --- a/include/linux/usb/msm_hsusb.h +++ /dev/null @@ -1,200 +0,0 @@ -/* linux/include/asm-arm/arch-msm/hsusb.h - * - * Copyright (C) 2008 Google, Inc. - * Author: Brian Swetland <[email protected]> - * Copyright (c) 2009-2011, Code Aurora Forum. All rights reserved. - * - * This software is licensed under the terms of the GNU General Public - * License version 2, as published by the Free Software Foundation, and - * may be copied, distributed, and modified under those terms. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - */ - -#ifndef __ASM_ARCH_MSM_HSUSB_H -#define __ASM_ARCH_MSM_HSUSB_H - -#include <linux/extcon.h> -#include <linux/types.h> -#include <linux/usb/otg.h> -#include <linux/clk.h> - -/** - * OTG control - * - * OTG_NO_CONTROL	Id/VBUS notifications not required. Useful in host - *                      only configuration. - * OTG_PHY_CONTROL	Id/VBUS notifications comes form USB PHY. - * OTG_PMIC_CONTROL	Id/VBUS notifications comes from PMIC hardware. - * OTG_USER_CONTROL	Id/VBUS notifcations comes from User via sysfs. - * - */ -enum otg_control_type { -	OTG_NO_CONTROL = 0, -	OTG_PHY_CONTROL, -	OTG_PMIC_CONTROL, -	OTG_USER_CONTROL, -}; - -/** - * PHY used in - * - * INVALID_PHY			Unsupported PHY - * CI_45NM_INTEGRATED_PHY	Chipidea 45nm integrated PHY - * SNPS_28NM_INTEGRATED_PHY	Synopsis 28nm integrated PHY - * - */ -enum msm_usb_phy_type { -	INVALID_PHY = 0, -	CI_45NM_INTEGRATED_PHY, -	SNPS_28NM_INTEGRATED_PHY, -}; - -#define IDEV_CHG_MAX	1500 -#define IUNIT		100 - -/** - * Different states involved in USB charger detection. - * - * USB_CHG_STATE_UNDEFINED	USB charger is not connected or detection - *                              process is not yet started. - * USB_CHG_STATE_WAIT_FOR_DCD	Waiting for Data pins contact. - * USB_CHG_STATE_DCD_DONE	Data pin contact is detected. - * USB_CHG_STATE_PRIMARY_DONE	Primary detection is completed (Detects - *                              between SDP and DCP/CDP). - * USB_CHG_STATE_SECONDARY_DONE	Secondary detection is completed (Detects - *                              between DCP and CDP). - * USB_CHG_STATE_DETECTED	USB charger type is determined. - * - */ -enum usb_chg_state { -	USB_CHG_STATE_UNDEFINED = 0, -	USB_CHG_STATE_WAIT_FOR_DCD, -	USB_CHG_STATE_DCD_DONE, -	USB_CHG_STATE_PRIMARY_DONE, -	USB_CHG_STATE_SECONDARY_DONE, -	USB_CHG_STATE_DETECTED, -}; - -/** - * USB charger types - * - * USB_INVALID_CHARGER	Invalid USB charger. - * USB_SDP_CHARGER	Standard downstream port. Refers to a downstream port - *                      on USB2.0 compliant host/hub. - * USB_DCP_CHARGER	Dedicated charger port (AC charger/ Wall charger). - * USB_CDP_CHARGER	Charging downstream port. Enumeration can happen and - *                      IDEV_CHG_MAX can be drawn irrespective of USB state. - * - */ -enum usb_chg_type { -	USB_INVALID_CHARGER = 0, -	USB_SDP_CHARGER, -	USB_DCP_CHARGER, -	USB_CDP_CHARGER, -}; - -/** - * struct msm_otg_platform_data - platform device data - *              for msm_otg driver. - * @phy_init_seq: PHY configuration sequence values. Value of -1 is reserved as - *              "do not overwrite default vaule at this address". - * @phy_init_sz: PHY configuration sequence size. - * @vbus_power: VBUS power on/off routine. - * @power_budget: VBUS power budget in mA (0 will be treated as 500mA). - * @mode: Supported mode (OTG/peripheral/host). - * @otg_control: OTG switch controlled by user/Id pin - */ -struct msm_otg_platform_data { -	int *phy_init_seq; -	int phy_init_sz; -	void (*vbus_power)(bool on); -	unsigned power_budget; -	enum usb_dr_mode mode; -	enum otg_control_type otg_control; -	enum msm_usb_phy_type phy_type; -	void (*setup_gpio)(enum usb_otg_state state); -}; - -/** - * struct msm_usb_cable - structure for exteternal connector cable - *			  state tracking - * @nb: hold event notification callback - * @conn: used for notification registration - */ -struct msm_usb_cable { -	struct notifier_block		nb; -	struct extcon_dev		*extcon; -}; - -/** - * struct msm_otg: OTG driver data. Shared by HCD and DCD. - * @otg: USB OTG Transceiver structure. - * @pdata: otg device platform data. - * @irq: IRQ number assigned for HSUSB controller. - * @clk: clock struct of usb_hs_clk. - * @pclk: clock struct of usb_hs_pclk. - * @core_clk: clock struct of usb_hs_core_clk. - * @regs: ioremapped register base address. - * @inputs: OTG state machine inputs(Id, SessValid etc). - * @sm_work: OTG state machine work. - * @in_lpm: indicates low power mode (LPM) state. - * @async_int: Async interrupt arrived. - * @cur_power: The amount of mA available from downstream port. - * @chg_work: Charger detection work. - * @chg_state: The state of charger detection process. - * @chg_type: The type of charger attached. - * @dcd_retires: The retry count used to track Data contact - *               detection process. - * @manual_pullup: true if VBUS is not routed to USB controller/phy - *	and controller driver therefore enables pull-up explicitly before - *	starting controller using usbcmd run/stop bit. - * @vbus: VBUS signal state trakining, using extcon framework - * @id: ID signal state trakining, using extcon framework - * @switch_gpio: Descriptor for GPIO used to control external Dual - *               SPDT USB Switch. - * @reboot: Used to inform the driver to route USB D+/D- line to Device - *	    connector - */ -struct msm_otg { -	struct usb_phy phy; -	struct msm_otg_platform_data *pdata; -	int irq; -	struct clk *clk; -	struct clk *pclk; -	struct clk *core_clk; -	void __iomem *regs; -#define ID		0 -#define B_SESS_VLD	1 -	unsigned long inputs; -	struct work_struct sm_work; -	atomic_t in_lpm; -	int async_int; -	unsigned cur_power; -	int phy_number; -	struct delayed_work chg_work; -	enum usb_chg_state chg_state; -	enum usb_chg_type chg_type; -	u8 dcd_retries; -	struct regulator *v3p3; -	struct regulator *v1p8; -	struct regulator *vddcx; - -	struct reset_control *phy_rst; -	struct reset_control *link_rst; -	int vdd_levels[3]; - -	bool manual_pullup; - -	struct msm_usb_cable vbus; -	struct msm_usb_cable id; - -	struct gpio_desc *switch_gpio; -	struct notifier_block reboot; -}; - -#endif |