xref: /rk3399_rockchip-uboot/board/freescale/mpc8569mds/bcsr.c (revision 3765b3e7bd0f8e46914d417f29cbcb0c72b1acf7)
1765547dcSHaiying Wang /*
24c2e3da8SKumar Gala  * Copyright (C) 2009 Freescale Semiconductor, Inc.
3765547dcSHaiying Wang  *
4*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
5765547dcSHaiying Wang  */
6765547dcSHaiying Wang 
7765547dcSHaiying Wang #include <common.h>
8765547dcSHaiying Wang #include <asm/io.h>
9765547dcSHaiying Wang 
10765547dcSHaiying Wang #include "bcsr.h"
11765547dcSHaiying Wang 
enable_8569mds_flash_write(void)12e56143e5SKim Phillips void enable_8569mds_flash_write(void)
13765547dcSHaiying Wang {
1416e7559cSDave Liu 	setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 17), BCSR17_FLASH_nWP);
15765547dcSHaiying Wang }
16765547dcSHaiying Wang 
disable_8569mds_flash_write(void)17e56143e5SKim Phillips void disable_8569mds_flash_write(void)
18765547dcSHaiying Wang {
19765547dcSHaiying Wang 	clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 17), BCSR17_FLASH_nWP);
20765547dcSHaiying Wang }
21765547dcSHaiying Wang 
enable_8569mds_qe_uec(void)22e56143e5SKim Phillips void enable_8569mds_qe_uec(void)
23765547dcSHaiying Wang {
24f82107f6SHaiying Wang #if defined(CONFIG_SYS_UCC_RGMII_MODE)
25765547dcSHaiying Wang 	setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 7),
26765547dcSHaiying Wang 			BCSR7_UCC1_GETH_EN | BCSR7_UCC1_RGMII_EN);
27765547dcSHaiying Wang 	setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 8),
28765547dcSHaiying Wang 			BCSR8_UCC2_GETH_EN | BCSR8_UCC2_RGMII_EN);
29750098d3SHaiying Wang 	setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 9),
30750098d3SHaiying Wang 			BCSR9_UCC3_GETH_EN | BCSR9_UCC3_RGMII_EN);
31750098d3SHaiying Wang 	setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 10),
32750098d3SHaiying Wang 			BCSR10_UCC4_GETH_EN | BCSR10_UCC4_RGMII_EN);
33f82107f6SHaiying Wang #elif defined(CONFIG_SYS_UCC_RMII_MODE)
34f82107f6SHaiying Wang 	/* Set UCC1-4 working at RMII mode */
35f82107f6SHaiying Wang 	clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 7),
36f82107f6SHaiying Wang 			BCSR7_UCC1_GETH_EN | BCSR7_UCC1_RGMII_EN);
37f82107f6SHaiying Wang 	clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 8),
38f82107f6SHaiying Wang 			BCSR8_UCC2_GETH_EN | BCSR8_UCC2_RGMII_EN);
39f82107f6SHaiying Wang 	clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 9),
40f82107f6SHaiying Wang 			BCSR9_UCC3_GETH_EN | BCSR9_UCC3_RGMII_EN);
41f82107f6SHaiying Wang 	clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 10),
42f82107f6SHaiying Wang 			BCSR10_UCC4_GETH_EN | BCSR10_UCC4_RGMII_EN);
43f82107f6SHaiying Wang 	setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 9), BCSR9_UCC3_RMII_EN);
44f82107f6SHaiying Wang #endif
45765547dcSHaiying Wang }
46765547dcSHaiying Wang 
disable_8569mds_brd_eeprom_write_protect(void)47e56143e5SKim Phillips void disable_8569mds_brd_eeprom_write_protect(void)
48765547dcSHaiying Wang {
49765547dcSHaiying Wang 	clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 7), BCSR7_BRD_WRT_PROTECT);
50765547dcSHaiying Wang }
51