blob: 9ed00f6e5b1785667200b66bdbd7a906a6316775 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Haiying Wangbd255372009-03-27 17:02:45 -04002/*
Kumar Gala6a6d9482009-07-28 21:49:52 -05003 * Copyright (C) 2009 Freescale Semiconductor, Inc.
Haiying Wangbd255372009-03-27 17:02:45 -04004 */
5
6#include <common.h>
Simon Glass8e201882020-05-10 11:39:54 -06007#include <flash.h>
Haiying Wangbd255372009-03-27 17:02:45 -04008#include <asm/io.h>
9
10#include "bcsr.h"
11
Kim Phillips402673f2012-10-29 13:34:38 +000012void enable_8569mds_flash_write(void)
Haiying Wangbd255372009-03-27 17:02:45 -040013{
Dave Liu82d713c2009-05-15 10:27:44 +080014 setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 17), BCSR17_FLASH_nWP);
Haiying Wangbd255372009-03-27 17:02:45 -040015}
16
Kim Phillips402673f2012-10-29 13:34:38 +000017void disable_8569mds_flash_write(void)
Haiying Wangbd255372009-03-27 17:02:45 -040018{
19 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 17), BCSR17_FLASH_nWP);
20}
21
Kim Phillips402673f2012-10-29 13:34:38 +000022void enable_8569mds_qe_uec(void)
Haiying Wangbd255372009-03-27 17:02:45 -040023{
Haiying Wangbc759ee2009-05-20 12:30:37 -040024#if defined(CONFIG_SYS_UCC_RGMII_MODE)
Haiying Wangbd255372009-03-27 17:02:45 -040025 setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 7),
26 BCSR7_UCC1_GETH_EN | BCSR7_UCC1_RGMII_EN);
27 setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 8),
28 BCSR8_UCC2_GETH_EN | BCSR8_UCC2_RGMII_EN);
Haiying Wangdf1bbbd2009-05-20 12:30:36 -040029 setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 9),
30 BCSR9_UCC3_GETH_EN | BCSR9_UCC3_RGMII_EN);
31 setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 10),
32 BCSR10_UCC4_GETH_EN | BCSR10_UCC4_RGMII_EN);
Haiying Wangbc759ee2009-05-20 12:30:37 -040033#elif defined(CONFIG_SYS_UCC_RMII_MODE)
34 /* Set UCC1-4 working at RMII mode */
35 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 7),
36 BCSR7_UCC1_GETH_EN | BCSR7_UCC1_RGMII_EN);
37 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 8),
38 BCSR8_UCC2_GETH_EN | BCSR8_UCC2_RGMII_EN);
39 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 9),
40 BCSR9_UCC3_GETH_EN | BCSR9_UCC3_RGMII_EN);
41 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 10),
42 BCSR10_UCC4_GETH_EN | BCSR10_UCC4_RGMII_EN);
43 setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 9), BCSR9_UCC3_RMII_EN);
44#endif
Haiying Wangbd255372009-03-27 17:02:45 -040045}
46
Kim Phillips402673f2012-10-29 13:34:38 +000047void disable_8569mds_brd_eeprom_write_protect(void)
Haiying Wangbd255372009-03-27 17:02:45 -040048{
49 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 7), BCSR7_BRD_WRT_PROTECT);
50}