11a31ca4aSHideyuki Sano /*
21a31ca4aSHideyuki Sano * Copyright (C) 2012 Renesas Solutions Corp.
31a31ca4aSHideyuki Sano *
41a31ca4aSHideyuki Sano * See file CREDITS for list of people who contributed to this
51a31ca4aSHideyuki Sano * project.
61a31ca4aSHideyuki Sano *
71a31ca4aSHideyuki Sano * This program is free software; you can redistribute it and/or
81a31ca4aSHideyuki Sano * modify it under the terms of the GNU General Public License as
91a31ca4aSHideyuki Sano * published by the Free Software Foundation; either version 2 of
101a31ca4aSHideyuki Sano * the License.
111a31ca4aSHideyuki Sano *
121a31ca4aSHideyuki Sano * This program is distributed in the hope that it will be useful,
131a31ca4aSHideyuki Sano * but WITHOUT ANY WARRANTY; without even the implied warranty of
141a31ca4aSHideyuki Sano * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
151a31ca4aSHideyuki Sano * GNU General Public License for more details.
161a31ca4aSHideyuki Sano *
171a31ca4aSHideyuki Sano * You should have received a copy of the GNU General Public License
181a31ca4aSHideyuki Sano * along with this program; if not, write to the Free Software
191a31ca4aSHideyuki Sano * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
201a31ca4aSHideyuki Sano * MA 02111-1307 USA
211a31ca4aSHideyuki Sano */
221a31ca4aSHideyuki Sano
231a31ca4aSHideyuki Sano #include <common.h>
241a31ca4aSHideyuki Sano #include <malloc.h>
251a31ca4aSHideyuki Sano #include <asm/processor.h>
261a31ca4aSHideyuki Sano #include <asm/mach-types.h>
271a31ca4aSHideyuki Sano #include <asm/io.h>
281a31ca4aSHideyuki Sano #include <asm/arch/sys_proto.h>
291a31ca4aSHideyuki Sano #include <asm/gpio.h>
301a31ca4aSHideyuki Sano #include <asm/arch/rmobile.h>
311a31ca4aSHideyuki Sano
321a31ca4aSHideyuki Sano #define s_init_wait(cnt) \
331a31ca4aSHideyuki Sano ({ \
341a31ca4aSHideyuki Sano volatile u32 i = 0x10000 * cnt; \
351a31ca4aSHideyuki Sano while (i > 0) \
361a31ca4aSHideyuki Sano i--; \
371a31ca4aSHideyuki Sano })
381a31ca4aSHideyuki Sano
391a31ca4aSHideyuki Sano #define USBCR1 0xE605810A
401a31ca4aSHideyuki Sano
s_init(void)411a31ca4aSHideyuki Sano void s_init(void)
421a31ca4aSHideyuki Sano {
431a31ca4aSHideyuki Sano struct r8a7740_rwdt *rwdt0 = (struct r8a7740_rwdt *)RWDT0_BASE;
441a31ca4aSHideyuki Sano struct r8a7740_rwdt *rwdt1 = (struct r8a7740_rwdt *)RWDT1_BASE;
451a31ca4aSHideyuki Sano struct r8a7740_cpg *cpg = (struct r8a7740_cpg *)CPG_BASE;
461a31ca4aSHideyuki Sano struct r8a7740_bsc *bsc = (struct r8a7740_bsc *)BSC_BASE;
471a31ca4aSHideyuki Sano struct r8a7740_ddrp *ddrp = (struct r8a7740_ddrp *)DDRP_BASE;
481a31ca4aSHideyuki Sano struct r8a7740_dbsc *dbsc = (struct r8a7740_dbsc *)DBSC_BASE;
491a31ca4aSHideyuki Sano
501a31ca4aSHideyuki Sano /* Watchdog init */
511a31ca4aSHideyuki Sano writew(0xA500, &rwdt0->rwtcsra0);
521a31ca4aSHideyuki Sano writew(0xA500, &rwdt1->rwtcsra0);
531a31ca4aSHideyuki Sano
541a31ca4aSHideyuki Sano /* CPG */
551a31ca4aSHideyuki Sano writel(0xFF800080, &cpg->rmstpcr4);
561a31ca4aSHideyuki Sano writel(0xFF800080, &cpg->smstpcr4);
571a31ca4aSHideyuki Sano
581a31ca4aSHideyuki Sano /* USB clock */
591a31ca4aSHideyuki Sano writel(0x00000080, &cpg->usbckcr);
601a31ca4aSHideyuki Sano s_init_wait(1);
611a31ca4aSHideyuki Sano
621a31ca4aSHideyuki Sano /* USBCR1 */
631a31ca4aSHideyuki Sano writew(0x0710, USBCR1);
641a31ca4aSHideyuki Sano
651a31ca4aSHideyuki Sano /* FRQCR */
661a31ca4aSHideyuki Sano writel(0x00000000, &cpg->frqcrb);
671a31ca4aSHideyuki Sano writel(0x62030533, &cpg->frqcra);
681a31ca4aSHideyuki Sano writel(0x208A354E, &cpg->frqcrc);
691a31ca4aSHideyuki Sano writel(0x80331050, &cpg->frqcrb);
701a31ca4aSHideyuki Sano s_init_wait(1);
711a31ca4aSHideyuki Sano
721a31ca4aSHideyuki Sano writel(0x00000000, &cpg->frqcrd);
731a31ca4aSHideyuki Sano s_init_wait(1);
741a31ca4aSHideyuki Sano
751a31ca4aSHideyuki Sano /* SUBClk */
761a31ca4aSHideyuki Sano writel(0x0000010B, &cpg->subckcr);
771a31ca4aSHideyuki Sano
781a31ca4aSHideyuki Sano /* PLL */
791a31ca4aSHideyuki Sano writel(0x00004004, &cpg->pllc01cr);
801a31ca4aSHideyuki Sano s_init_wait(1);
811a31ca4aSHideyuki Sano
821a31ca4aSHideyuki Sano writel(0xa0000000, &cpg->pllc2cr);
831a31ca4aSHideyuki Sano s_init_wait(2);
841a31ca4aSHideyuki Sano
851a31ca4aSHideyuki Sano /* BSC */
861a31ca4aSHideyuki Sano writel(0x0000001B, &bsc->cmncr);
871a31ca4aSHideyuki Sano
881a31ca4aSHideyuki Sano writel(0x20000000, &dbsc->dbcmd);
891a31ca4aSHideyuki Sano writel(0x10009C40, &dbsc->dbcmd);
901a31ca4aSHideyuki Sano s_init_wait(1);
911a31ca4aSHideyuki Sano
921a31ca4aSHideyuki Sano writel(0x00000007, &dbsc->dbkind);
931a31ca4aSHideyuki Sano writel(0x0E030A02, &dbsc->dbconf0);
941a31ca4aSHideyuki Sano writel(0x00000001, &dbsc->dbphytype);
951a31ca4aSHideyuki Sano writel(0x00000000, &dbsc->dbbl);
961a31ca4aSHideyuki Sano writel(0x00000006, &dbsc->dbtr0);
971a31ca4aSHideyuki Sano writel(0x00000005, &dbsc->dbtr1);
981a31ca4aSHideyuki Sano writel(0x00000000, &dbsc->dbtr2);
991a31ca4aSHideyuki Sano writel(0x00000006, &dbsc->dbtr3);
1001a31ca4aSHideyuki Sano writel(0x00080006, &dbsc->dbtr4);
1011a31ca4aSHideyuki Sano writel(0x00000015, &dbsc->dbtr5);
1021a31ca4aSHideyuki Sano writel(0x0000000f, &dbsc->dbtr6);
1031a31ca4aSHideyuki Sano writel(0x00000004, &dbsc->dbtr7);
1041a31ca4aSHideyuki Sano writel(0x00000018, &dbsc->dbtr8);
1051a31ca4aSHideyuki Sano writel(0x00000006, &dbsc->dbtr9);
1061a31ca4aSHideyuki Sano writel(0x00000006, &dbsc->dbtr10);
1071a31ca4aSHideyuki Sano writel(0x0000000F, &dbsc->dbtr11);
1081a31ca4aSHideyuki Sano writel(0x0000000D, &dbsc->dbtr12);
1091a31ca4aSHideyuki Sano writel(0x000000A0, &dbsc->dbtr13);
1101a31ca4aSHideyuki Sano writel(0x000A0003, &dbsc->dbtr14);
1111a31ca4aSHideyuki Sano writel(0x00000003, &dbsc->dbtr15);
1121a31ca4aSHideyuki Sano writel(0x40005005, &dbsc->dbtr16);
1131a31ca4aSHideyuki Sano writel(0x0C0C0000, &dbsc->dbtr17);
1141a31ca4aSHideyuki Sano writel(0x00000200, &dbsc->dbtr18);
1151a31ca4aSHideyuki Sano writel(0x00000040, &dbsc->dbtr19);
1161a31ca4aSHideyuki Sano writel(0x00000001, &dbsc->dbrnk0);
1171a31ca4aSHideyuki Sano writel(0x00000110, &dbsc->dbdficnt);
1181a31ca4aSHideyuki Sano writel(0x00000101, &ddrp->funcctrl);
1191a31ca4aSHideyuki Sano writel(0x00000001, &ddrp->dllctrl);
1201a31ca4aSHideyuki Sano writel(0x00000186, &ddrp->zqcalctrl);
1211a31ca4aSHideyuki Sano writel(0xB3440051, &ddrp->zqodtctrl);
1221a31ca4aSHideyuki Sano writel(0x94449443, &ddrp->rdctrl);
1231a31ca4aSHideyuki Sano writel(0x000000C0, &ddrp->rdtmg);
1241a31ca4aSHideyuki Sano writel(0x00000101, &ddrp->fifoinit);
1251a31ca4aSHideyuki Sano writel(0x02060506, &ddrp->outctrl);
1261a31ca4aSHideyuki Sano writel(0x00004646, &ddrp->dqcalofs1);
1271a31ca4aSHideyuki Sano writel(0x00004646, &ddrp->dqcalofs2);
1281a31ca4aSHideyuki Sano writel(0x800000aa, &ddrp->dqcalexp);
1291a31ca4aSHideyuki Sano writel(0x00000000, &ddrp->dllctrl);
1301a31ca4aSHideyuki Sano writel(0x00000000, DDRPNCNT);
1311a31ca4aSHideyuki Sano
1321a31ca4aSHideyuki Sano writel(0x0000000C, &dbsc->dbcmd);
1331a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1341a31ca4aSHideyuki Sano s_init_wait(1);
1351a31ca4aSHideyuki Sano
1361a31ca4aSHideyuki Sano writel(0x00000002, DDRPNCNT);
1371a31ca4aSHideyuki Sano
1381a31ca4aSHideyuki Sano writel(0x0000000C, &dbsc->dbcmd);
1391a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1401a31ca4aSHideyuki Sano s_init_wait(1);
1411a31ca4aSHideyuki Sano
1421a31ca4aSHideyuki Sano writel(0x00000187, &ddrp->zqcalctrl);
1431a31ca4aSHideyuki Sano
1441a31ca4aSHideyuki Sano writel(0x00009C40, &dbsc->dbcmd);
1451a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1461a31ca4aSHideyuki Sano s_init_wait(1);
1471a31ca4aSHideyuki Sano
1481a31ca4aSHideyuki Sano writel(0x00009C40, &dbsc->dbcmd);
1491a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1501a31ca4aSHideyuki Sano s_init_wait(1);
1511a31ca4aSHideyuki Sano
1521a31ca4aSHideyuki Sano writel(0x00000010, &dbsc->dbdficnt);
1531a31ca4aSHideyuki Sano writel(0x02060507, &ddrp->outctrl);
1541a31ca4aSHideyuki Sano
1551a31ca4aSHideyuki Sano writel(0x00009C40, &dbsc->dbcmd);
1561a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1571a31ca4aSHideyuki Sano s_init_wait(1);
1581a31ca4aSHideyuki Sano
1591a31ca4aSHideyuki Sano writel(0x21009C40, &dbsc->dbcmd);
1601a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1611a31ca4aSHideyuki Sano s_init_wait(1);
1621a31ca4aSHideyuki Sano
1631a31ca4aSHideyuki Sano writel(0x00009C40, &dbsc->dbcmd);
1641a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1651a31ca4aSHideyuki Sano s_init_wait(1);
1661a31ca4aSHideyuki Sano
1671a31ca4aSHideyuki Sano writel(0x00009C40, &dbsc->dbcmd);
1681a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1691a31ca4aSHideyuki Sano s_init_wait(1);
1701a31ca4aSHideyuki Sano
1711a31ca4aSHideyuki Sano writel(0x00009C40, &dbsc->dbcmd);
1721a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1731a31ca4aSHideyuki Sano s_init_wait(1);
1741a31ca4aSHideyuki Sano
1751a31ca4aSHideyuki Sano writel(0x00009C40, &dbsc->dbcmd);
1761a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1771a31ca4aSHideyuki Sano s_init_wait(1);
1781a31ca4aSHideyuki Sano
1791a31ca4aSHideyuki Sano writel(0x11000044, &dbsc->dbcmd);
1801a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1811a31ca4aSHideyuki Sano s_init_wait(1);
1821a31ca4aSHideyuki Sano
1831a31ca4aSHideyuki Sano writel(0x2A000000, &dbsc->dbcmd);
1841a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1851a31ca4aSHideyuki Sano s_init_wait(1);
1861a31ca4aSHideyuki Sano
1871a31ca4aSHideyuki Sano writel(0x2B000000, &dbsc->dbcmd);
1881a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1891a31ca4aSHideyuki Sano
1901a31ca4aSHideyuki Sano writel(0x29000004, &dbsc->dbcmd);
1911a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1921a31ca4aSHideyuki Sano
1931a31ca4aSHideyuki Sano writel(0x28001520, &dbsc->dbcmd);
1941a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1951a31ca4aSHideyuki Sano s_init_wait(1);
1961a31ca4aSHideyuki Sano
1971a31ca4aSHideyuki Sano writel(0x03000200, &dbsc->dbcmd);
1981a31ca4aSHideyuki Sano readl(&dbsc->dbwait);
1991a31ca4aSHideyuki Sano s_init_wait(1);
2001a31ca4aSHideyuki Sano
2011a31ca4aSHideyuki Sano writel(0x000001FF, &dbsc->dbrfcnf0);
2021a31ca4aSHideyuki Sano writel(0x00010C30, &dbsc->dbrfcnf1);
2031a31ca4aSHideyuki Sano writel(0x00000000, &dbsc->dbrfcnf2);
2041a31ca4aSHideyuki Sano
2051a31ca4aSHideyuki Sano writel(0x00000001, &dbsc->dbrfen);
2061a31ca4aSHideyuki Sano writel(0x00000001, &dbsc->dbacen);
2071a31ca4aSHideyuki Sano
2081a31ca4aSHideyuki Sano /* BSC */
2091a31ca4aSHideyuki Sano writel(0x00410400, &bsc->cs0bcr);
2101a31ca4aSHideyuki Sano writel(0x00410400, &bsc->cs2bcr);
2111a31ca4aSHideyuki Sano writel(0x00410400, &bsc->cs5bbcr);
2121a31ca4aSHideyuki Sano writel(0x02CB0400, &bsc->cs6abcr);
2131a31ca4aSHideyuki Sano
2141a31ca4aSHideyuki Sano writel(0x00000440, &bsc->cs0wcr);
2151a31ca4aSHideyuki Sano writel(0x00000440, &bsc->cs2wcr);
2161a31ca4aSHideyuki Sano writel(0x00000240, &bsc->cs5bwcr);
2171a31ca4aSHideyuki Sano writel(0x00000240, &bsc->cs6awcr);
2181a31ca4aSHideyuki Sano
2191a31ca4aSHideyuki Sano writel(0x00000005, &bsc->rbwtcnt);
2201a31ca4aSHideyuki Sano writel(0x00000002, &bsc->cs0wcr2);
2211a31ca4aSHideyuki Sano writel(0x00000002, &bsc->cs2wcr2);
2221a31ca4aSHideyuki Sano writel(0x00000002, &bsc->cs4wcr2);
2231a31ca4aSHideyuki Sano }
2241a31ca4aSHideyuki Sano
2251a31ca4aSHideyuki Sano #define GPIO_ICCR (0xE60581A0)
2261a31ca4aSHideyuki Sano #define ICCR_15BIT (1 << 15) /* any time 1 */
2271a31ca4aSHideyuki Sano #define IIC0_CONTA (1 << 7)
2281a31ca4aSHideyuki Sano #define IIC0_CONTB (1 << 6)
2291a31ca4aSHideyuki Sano #define IIC1_CONTA (1 << 5)
2301a31ca4aSHideyuki Sano #define IIC1_CONTB (1 << 4)
2311a31ca4aSHideyuki Sano #define IIC0_PS33E (1 << 1)
2321a31ca4aSHideyuki Sano #define IIC1_PS33E (1 << 0)
2331a31ca4aSHideyuki Sano #define GPIO_ICCR_DATA \
2341a31ca4aSHideyuki Sano (ICCR_15BIT | \
2351a31ca4aSHideyuki Sano IIC0_CONTA | IIC0_CONTB | IIC1_CONTA | \
2361a31ca4aSHideyuki Sano IIC1_CONTB | IIC0_PS33E | IIC1_PS33E)
2371a31ca4aSHideyuki Sano
2381a31ca4aSHideyuki Sano #define MSTPCR1 0xE6150134
2391a31ca4aSHideyuki Sano #define TMU0_MSTP125 (1 << 25)
2401a31ca4aSHideyuki Sano #define I2C0_MSTP116 (1 << 16)
2411a31ca4aSHideyuki Sano
2421a31ca4aSHideyuki Sano #define MSTPCR3 0xE615013C
2431a31ca4aSHideyuki Sano #define I2C1_MSTP323 (1 << 23)
2441a31ca4aSHideyuki Sano #define GETHER_MSTP309 (1 << 9)
2451a31ca4aSHideyuki Sano
2468c711d2bSNobuhiro Iwamatsu #define GPIO_SCIFA1_TXD (0xE60520C4)
2478c711d2bSNobuhiro Iwamatsu #define GPIO_SCIFA1_RXD (0xE60520C3)
2488c711d2bSNobuhiro Iwamatsu
board_early_init_f(void)2491a31ca4aSHideyuki Sano int board_early_init_f(void)
2501a31ca4aSHideyuki Sano {
2511a31ca4aSHideyuki Sano /* TMU */
2521a31ca4aSHideyuki Sano clrbits_le32(MSTPCR1, TMU0_MSTP125);
2531a31ca4aSHideyuki Sano
2541a31ca4aSHideyuki Sano /* GETHER */
2551a31ca4aSHideyuki Sano clrbits_le32(MSTPCR3, GETHER_MSTP309);
2561a31ca4aSHideyuki Sano
2571a31ca4aSHideyuki Sano /* I2C 0/1 */
2581a31ca4aSHideyuki Sano clrbits_le32(MSTPCR1, I2C0_MSTP116);
2591a31ca4aSHideyuki Sano clrbits_le32(MSTPCR3, I2C1_MSTP323);
2601a31ca4aSHideyuki Sano
2611a31ca4aSHideyuki Sano /* SCIFA1 */
2628c711d2bSNobuhiro Iwamatsu writeb(1, GPIO_SCIFA1_TXD); /* SCIFA1_TXD */
2638c711d2bSNobuhiro Iwamatsu writeb(1, GPIO_SCIFA1_RXD); /* SCIFA1_RXD */
2641a31ca4aSHideyuki Sano
2651a31ca4aSHideyuki Sano /* IICCR */
2661a31ca4aSHideyuki Sano writew(GPIO_ICCR_DATA, GPIO_ICCR);
2671a31ca4aSHideyuki Sano
2681a31ca4aSHideyuki Sano return 0;
2691a31ca4aSHideyuki Sano }
2701a31ca4aSHideyuki Sano
2711a31ca4aSHideyuki Sano DECLARE_GLOBAL_DATA_PTR;
board_init(void)2721a31ca4aSHideyuki Sano int board_init(void)
2731a31ca4aSHideyuki Sano {
274*94ba26f2STom Rini /* board id for linux */
275*94ba26f2STom Rini gd->bd->bi_arch_number = MACH_TYPE_ARMADILLO800EVA;
2761a31ca4aSHideyuki Sano /* adress of boot parameters */
2771a31ca4aSHideyuki Sano gd->bd->bi_boot_params = ARMADILLO_800EVA_SDRAM_BASE + 0x100;
2781a31ca4aSHideyuki Sano
2791a31ca4aSHideyuki Sano /* Init PFC controller */
2801a31ca4aSHideyuki Sano r8a7740_pinmux_init();
2811a31ca4aSHideyuki Sano
2821a31ca4aSHideyuki Sano /* GETHER Enable */
2831a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_CRS, NULL);
2841a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_MDC, NULL);
2851a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_MDIO, NULL);
2861a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_TX_ER, NULL);
2871a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_RX_ER, NULL);
2881a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ERXD0, NULL);
2891a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ERXD1, NULL);
2901a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ERXD2, NULL);
2911a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ERXD3, NULL);
2921a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_TX_CLK, NULL);
2931a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_TX_EN, NULL);
2941a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ETXD0, NULL);
2951a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ETXD1, NULL);
2961a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ETXD2, NULL);
2971a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_ETXD3, NULL);
2981a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_PHY_INT, NULL);
2991a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_COL, NULL);
3001a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_RX_DV, NULL);
3011a31ca4aSHideyuki Sano gpio_request(GPIO_FN_ET_RX_CLK, NULL);
3021a31ca4aSHideyuki Sano
3031a31ca4aSHideyuki Sano gpio_request(GPIO_PORT18, NULL); /* PHY_RST */
3041a31ca4aSHideyuki Sano gpio_direction_output(GPIO_PORT18, 1);
3051a31ca4aSHideyuki Sano
3061a31ca4aSHideyuki Sano return 0;
3071a31ca4aSHideyuki Sano }
3081a31ca4aSHideyuki Sano
dram_init(void)3091a31ca4aSHideyuki Sano int dram_init(void)
3101a31ca4aSHideyuki Sano {
3111a31ca4aSHideyuki Sano gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
3121a31ca4aSHideyuki Sano gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
3131a31ca4aSHideyuki Sano
3141a31ca4aSHideyuki Sano return 0;
3151a31ca4aSHideyuki Sano }
3161a31ca4aSHideyuki Sano
3171a31ca4aSHideyuki Sano const struct rmobile_sysinfo sysinfo = {
3181cc95f6eSNobuhiro Iwamatsu CONFIG_ARCH_RMOBILE_BOARD_STRING
3191a31ca4aSHideyuki Sano };
3201a31ca4aSHideyuki Sano
board_late_init(void)3211a31ca4aSHideyuki Sano int board_late_init(void)
3221a31ca4aSHideyuki Sano {
3231a31ca4aSHideyuki Sano return 0;
3241a31ca4aSHideyuki Sano }
3251a31ca4aSHideyuki Sano
reset_cpu(ulong addr)3261a31ca4aSHideyuki Sano void reset_cpu(ulong addr)
3271a31ca4aSHideyuki Sano {
3281a31ca4aSHideyuki Sano }
329