From 5f1c85147b9527a4f37c2b7d3b6fe9de627956d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Tue, 4 Oct 2016 17:02:46 +0200 Subject: [PATCH] Remove pin_mux.[ch], add init_peripherials.[ch], add reset_button.h which I forgot to add previously. --- right/src/include/board/pin_mux.c | 67 ------------------------------- right/src/include/board/pin_mux.h | 49 ---------------------- right/src/init_peripherials.c | 46 +++++++++++++++++++++ right/src/init_peripherials.h | 10 +++++ right/src/main.c | 16 +------- right/src/reset_button.h | 16 ++++++++ 6 files changed, 74 insertions(+), 130 deletions(-) delete mode 100644 right/src/include/board/pin_mux.c delete mode 100644 right/src/include/board/pin_mux.h create mode 100644 right/src/init_peripherials.c create mode 100644 right/src/init_peripherials.h create mode 100644 right/src/reset_button.h diff --git a/right/src/include/board/pin_mux.c b/right/src/include/board/pin_mux.c deleted file mode 100644 index 942b57e..0000000 --- a/right/src/include/board/pin_mux.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2015, Freescale Semiconductor, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * o Redistributions of source code must retain the above copyright notice, this list - * of conditions and the following disclaimer. - * - * o Redistributions in binary form must reproduce the above copyright notice, this - * list of conditions and the following disclaimer in the documentation and/or - * other materials provided with the distribution. - * - * o Neither the name of Freescale Semiconductor, Inc. nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "fsl_common.h" -#include "fsl_port.h" -#include "test_led.h" -#include "reset_button.h" - -void BOARD_InitPins(void) -{ - // Ungate ports. - CLOCK_EnableClock(kCLOCK_PortA); // LEDs - CLOCK_EnableClock(kCLOCK_PortB); // SW3 - CLOCK_EnableClock(kCLOCK_PortC); // SW2 - CLOCK_EnableClock(kCLOCK_PortD); // LEDs, I2C - - // Set up switches - port_pin_config_t switchConfig = { - .pullSelect = kPORT_PullUp, - .mux = kPORT_MuxAsGpio, - }; - PORT_SetPinConfig(RESET_BUTTON_PORT, RESET_BUTTON_PIN, &switchConfig); - - // Initialize LEDs. - - PORT_SetPinMux(TEST_LED_GPIO_PORT, TEST_LED_GPIO_PIN, kPORT_MuxAsGpio); - TEST_LED_INIT(0); - - // Initialize I2C. - - port_pin_config_t pinConfig = {0}; - pinConfig.pullSelect = kPORT_PullUp; - pinConfig.openDrainEnable = kPORT_OpenDrainEnable; - - PORT_SetPinConfig(PORTD, 2, &pinConfig); - PORT_SetPinConfig(PORTD, 3, &pinConfig); - - PORT_SetPinMux(PORTD, 2, kPORT_MuxAlt7); - PORT_SetPinMux(PORTD, 3, kPORT_MuxAlt7); -} diff --git a/right/src/include/board/pin_mux.h b/right/src/include/board/pin_mux.h deleted file mode 100644 index 955e947..0000000 --- a/right/src/include/board/pin_mux.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2015, Freescale Semiconductor, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * o Redistributions of source code must retain the above copyright notice, this list - * of conditions and the following disclaimer. - * - * o Redistributions in binary form must reproduce the above copyright notice, this - * list of conditions and the following disclaimer in the documentation and/or - * other materials provided with the distribution. - * - * o Neither the name of Freescale Semiconductor, Inc. nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _PIN_MUX_H_ -#define _PIN_MUX_H_ - -#include "fsl_common.h" - -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus*/ - /*! - * @brief configure all pins for this demo/example - * - */ -void BOARD_InitPins(void); - -#if defined(__cplusplus) -} -#endif /* __cplusplus*/ - -#endif /* _PIN_MUX_H_ */ diff --git a/right/src/init_peripherials.c b/right/src/init_peripherials.c new file mode 100644 index 0000000..b91c749 --- /dev/null +++ b/right/src/init_peripherials.c @@ -0,0 +1,46 @@ +#include "fsl_common.h" +#include "fsl_port.h" +#include "test_led.h" +#include "reset_button.h" +#include "i2c.h" +#include "led_driver.h" + +void InitPeripherials(void) +{ + // Ungate ports. + CLOCK_EnableClock(kCLOCK_PortA); // LEDs + CLOCK_EnableClock(kCLOCK_PortB); // SW3 + CLOCK_EnableClock(kCLOCK_PortC); // SW2 + CLOCK_EnableClock(kCLOCK_PortD); // LEDs, I2C + + // Set up switches + port_pin_config_t switchConfig = { + .pullSelect = kPORT_PullUp, + .mux = kPORT_MuxAsGpio, + }; + PORT_SetPinConfig(RESET_BUTTON_PORT, RESET_BUTTON_PIN, &switchConfig); + + // Initialize LEDs. + + PORT_SetPinMux(TEST_LED_GPIO_PORT, TEST_LED_GPIO_PIN, kPORT_MuxAsGpio); + TEST_LED_INIT(0); + + // Initialize I2C. + + port_pin_config_t pinConfig = {0}; + pinConfig.pullSelect = kPORT_PullUp; + pinConfig.openDrainEnable = kPORT_OpenDrainEnable; + + PORT_SetPinConfig(PORTD, 2, &pinConfig); + PORT_SetPinConfig(PORTD, 3, &pinConfig); + + PORT_SetPinMux(PORTD, 2, kPORT_MuxAlt7); + PORT_SetPinMux(PORTD, 3, kPORT_MuxAlt7); + + i2c_master_config_t masterConfig; + uint32_t sourceClock; + I2C_MasterGetDefaultConfig(&masterConfig); + masterConfig.baudRate_Bps = I2C_BAUD_RATE; + sourceClock = CLOCK_GetFreq(I2C_MASTER_CLK_SRC); + I2C_MasterInit(I2C_BASEADDR_MAIN_BUS, &masterConfig, sourceClock); +} diff --git a/right/src/init_peripherials.h b/right/src/init_peripherials.h new file mode 100644 index 0000000..03f702e --- /dev/null +++ b/right/src/init_peripherials.h @@ -0,0 +1,10 @@ +#ifndef __INIT_H__ +#define __INIT_H__ + +#include "fsl_common.h" + +// Functions: + + void InitPeripherials(); + +#endif diff --git a/right/src/main.c b/right/src/main.c index 7732a7c..12b9b56 100644 --- a/right/src/main.c +++ b/right/src/main.c @@ -1,23 +1,11 @@ -#include "fsl_i2c.h" #include "include/board/clock_config.h" -#include "include/board/pin_mux.h" +#include "init_peripherials.h" #include "usb_composite_device.h" -#include "fsl_common.h" -#include "fsl_port.h" -#include "i2c.h" #include "led_driver.h" void main() { - BOARD_InitPins(); + InitPeripherials(); BOARD_BootClockRUN(); - - i2c_master_config_t masterConfig; - uint32_t sourceClock; - I2C_MasterGetDefaultConfig(&masterConfig); - masterConfig.baudRate_Bps = I2C_BAUD_RATE; - sourceClock = CLOCK_GetFreq(I2C_MASTER_CLK_SRC); - I2C_MasterInit(I2C_BASEADDR_MAIN_BUS, &masterConfig, sourceClock); - LedDriver_EnableAllLeds(); InitUsb(); diff --git a/right/src/reset_button.h b/right/src/reset_button.h new file mode 100644 index 0000000..a070a63 --- /dev/null +++ b/right/src/reset_button.h @@ -0,0 +1,16 @@ +#ifndef _RESET_BUTTON_H_ +#define _RESET_BUTTON_H_ + +// Includes: + + #include "fsl_gpio.h" + +// Macros: + + #define RESET_BUTTON_GPIO GPIOB + #define RESET_BUTTON_PORT PORTB + #define RESET_BUTTON_PIN 1 + #define RESET_BUTTON_IRQ PORTB_IRQn + #define RESET_BUTTON_IRQ_HANDLER PORTB_IRQHandler + +#endif