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