xref: /openbmc/u-boot/include/configs/ulcb.h (revision a3b36c84)
1 /*
2  * include/configs/ulcb.h
3  *     This file is ULCB board configuration.
4  *
5  * Copyright (C) 2017 Renesas Electronics Corporation
6  *
7  * SPDX-License-Identifier: GPL-2.0+
8  */
9 
10 #ifndef __ULCB_H
11 #define __ULCB_H
12 
13 #undef DEBUG
14 
15 #define CONFIG_RCAR_BOARD_STRING "ULCB"
16 
17 #include "rcar-gen3-common.h"
18 
19 /* M3 ULCB has 2 banks, each with 1 GiB of RAM */
20 #if defined(CONFIG_R8A7796)
21 #undef PHYS_SDRAM_1_SIZE
22 #undef PHYS_SDRAM_2_SIZE
23 #define PHYS_SDRAM_1_SIZE		(0x40000000u - DRAM_RSV_SIZE)
24 #define PHYS_SDRAM_2_SIZE		0x40000000u
25 #endif
26 
27 /* SCIF */
28 #define CONFIG_CONS_SCIF2
29 #define CONFIG_CONS_INDEX	2
30 #define CONFIG_SH_SCIF_CLK_FREQ        CONFIG_S3D4_CLK_FREQ
31 
32 /* [A] Hyper Flash */
33 /* use to RPC(SPI Multi I/O Bus Controller) */
34 
35 /* Ethernet RAVB */
36 #define CONFIG_PHY_MICREL
37 #define CONFIG_BITBANGMII
38 #define CONFIG_BITBANGMII_MULTI
39 
40 /* Board Clock */
41 /* XTAL_CLK : 33.33MHz */
42 #define RCAR_XTAL_CLK		33333333u
43 #define CONFIG_SYS_CLK_FREQ	RCAR_XTAL_CLK
44 /* ch0to2 CPclk, ch3to11 S3D2_PEREclk, ch12to14 S3D2_RTclk */
45 /* CPclk 16.66MHz, S3D2 133.33MHz , S3D4 66.66MHz          */
46 #define CONFIG_CP_CLK_FREQ	(CONFIG_SYS_CLK_FREQ / 2)
47 #define CONFIG_PLL1_CLK_FREQ	(CONFIG_SYS_CLK_FREQ * 192 / 2)
48 #define CONFIG_S3D2_CLK_FREQ	(266666666u/2)
49 #define CONFIG_S3D4_CLK_FREQ	(266666666u/4)
50 
51 /* Generic Timer Definitions (use in assembler source) */
52 #define COUNTER_FREQUENCY	0xFE502A	/* 16.66MHz from CPclk */
53 
54 /* Generic Interrupt Controller Definitions */
55 #define CONFIG_GICV2
56 #define GICD_BASE	0xF1010000
57 #define GICC_BASE	0xF1020000
58 
59 /* CPLD SPI */
60 #define CONFIG_CMD_SPI
61 #define CONFIG_SOFT_SPI
62 #define SPI_DELAY	udelay(0)
63 #define SPI_SDA(val)	ulcb_softspi_sda(val)
64 #define SPI_SCL(val)	ulcb_softspi_scl(val)
65 #define SPI_READ	ulcb_softspi_read()
66 #ifndef	__ASSEMBLY__
67 void ulcb_softspi_sda(int);
68 void ulcb_softspi_scl(int);
69 unsigned char ulcb_softspi_read(void);
70 #endif
71 
72 /* i2c */
73 #define CONFIG_SYS_I2C
74 #define CONFIG_SYS_I2C_SH
75 #define CONFIG_SYS_I2C_SLAVE		0x60
76 #define CONFIG_SYS_I2C_SH_NUM_CONTROLLERS	1
77 #define CONFIG_SYS_I2C_SH_SPEED0	400000
78 #define CONFIG_SH_I2C_DATA_HIGH		4
79 #define CONFIG_SH_I2C_DATA_LOW		5
80 #define CONFIG_SH_I2C_CLOCK		10000000
81 
82 #define CONFIG_SYS_I2C_POWERIC_ADDR	0x30
83 
84 /* USB */
85 #ifdef CONFIG_R8A7795
86 #define CONFIG_USB_MAX_CONTROLLER_COUNT	3
87 #else
88 #define CONFIG_USB_MAX_CONTROLLER_COUNT	2
89 #endif
90 
91 /* SDHI */
92 #define CONFIG_SH_SDHI_FREQ		200000000
93 
94 /* Environment in eMMC, at the end of 2nd "boot sector" */
95 #define CONFIG_ENV_OFFSET		(-CONFIG_ENV_SIZE)
96 #define CONFIG_SYS_MMC_ENV_DEV		1
97 #define CONFIG_SYS_MMC_ENV_PART		2
98 
99 /* Module stop status bits */
100 /* MFIS, SCIF1 */
101 #define CONFIG_SMSTP2_ENA	0x00002040
102 /* SCIF2 */
103 #define CONFIG_SMSTP3_ENA	0x00000400
104 /* INTC-AP, IRQC */
105 #define CONFIG_SMSTP4_ENA	0x00000180
106 
107 #endif /* __ULCB_H */
108