summaryrefslogtreecommitdiff
path: root/board/renesas/salvator-x
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut@gmail.com>2017-09-12 19:07:21 +0200
committerNobuhiro Iwamatsu <iwamatsu@nigauri.org>2017-09-12 19:07:21 +0200
commitafb19d65d9a69635bed197f1d3be492e6bfe85d4 (patch)
treea75fea38e41ea011156cc2208a1a6dea3f06c2af /board/renesas/salvator-x
parent1d871465c447baca33154152c046cf5bd27531ac (diff)
ARM: rmobile: Move HSUSB configuration to board on Salvator-X
In order to use ehci-generic driver, move the configuration of HSUSB block into the board file. This configuration should not have been in the Gen3 EHCI USB driver in the first place, so move it to the board file until there is a proper infrastructure and driver for the HSUSB block. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Diffstat (limited to 'board/renesas/salvator-x')
-rw-r--r--board/renesas/salvator-x/salvator-x.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c
index e260117802..37fcbbd448 100644
--- a/board/renesas/salvator-x/salvator-x.c
+++ b/board/renesas/salvator-x/salvator-x.c
@@ -55,6 +55,7 @@ void s_init(void)
#define SD1_MSTP313 BIT(13)
#define SD2_MSTP312 BIT(12) /* either MMC0 */
#define SD3_MSTP311 BIT(11) /* either MMC1 */
+#define HSUSB_MSTP704 BIT(4) /* HSUSB */
#define SD0CKCR 0xE6150074
#define SD1CKCR 0xE6150078
@@ -92,6 +93,13 @@ int board_early_init_f(void)
/* -/W 32 Power resume control register 2 (3DG) */
#define SYSC_PWRONCR2 0xE618010C
+/* HSUSB block registers */
+#define HSUSB_REG_LPSTS 0xE6590102
+#define HSUSB_REG_LPSTS_SUSPM_NORMAL BIT(14)
+#define HSUSB_REG_UGCTRL2 0xE6590184
+#define HSUSB_REG_UGCTRL2_USB0SEL 0x30
+#define HSUSB_REG_UGCTRL2_USB0SEL_EHCI 0x10
+
int board_init(void)
{
/* adress of boot parameters */
@@ -116,6 +124,14 @@ int board_init(void)
/* USB1 pull-up */
setbits_le32(PFC_PUEN6, PUEN_USB1_OVC | PUEN_USB1_PWEN);
+ /* Configure the HSUSB block */
+ mstp_clrbits_le32(MSTPSR7, SMSTPCR7, HSUSB_MSTP704);
+ /* Choice USB0SEL */
+ clrsetbits_le32(HSUSB_REG_UGCTRL2, HSUSB_REG_UGCTRL2_USB0SEL,
+ HSUSB_REG_UGCTRL2_USB0SEL_EHCI);
+ /* low power status */
+ setbits_le16(HSUSB_REG_LPSTS, HSUSB_REG_LPSTS_SUSPM_NORMAL);
+
#ifdef CONFIG_RENESAS_RAVB
/* EtherAVB Enable */
/* GPSR2 */