1*1b2596b5SMatthias Ringwald /** 2*1b2596b5SMatthias Ringwald * \file 3*1b2596b5SMatthias Ringwald * 4*1b2596b5SMatthias Ringwald * \brief SAMV71 clock configuration. 5*1b2596b5SMatthias Ringwald * 6*1b2596b5SMatthias Ringwald * Copyright (c) 2015 Atmel Corporation. All rights reserved. 7*1b2596b5SMatthias Ringwald * 8*1b2596b5SMatthias Ringwald * \asf_license_start 9*1b2596b5SMatthias Ringwald * 10*1b2596b5SMatthias Ringwald * \page License 11*1b2596b5SMatthias Ringwald * 12*1b2596b5SMatthias Ringwald * Redistribution and use in source and binary forms, with or without 13*1b2596b5SMatthias Ringwald * modification, are permitted provided that the following conditions are met: 14*1b2596b5SMatthias Ringwald * 15*1b2596b5SMatthias Ringwald * 1. Redistributions of source code must retain the above copyright notice, 16*1b2596b5SMatthias Ringwald * this list of conditions and the following disclaimer. 17*1b2596b5SMatthias Ringwald * 18*1b2596b5SMatthias Ringwald * 2. Redistributions in binary form must reproduce the above copyright notice, 19*1b2596b5SMatthias Ringwald * this list of conditions and the following disclaimer in the documentation 20*1b2596b5SMatthias Ringwald * and/or other materials provided with the distribution. 21*1b2596b5SMatthias Ringwald * 22*1b2596b5SMatthias Ringwald * 3. The name of Atmel may not be used to endorse or promote products derived 23*1b2596b5SMatthias Ringwald * from this software without specific prior written permission. 24*1b2596b5SMatthias Ringwald * 25*1b2596b5SMatthias Ringwald * 4. This software may only be redistributed and used in connection with an 26*1b2596b5SMatthias Ringwald * Atmel microcontroller product. 27*1b2596b5SMatthias Ringwald * 28*1b2596b5SMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED 29*1b2596b5SMatthias Ringwald * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 30*1b2596b5SMatthias Ringwald * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE 31*1b2596b5SMatthias Ringwald * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR 32*1b2596b5SMatthias Ringwald * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33*1b2596b5SMatthias Ringwald * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34*1b2596b5SMatthias Ringwald * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35*1b2596b5SMatthias Ringwald * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 36*1b2596b5SMatthias Ringwald * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 37*1b2596b5SMatthias Ringwald * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 38*1b2596b5SMatthias Ringwald * POSSIBILITY OF SUCH DAMAGE. 39*1b2596b5SMatthias Ringwald * 40*1b2596b5SMatthias Ringwald * \asf_license_stop 41*1b2596b5SMatthias Ringwald * 42*1b2596b5SMatthias Ringwald */ 43*1b2596b5SMatthias Ringwald /* 44*1b2596b5SMatthias Ringwald * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> 45*1b2596b5SMatthias Ringwald */ 46*1b2596b5SMatthias Ringwald 47*1b2596b5SMatthias Ringwald #ifndef CONF_CLOCK_H_INCLUDED 48*1b2596b5SMatthias Ringwald #define CONF_CLOCK_H_INCLUDED 49*1b2596b5SMatthias Ringwald 50*1b2596b5SMatthias Ringwald // ===== System Clock (MCK) Source Options 51*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_RC 52*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_XTAL 53*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_BYPASS 54*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC 55*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_8M_RC 56*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_12M_RC 57*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_XTAL 58*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_BYPASS 59*1b2596b5SMatthias Ringwald #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK 60*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_UPLLCK 61*1b2596b5SMatthias Ringwald 62*1b2596b5SMatthias Ringwald // ===== Processor Clock (HCLK) Prescaler Options (Fhclk = Fsys / (SYSCLK_PRES)) 63*1b2596b5SMatthias Ringwald #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 64*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_PRES SYSCLK_PRES_2 65*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_PRES SYSCLK_PRES_4 66*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_PRES SYSCLK_PRES_8 67*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_PRES SYSCLK_PRES_16 68*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_PRES SYSCLK_PRES_32 69*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_PRES SYSCLK_PRES_64 70*1b2596b5SMatthias Ringwald //#define CONFIG_SYSCLK_PRES SYSCLK_PRES_3 71*1b2596b5SMatthias Ringwald 72*1b2596b5SMatthias Ringwald // ===== System Clock (MCK) Division Options (Fmck = Fhclk / (SYSCLK_DIV)) 73*1b2596b5SMatthias Ringwald #define CONFIG_SYSCLK_DIV 2 74*1b2596b5SMatthias Ringwald 75*1b2596b5SMatthias Ringwald // ===== PLL0 (A) Options (Fpll = (Fclk * PLL_mul) / PLL_div) 76*1b2596b5SMatthias Ringwald // Use mul and div effective values here. 77*1b2596b5SMatthias Ringwald #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL 78*1b2596b5SMatthias Ringwald #define CONFIG_PLL0_MUL 25 79*1b2596b5SMatthias Ringwald #define CONFIG_PLL0_DIV 1 80*1b2596b5SMatthias Ringwald 81*1b2596b5SMatthias Ringwald // ===== UPLL (UTMI) Hardware fixed at 480 MHz. 82*1b2596b5SMatthias Ringwald 83*1b2596b5SMatthias Ringwald // ===== USB Clock Source Options (Fusb = FpllX / USB_div) 84*1b2596b5SMatthias Ringwald // Use div effective value here. 85*1b2596b5SMatthias Ringwald //#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL0 86*1b2596b5SMatthias Ringwald #define CONFIG_USBCLK_SOURCE USBCLK_SRC_UPLL 87*1b2596b5SMatthias Ringwald #define CONFIG_USBCLK_DIV 1 88*1b2596b5SMatthias Ringwald 89*1b2596b5SMatthias Ringwald // ===== Target frequency (Processor clock) 90*1b2596b5SMatthias Ringwald // - XTAL frequency: 12MHz 91*1b2596b5SMatthias Ringwald // - System clock source: PLLA 92*1b2596b5SMatthias Ringwald // - System clock prescaler: 1 (divided by 1) 93*1b2596b5SMatthias Ringwald // - System clock divider: 2 (divided by 2) 94*1b2596b5SMatthias Ringwald // - PLLA source: XTAL 95*1b2596b5SMatthias Ringwald // - PLLA output: XTAL * 25 / 1 96*1b2596b5SMatthias Ringwald // - Processor clock: 12 * 25 / 1 / 1 = 300MHz 97*1b2596b5SMatthias Ringwald // - System clock: 300 / 2 = 150MHz 98*1b2596b5SMatthias Ringwald // ===== Target frequency (USB Clock) 99*1b2596b5SMatthias Ringwald // - USB clock source: UPLL 100*1b2596b5SMatthias Ringwald // - USB clock divider: 1 (not divided) 101*1b2596b5SMatthias Ringwald // - UPLL frequency: 480MHz 102*1b2596b5SMatthias Ringwald // - USB clock: 480 / 1 = 480MHz 103*1b2596b5SMatthias Ringwald 104*1b2596b5SMatthias Ringwald #endif /* CONF_CLOCK_H_INCLUDED */ 105