X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=board%2Fxes%2Fcommon%2Ffsl_8xxx_clk.c;h=e102b0cfc3866233d6c6c77e8ef6f210e93001ab;hb=25c7195d30212a71aa44565f795919a0f14779dc;hp=0155670b9466d9f57ca3fb6518676efbdce978c0;hpb=388517e4b745b00256c2fa201ce7bccb67b4f245;p=oweals%2Fu-boot.git diff --git a/board/xes/common/fsl_8xxx_clk.c b/board/xes/common/fsl_8xxx_clk.c index 0155670b94..e102b0cfc3 100644 --- a/board/xes/common/fsl_8xxx_clk.c +++ b/board/xes/common/fsl_8xxx_clk.c @@ -1,26 +1,11 @@ /* * Copyright 2008 Extreme Engineering Solutions, Inc. * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier: GPL-2.0+ */ #include +#include /* * Return SYSCLK input frequency - 50 MHz or 66 MHz depending on POR config @@ -33,12 +18,15 @@ unsigned long get_board_sys_clk(ulong dummy) immap_t *immap = (immap_t *)CONFIG_SYS_IMMR; volatile ccsr_gur_t *gur = &immap->im_gur; #endif - u32 gpporcr = gur->gpporcr; - if (gpporcr & 0x10000) + if (in_be32(&gur->gpporcr) & 0x10000) return 66666666; else +#ifdef CONFIG_ARCH_P2020 + return 100000000; +#else return 50000000; +#endif } #ifdef CONFIG_MPC85xx @@ -49,11 +37,18 @@ unsigned long get_board_sys_clk(ulong dummy) unsigned long get_board_ddr_clk(ulong dummy) { volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); - u32 ddr_ratio = ((gur->porpllsr) & 0x00003e00) >> 9; + u32 ddr_ratio = (in_be32(&gur->porpllsr) & 0x00003e00) >> 9; if (ddr_ratio == 0x7) return get_board_sys_clk(dummy); +#ifdef CONFIG_ARCH_P2020 + if (in_be32(&gur->gpporcr) & 0x20000) + return 66666666; + else + return 100000000; +#else return 66666666; +#endif } #endif