From owner-p4-projects@FreeBSD.ORG Tue Apr 11 00:23:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9286116A405; Tue, 11 Apr 2006 00:23:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 60C5216A404 for ; Tue, 11 Apr 2006 00:23:01 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CFCF43D45 for ; Tue, 11 Apr 2006 00:23:01 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3B0N1oH025221 for ; Tue, 11 Apr 2006 00:23:01 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3B0N0YM025218 for perforce@freebsd.org; Tue, 11 Apr 2006 00:23:00 GMT (envelope-from imp@freebsd.org) Date: Tue, 11 Apr 2006 00:23:00 GMT Message-Id: <200604110023.k3B0N0YM025218@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 94961 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Apr 2006 00:23:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=94961 Change 94961 by imp@imp_Speedy on 2006/04/11 00:22:42 minor moves towards supporting dual clocks. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/kb920x/boot0/at91rm9200_lowlevel.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/kb920x/boot0/at91rm9200_lowlevel.c#7 (text+ko) ==== @@ -50,6 +50,7 @@ register unsigned value; int i; volatile unsigned short *p = (unsigned short *)SDRAM_BASE; + unsigned int div; AT91C_BASE_PIOC->PIO_PER = AT91C_PIO_PC10; AT91C_BASE_PIOC->PIO_OER = AT91C_PIO_PC10; @@ -61,14 +62,19 @@ // PLLB configured for 96MHz (48MHz after div) // CSS = PLLB + // Crude selection between 16MHz clock and 10MHz clock. + if (AT91C_BASE_CKGR->CKGR_MCFR & AT91C_CKGR_MAINF < 6000) + div = OSC_MAIN_FREQ_DIV_10; + else + div = OSC_MAIN_FREQ_DIV_16; + // set PLLA = 180MHz // assume main osc = 10Mhz // div = 5 , out = 2 (150MHz = 240MHz) value = AT91C_BASE_CKGR->CKGR_PLLAR; value &= ~AT91C_CKGR_DIVA; value &= ~AT91C_CKGR_OUTA; - value |= (OSC_MAIN_FREQ_DIV_16 | AT91C_CKGR_OUTA_2); - value |= AT91C_CKGR_SRCA; + value |= div | AT91C_CKGR_OUTA_2 | AT91C_CKGR_SRCA; AT91C_BASE_CKGR->CKGR_PLLAR = value; // mul = 90