blob: b9c32eca9450c682a314c99d1bf17ccfb20508e9 [file] [log] [blame]
Haiying Wang765547d2009-03-27 17:02:45 -04001/*
Kumar Gala4c2e3da2009-07-28 21:49:52 -05002 * Copyright (C) 2009 Freescale Semiconductor, Inc.
Haiying Wang765547d2009-03-27 17:02:45 -04003 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
Haiying Wang765547d2009-03-27 17:02:45 -04005 */
6
7#include <common.h>
8#include <asm/io.h>
9
10#include "bcsr.h"
11
Kim Phillipse56143e2012-10-29 13:34:38 +000012void enable_8569mds_flash_write(void)
Haiying Wang765547d2009-03-27 17:02:45 -040013{
Dave Liu16e75592009-05-15 10:27:44 +080014 setbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 17), BCSR17_FLASH_nWP);
Haiying Wang765547d2009-03-27 17:02:45 -040015}
16
Kim Phillipse56143e2012-10-29 13:34:38 +000017void disable_8569mds_flash_write(void)
Haiying Wang765547d2009-03-27 17:02:45 -040018{
19 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 17), BCSR17_FLASH_nWP);
20}
21
Kim Phillipse56143e2012-10-29 13:34:38 +000022void enable_8569mds_qe_uec(void)
Haiying Wang765547d2009-03-27 17:02:45 -040023{
Haiying Wangf82107f2009-05-20 12:30:37 -040024#if defined(CONFIG_SYS_UCC_RGMII_MODE)
Haiying Wang765547d2009-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 Wang750098d2009-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 Wangf82107f2009-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 Wang765547d2009-03-27 17:02:45 -040045}
46
Kim Phillipse56143e2012-10-29 13:34:38 +000047void disable_8569mds_brd_eeprom_write_protect(void)
Haiying Wang765547d2009-03-27 17:02:45 -040048{
49 clrbits_8((u8 *)(CONFIG_SYS_BCSR_BASE + 7), BCSR7_BRD_WRT_PROTECT);
50}