1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * board/renesas/draak/draak.c 4 * This file is Draak board support. 5 * 6 * Copyright (C) 2017 Marek Vasut <marek.vasut+renesas@gmail.com> 7 */ 8 9 #include <asm/io.h> 10 #include <asm/arch/rcar-mstp.h> 11 #include <asm/arch/renesas.h> 12 13 #define HSUSB_MSTP704 BIT(4) /* HSUSB */ 14 15 /* HSUSB block registers */ 16 #define HSUSB_REG_LPSTS 0xE6590102 17 #define HSUSB_REG_LPSTS_SUSPM_NORMAL BIT(14) 18 #define HSUSB_REG_UGCTRL2 0xE6590184 19 #define HSUSB_REG_UGCTRL2_USB0SEL 0x30 20 #define HSUSB_REG_UGCTRL2_USB0SEL_EHCI 0x10 21 board_init(void)22int board_init(void) 23 { 24 /* USB1 pull-up */ 25 setbits_le32(PFC_PUEN6, PUEN_USB1_OVC | PUEN_USB1_PWEN); 26 27 /* Configure the HSUSB block */ 28 mstp_clrbits_le32(SMSTPCR7, SMSTPCR7, HSUSB_MSTP704); 29 /* Choice USB0SEL */ 30 clrsetbits_le32(HSUSB_REG_UGCTRL2, HSUSB_REG_UGCTRL2_USB0SEL, 31 HSUSB_REG_UGCTRL2_USB0SEL_EHCI); 32 /* low power status */ 33 setbits_le16(HSUSB_REG_LPSTS, HSUSB_REG_LPSTS_SUSPM_NORMAL); 34 35 return 0; 36 } 37