From e0f7b9582a24ac83c17baf361aac9a18a30f8c0d Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 11 Mar 2017 16:31:11 -0600 Subject: [PATCH] STM32: Review of last STM32 F2 PR. Progate changes to STM32 F4 and F7 OTGHS. Rename some configs/photon/src files. Naming can be either photon_ or stm32_ but must be consistent. --- arch/arm/src/stm32/stm32_otghsdev.c | 6 ++--- arch/arm/src/stm32/stm32f20xxx_rcc.c | 6 +++-- arch/arm/src/stm32/stm32f40xxx_rcc.c | 9 +++++-- arch/arm/src/stm32f7/stm32f74xx75xx_rcc.c | 9 +++++-- arch/arm/src/stm32f7/stm32f76xx77xx_rcc.c | 9 +++++-- configs/photon/include/board.h | 1 + configs/photon/src/Makefile | 6 ++--- configs/photon/src/stm32_appinit.c | 1 + .../src/{photon_buttons.c => stm32_buttons.c} | 25 +++++++++---------- .../src/{photon_leds.c => stm32_leds.c} | 6 +---- .../photon/src/{photon_wdt.c => stm32_wdt.c} | 2 +- 11 files changed, 47 insertions(+), 33 deletions(-) rename configs/photon/src/{photon_buttons.c => stm32_buttons.c} (89%) rename configs/photon/src/{photon_leds.c => stm32_leds.c} (93%) rename configs/photon/src/{photon_wdt.c => stm32_wdt.c} (99%) diff --git a/arch/arm/src/stm32/stm32_otghsdev.c b/arch/arm/src/stm32/stm32_otghsdev.c index 97474f2f43..c6fc64349e 100644 --- a/arch/arm/src/stm32/stm32_otghsdev.c +++ b/arch/arm/src/stm32/stm32_otghsdev.c @@ -5325,14 +5325,14 @@ static void stm32_hwinitialize(FAR struct stm32_usbdev_s *priv) * some bug / errata in the chip. */ - regval = stm32_getreg(STM32_RCC_AHB1LPENR); + regval = stm32_getreg(STM32_RCC_AHB1LPENR); regval &= ~RCC_AHB1ENR_OTGHSULPIEN; stm32_putreg(regval, STM32_RCC_AHB1LPENR); /* Enable the interrupts in the INTMSK */ - regval = (OTGHS_GINT_RXFLVL | OTGHS_GINT_USBSUSP | OTGHS_GINT_ENUMDNE | - OTGHS_GINT_IEP | OTGHS_GINT_OEP | OTGHS_GINT_USBRST); + regval = (OTGHS_GINT_RXFLVL | OTGHS_GINT_USBSUSP | OTGHS_GINT_ENUMDNE | + OTGHS_GINT_IEP | OTGHS_GINT_OEP | OTGHS_GINT_USBRST); #ifdef CONFIG_USBDEV_ISOCHRONOUS regval |= (OTGHS_GINT_IISOIXFR | OTGHS_GINT_IISOOXFR); diff --git a/arch/arm/src/stm32/stm32f20xxx_rcc.c b/arch/arm/src/stm32/stm32f20xxx_rcc.c index ad71714a80..4a7fd85740 100644 --- a/arch/arm/src/stm32/stm32f20xxx_rcc.c +++ b/arch/arm/src/stm32/stm32f20xxx_rcc.c @@ -196,13 +196,15 @@ static inline void rcc_enableahb1(void) /* USB OTG HS */ #ifndef BOARD_DISABLE_USBOTG_HSULPI - /* Enable clocking for OTG and external PHY */ + /* Enable clocking for USB OTG HS and external PHY */ regval |= (RCC_AHB1ENR_OTGHSEN | RCC_AHB1ENR_OTGHSULPIEN); #else + /* Enable only clocking for USB OTG HS */ + regval |= (RCC_AHB1ENR_OTGHSEN); #endif -#endif +#endif /* CONFIG_STM32_OTGHS */ putreg32(regval, STM32_RCC_AHB1ENR); /* Enable peripherals */ } diff --git a/arch/arm/src/stm32/stm32f40xxx_rcc.c b/arch/arm/src/stm32/stm32f40xxx_rcc.c index adda863cca..e83d4f2573 100644 --- a/arch/arm/src/stm32/stm32f40xxx_rcc.c +++ b/arch/arm/src/stm32/stm32f40xxx_rcc.c @@ -215,10 +215,15 @@ static inline void rcc_enableahb1(void) #endif #ifdef CONFIG_STM32_OTGHS - /* USB OTG HS */ +#if 0 /* ifndef BOARD_DISABLE_USBOTG_HSULPI */ + /* Enable clocking for USB OTG HS and external PHY */ + + regval |= (RCC_AHB1ENR_OTGHSEN | RCC_AHB1ENR_OTGHSULPIEN); +#else + /* Enable only clocking for USB OTG HS */ regval |= RCC_AHB1ENR_OTGHSEN; - +#endif #endif /* CONFIG_STM32_OTGHS */ #ifdef CONFIG_STM32_DMA2D diff --git a/arch/arm/src/stm32f7/stm32f74xx75xx_rcc.c b/arch/arm/src/stm32f7/stm32f74xx75xx_rcc.c index a10c399f88..4ce433efd7 100644 --- a/arch/arm/src/stm32f7/stm32f74xx75xx_rcc.c +++ b/arch/arm/src/stm32f7/stm32f74xx75xx_rcc.c @@ -225,10 +225,15 @@ static inline void rcc_enableahb1(void) #endif #ifdef CONFIG_STM32F7_OTGHS - /* USB OTG HS */ +#if 0 /* ifndef BOARD_DISABLE_USBOTG_HSULPI */ + /* Enable clocking for USB OTG HS and external PHY */ + + regval |= (RCC_AHB1ENR_OTGHSEN | RCC_AHB1ENR_OTGHSULPIEN); +#else + /* Enable only clocking for USB OTG HS */ regval |= RCC_AHB1ENR_OTGHSEN; - +#endif #endif /* CONFIG_STM32F7_OTGHS */ putreg32(regval, STM32_RCC_AHB1ENR); /* Enable peripherals */ diff --git a/arch/arm/src/stm32f7/stm32f76xx77xx_rcc.c b/arch/arm/src/stm32f7/stm32f76xx77xx_rcc.c index b390d422b4..42080ebb16 100644 --- a/arch/arm/src/stm32f7/stm32f76xx77xx_rcc.c +++ b/arch/arm/src/stm32f7/stm32f76xx77xx_rcc.c @@ -221,10 +221,15 @@ static inline void rcc_enableahb1(void) #endif #ifdef CONFIG_STM32F7_OTGHS - /* USB OTG HS */ +#if 0 /* ifndef BOARD_DISABLE_USBOTG_HSULPI */ + /* Enable clocking for USB OTG HS and external PHY */ + + regval |= (RCC_AHB1ENR_OTGHSEN | RCC_AHB1ENR_OTGHSULPIEN); +#else + /* Enable only clocking for USB OTG HS */ regval |= RCC_AHB1ENR_OTGHSEN; - +#endif #endif /* CONFIG_STM32F7_OTGHS */ putreg32(regval, STM32_RCC_AHB1ENR); /* Enable peripherals */ diff --git a/configs/photon/include/board.h b/configs/photon/include/board.h index 15ee036088..08b62d125b 100644 --- a/configs/photon/include/board.h +++ b/configs/photon/include/board.h @@ -148,6 +148,7 @@ /* USB OTG HS definitions ***********************************************************/ /* Do not enable external PHY clock or OTG_HS module will not work */ + #define BOARD_DISABLE_USBOTG_HSULPI 1 /* LED definitions ******************************************************************/ diff --git a/configs/photon/src/Makefile b/configs/photon/src/Makefile index f834e2c7fa..98a11afdc0 100644 --- a/configs/photon/src/Makefile +++ b/configs/photon/src/Makefile @@ -42,15 +42,15 @@ CSRCS += dfu_signature.c endif ifeq ($(CONFIG_BUTTONS),y) -CSRCS += photon_buttons.c +CSRCS += stm32_buttons.c endif ifeq ($(CONFIG_USERLED),y) -CSRCS += photon_leds.c +CSRCS += stm32_leds.c endif ifeq ($(CONFIG_PHOTON_WDG),y) -CSRCS += photon_wdt.c +CSRCS += stm32_wdt.c endif ifeq ($(CONFIG_STM32_OTGHS),y) diff --git a/configs/photon/src/stm32_appinit.c b/configs/photon/src/stm32_appinit.c index 7952e4ea0f..d2fcdf699c 100644 --- a/configs/photon/src/stm32_appinit.c +++ b/configs/photon/src/stm32_appinit.c @@ -134,5 +134,6 @@ int board_app_initialize(uintptr_t arg) return ret; } #endif + return ret; } diff --git a/configs/photon/src/photon_buttons.c b/configs/photon/src/stm32_buttons.c similarity index 89% rename from configs/photon/src/photon_buttons.c rename to configs/photon/src/stm32_buttons.c index bca373bf75..7c695dd5ef 100644 --- a/configs/photon/src/photon_buttons.c +++ b/configs/photon/src/stm32_buttons.c @@ -1,5 +1,5 @@ /**************************************************************************** - * configs/photon/src/photon_buttons.c + * configs/photon/src/stm32_buttons.c * * Copyright (C) 2017 Gregory Nutt. All rights reserved. * Author: Simon Piriou @@ -38,17 +38,15 @@ ****************************************************************************/ #include + #include +#include #include #include "photon.h" #include "stm32_gpio.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ @@ -80,22 +78,23 @@ uint8_t board_buttons(void) return 0; } -#ifdef CONFIG_ARCH_IRQBUTTONS - /**************************************************************************** * Name: board_button_irq ****************************************************************************/ +#ifdef CONFIG_ARCH_IRQBUTTONS int board_button_irq(int id, xcpt_t irqhandler, FAR void *arg) { - if (id != BOARD_BUTTON1) { - /* Invalid button id */ - return ERROR; - } + if (id != BOARD_BUTTON1) + { + /* Invalid button id */ + + return -EINVAL; + } /* Configure interrupt on falling edge only */ - return stm32_gpiosetevent(GPIO_BUTTON1, false, true, false, irqhandler, arg); + return stm32_gpiosetevent(GPIO_BUTTON1, false, true, false, + irqhandler, arg); } - #endif /* CONFIG_ARCH_IRQBUTTONS */ diff --git a/configs/photon/src/photon_leds.c b/configs/photon/src/stm32_leds.c similarity index 93% rename from configs/photon/src/photon_leds.c rename to configs/photon/src/stm32_leds.c index 070d6d6455..076df40ad6 100644 --- a/configs/photon/src/photon_leds.c +++ b/configs/photon/src/stm32_leds.c @@ -1,5 +1,5 @@ /**************************************************************************** - * configs/photon/src/photon_leds.c + * configs/photon/src/stm32_leds.c * * Copyright (C) 2017 Gregory Nutt. All rights reserved. * Author: Simon Piriou @@ -45,10 +45,6 @@ #include "stm32_gpio.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ diff --git a/configs/photon/src/photon_wdt.c b/configs/photon/src/stm32_wdt.c similarity index 99% rename from configs/photon/src/photon_wdt.c rename to configs/photon/src/stm32_wdt.c index beee501404..1df96707c6 100644 --- a/configs/photon/src/photon_wdt.c +++ b/configs/photon/src/stm32_wdt.c @@ -1,5 +1,5 @@ /************************************************************************************ - * configs/photon/src/photon_wdt.c + * configs/photon/src/stm32_wdt.c * * Copyright (C) 2017 Gregory Nutt. All rights reserved. * Author: Simon Piriou