From: Keith Packard Date: Sun, 7 Jan 2024 07:16:23 +0000 (-0800) Subject: altos/telelco-v3: Create initial flash loader setup X-Git-Tag: 1.9.18~2^2~71 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=50dea58c0f2ae87827a1a761ea7868e9798a5fd5 altos/telelco-v3: Create initial flash loader setup Copied from easymega-v3 with USB pull-up moved to PA9. Note this assumes the proto boards will have a resistor fitted there, which is not in the artwork. Signed-off-by: Keith Packard --- diff --git a/src/telelco-v3.0/flash-loader/Makefile b/src/telelco-v3.0/flash-loader/Makefile new file mode 100644 index 00000000..e441b0a6 --- /dev/null +++ b/src/telelco-v3.0/flash-loader/Makefile @@ -0,0 +1,8 @@ +# +# AltOS flash loader build +# +# + +TOPDIR=../.. +HARDWARE=easymega-v3.0 +include $(TOPDIR)/stm32f1/Makefile-flash.defs diff --git a/src/telelco-v3.0/flash-loader/ao_pins.h b/src/telelco-v3.0/flash-loader/ao_pins.h new file mode 100644 index 00000000..0b97d210 --- /dev/null +++ b/src/telelco-v3.0/flash-loader/ao_pins.h @@ -0,0 +1,65 @@ +/* + * Copyright © 2018 Bdale Garbee + * + * 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. + */ + +#ifndef _AO_PINS_H_ +#define _AO_PINS_H_ + +/* 16MHz crystal */ + +#define AO_HSE 1 +#define AO_HSE_BYPASS 0 + +#define AO_SYSCLK 72000000 +#define AO_HCLK 72000000 +#define AO_APB1CLK 36000000 +#define AO_APB2CLK 72000000 +#define AO_ADCCLK 12000000 + +/* PLLMUL is 9, PLLXTPRE (pre divider) is 2, so the + * overall PLLCLK is 16 * 9/2 = 72MHz (used as SYSCLK) + * + * HCLK is SYSCLK / 1 (HPRE_DIV) = 72MHz (72MHz max) + * USB is PLLCLK / 1.5 (USBPRE)= 48MHz (must be 48MHz) + * APB2 is HCLK / 1 (PPRE2_DIV) = 72MHz (72MHz max) + * APB1 is HCLK / 2 (PPRE1_DIV) = 36MHz (36MHz max) + * ADC is APB2 / 6 (ADCPRE) = 12MHz (14MHz max) + */ + +#define AO_RCC_CFGR_USBPRE STM_RCC_CFGR_USBPRE_1_5 +#define AO_RCC_CFGR_PLLMUL STM_RCC_CFGR_PLLMUL_9 +#define AO_RCC_CFGR_PLLXTPRE STM_RCC_CFGR_PLLXTPRE_2 +#define AO_RCC_CFGR_PPRE2_DIV STM_RCC_CFGR_PPRE2_DIV_1 +#define AO_RCC_CFGR_PPRE1_DIV STM_RCC_CFGR_PPRE1_DIV_2 +#define AO_RCC_CFGR_HPRE_DIV STM_RCC_CFGR_HPRE_DIV_1 +#define AO_RCC_CFGR_ADCPRE STM_RCC_CFGR_ADCPRE_6 + +#include + +/* Companion port cs_companion0 PC10 */ + +#define AO_BOOT_PIN 1 +#define AO_BOOT_APPLICATION_GPIO stm_gpioc +#define AO_BOOT_APPLICATION_PIN 10 +#define AO_BOOT_APPLICATION_VALUE 1 +#define AO_BOOT_APPLICATION_MODE AO_EXTI_MODE_PULL_UP + +#define HAS_USB_PULLUP 1 +#define AO_USB_PULLUP_PORT (&stm_gpioa) +#define AO_USB_PULLUP_PIN 9 + +#endif /* _AO_PINS_H_ */