From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Grinberg Date: Tue, 01 Nov 2011 13:38:48 +0200 Subject: [U-Boot] [PATCH v2 3/4] EHCI: adjust for mx5 In-Reply-To: <1320104128-19369-1-git-send-email-fermata7@gmail.com> References: <1317253971-24558-4-git-send-email-fermata7@gmail.com> <1320104128-19369-1-git-send-email-fermata7@gmail.com> Message-ID: <4EAFDA48.5050307@compulab.co.il> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 11/01/11 01:35, Jana Rapava wrote: > Add macros and structures needed by Efika USB support code. > Move shared offset and bits definitions into common header file. > > Signed-off-by: Jana Rapava > Cc: Marek Vasut > Cc: Remy Bohmer > Cc: Stefano Babic > Cc: Igor Grinberg > --- > Changes for v2: > - whitespace and coding style changes (no actual changes) > > drivers/usb/host/ehci-mxc.c | 31 +-------- > include/usb/ehci-fsl.h | 146 ++++++++++++++++++++++++++++++++++++++++++- > 2 files changed, 148 insertions(+), 29 deletions(-) [...] > diff --git a/include/usb/ehci-fsl.h b/include/usb/ehci-fsl.h > index 67600ed..f957c65 100644 > --- a/include/usb/ehci-fsl.h > +++ b/include/usb/ehci-fsl.h [...] > + > +/* > +* ULPI > +*/ missed this one? > +#define ULPI_ID_REGS_COUNT 4 > +#define ULPI_TEST_VALUE 0x55 > +#define ULPI_TIMEOUT 1000 /* some reasonable value */ > + > +/* ULPI viewport control bits */ > +#define ULPI_WU (1 << 31) > +#define ULPI_SS (1 << 27) > +#define ULPI_RWRUN (1 << 30) > +#define ULPI_RWCTRL (1 << 29) > + > +/* ULPI OTG Control bits of interest */ > +#define ULPI_OTG_EXT_VBUS_IND (1 << 7) > +#define ULPI_OTG_DM_PULLDOWN (1 << 2) > +#define ULPI_OTG_DP_PULLDOWN (1 << 1) > +#define ULPI_OTG_DRV_VBUS (1 << 5) > +#define ULPI_OTG_DRV_VBUS_EXT (1 << 6) > +#define ULPI_OTG_CHRG_VBUS (1 << 4) > + > +/* ULPI Function Control bits of interest */ > +#define ULPI_FC_XCVR_SELECT (1 << 0) > +#define ULPI_FC_OPMODE_NORMAL (0 << 3) > +#define ULPI_FC_SUSPENDM_PWRED (1 << 6) These are also ULPI specification defined offsets, right? So the same as for the below, should apply. [...] > + > +struct mxc_ulpi_regs { > + u8 vendor_id_low; /* 0x00 - Vendor ID lower byte */ > + u8 vendor_id_high; /* 0x01 - Vendor ID upper byte */ > + u8 product_id_low; /* 0x02 - Product ID lower byte */ > + u8 product_id_high; /* 0x03 - Product ID higher byte */ > + /* Function Control; 0x04 - 0x06 Read, 0x04 Write */ > + u8 function_ctrl_write; > + u8 function_ctrl_set; /* 0x05 Set */ > + u8 function_ctrl_clear; /* 0x06 Clear */ > + /* Interface Control; 0x07 - 0x09 Read, 0x07 Write */ > + u8 iface_ctrl_write; > + u8 iface_ctrl_set; /* 0x08 Set */ > + u8 iface_ctrl_clear; /* 0x09 Clear */ > + /* OTG Control; 0x0A - 0x0C Read, 0x0A Write */ > + u8 otg_ctrl_write; > + u8 otg_ctrl_set; /* 0x0B Set */ > + u8 otg_ctrl_clear; /* 0x0C Clear */ > + /* USB Interrupt Enable Rising; 0x0D - 0x0F Read, 0x0D Write */ > + u8 usb_ie_rising_write; > + u8 usb_ie_rising_set; /* 0x0E Set */ > + u8 usb_ie_rising_clear; /* 0x0F Clear */ > + /* USB Interrupt Enable Falling; 0x10 - 0x12 Read, 0x10 Write */ > + u8 usb_ie_falling_write; > + u8 usb_ie_falling_set; /* 0x11 Set */ > + u8 usb_ie_falling_clear; /* 0x12 Clear */ > + u8 usb_int_status; /* 0x13 - USB Interrupt Status */ > + u8 usb_int_latch; /* 0x14 - USB Interrupt Latch */ > + u8 debug; /* 0x15 - Debug */ > + /* Scratch Register; 0x16 - 0x18 Read, 0x16 Write */ > + u8 scratch_write; > + u8 scratch_set; /* 0x17 Set */ > + u8 scratch_clear; /* 0x18 Clear*/ > +}; Do you already have a header for the generic ULPI support? Can't the above be put in that header and the next patch set (ULPI) will just extend this? -- Regards, Igor.