Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-dev by
targets/hal/TARGET_ONSEMI/TARGET_NCS36510/gpio.h@144:ef7eb2e8f9f7, 2016-09-02 (annotated)
- Committer:
- <>
- Date:
- Fri Sep 02 15:07:44 2016 +0100
- Revision:
- 144:ef7eb2e8f9f7
- Child:
- 147:30b64687e01f
This updates the lib to the mbed lib v125
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
<> | 144:ef7eb2e8f9f7 | 1 | /** |
<> | 144:ef7eb2e8f9f7 | 2 | ****************************************************************************** |
<> | 144:ef7eb2e8f9f7 | 3 | * @file gpio.h |
<> | 144:ef7eb2e8f9f7 | 4 | * @brief (API) Public header of GPIO driver |
<> | 144:ef7eb2e8f9f7 | 5 | * @internal |
<> | 144:ef7eb2e8f9f7 | 6 | * @author ON Semiconductor |
<> | 144:ef7eb2e8f9f7 | 7 | * $Rev: 3724 $ |
<> | 144:ef7eb2e8f9f7 | 8 | * $Date: 2015-09-14 14:35:42 +0530 (Mon, 14 Sep 2015) $ |
<> | 144:ef7eb2e8f9f7 | 9 | ****************************************************************************** |
<> | 144:ef7eb2e8f9f7 | 10 | * @copyright (c) 2012 ON Semiconductor. All rights reserved. |
<> | 144:ef7eb2e8f9f7 | 11 | * ON Semiconductor is supplying this software for use with ON Semiconductor |
<> | 144:ef7eb2e8f9f7 | 12 | * processor based microcontrollers only. |
<> | 144:ef7eb2e8f9f7 | 13 | * |
<> | 144:ef7eb2e8f9f7 | 14 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED |
<> | 144:ef7eb2e8f9f7 | 15 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF |
<> | 144:ef7eb2e8f9f7 | 16 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. |
<> | 144:ef7eb2e8f9f7 | 17 | * ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, |
<> | 144:ef7eb2e8f9f7 | 18 | * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
<> | 144:ef7eb2e8f9f7 | 19 | * @endinternal |
<> | 144:ef7eb2e8f9f7 | 20 | * |
<> | 144:ef7eb2e8f9f7 | 21 | * @ingroup gpio |
<> | 144:ef7eb2e8f9f7 | 22 | * |
<> | 144:ef7eb2e8f9f7 | 23 | * @details |
<> | 144:ef7eb2e8f9f7 | 24 | * |
<> | 144:ef7eb2e8f9f7 | 25 | * <h1> General description </h1> |
<> | 144:ef7eb2e8f9f7 | 26 | * <p> |
<> | 144:ef7eb2e8f9f7 | 27 | * The APB GPIO is a configurable module allowing the use of 14 I/O lines. |
<> | 144:ef7eb2e8f9f7 | 28 | * Each line can be configured independently. |
<> | 144:ef7eb2e8f9f7 | 29 | * The GPIO module supports a wide variety of features concerning interrupts, |
<> | 144:ef7eb2e8f9f7 | 30 | * which can be triggered by a low level, high level, positive or negative edge, |
<> | 144:ef7eb2e8f9f7 | 31 | * or both edges. |
<> | 144:ef7eb2e8f9f7 | 32 | * </p> |
<> | 144:ef7eb2e8f9f7 | 33 | * |
<> | 144:ef7eb2e8f9f7 | 34 | */ |
<> | 144:ef7eb2e8f9f7 | 35 | |
<> | 144:ef7eb2e8f9f7 | 36 | #ifndef GPIO_H_ |
<> | 144:ef7eb2e8f9f7 | 37 | #define GPIO_H_ |
<> | 144:ef7eb2e8f9f7 | 38 | |
<> | 144:ef7eb2e8f9f7 | 39 | #ifdef __cplusplus |
<> | 144:ef7eb2e8f9f7 | 40 | extern "C" { |
<> | 144:ef7eb2e8f9f7 | 41 | #endif |
<> | 144:ef7eb2e8f9f7 | 42 | |
<> | 144:ef7eb2e8f9f7 | 43 | #include "memory_map.h" |
<> | 144:ef7eb2e8f9f7 | 44 | #include "gpio_map.h" |
<> | 144:ef7eb2e8f9f7 | 45 | #include "pad_map.h" |
<> | 144:ef7eb2e8f9f7 | 46 | #include "crossbar.h" |
<> | 144:ef7eb2e8f9f7 | 47 | #include "clock.h" |
<> | 144:ef7eb2e8f9f7 | 48 | #include "pad.h" |
<> | 144:ef7eb2e8f9f7 | 49 | |
<> | 144:ef7eb2e8f9f7 | 50 | |
<> | 144:ef7eb2e8f9f7 | 51 | /** output configuration push/pull */ |
<> | 144:ef7eb2e8f9f7 | 52 | #define PAD_OUTCFG_PUSHPULL (uint8_t)0x00 |
<> | 144:ef7eb2e8f9f7 | 53 | |
<> | 144:ef7eb2e8f9f7 | 54 | /** output configuration open drain */ |
<> | 144:ef7eb2e8f9f7 | 55 | #define PAD_OOUTCFG_OPENDRAIN (uint8_t)0x01 |
<> | 144:ef7eb2e8f9f7 | 56 | |
<> | 144:ef7eb2e8f9f7 | 57 | /** no pull up nor pull down */ |
<> | 144:ef7eb2e8f9f7 | 58 | #define PAD_PULL_NONE (uint8_t)0x01 |
<> | 144:ef7eb2e8f9f7 | 59 | |
<> | 144:ef7eb2e8f9f7 | 60 | /** pull down */ |
<> | 144:ef7eb2e8f9f7 | 61 | #define PAD_PULL_DOWN (uint8_t)0x00 |
<> | 144:ef7eb2e8f9f7 | 62 | |
<> | 144:ef7eb2e8f9f7 | 63 | /** pull up */ |
<> | 144:ef7eb2e8f9f7 | 64 | #define PAD_PULL_UP (uint8_t)0x03 |
<> | 144:ef7eb2e8f9f7 | 65 | |
<> | 144:ef7eb2e8f9f7 | 66 | /* Number of DIO lines supported by NCS36510 */ |
<> | 144:ef7eb2e8f9f7 | 67 | #define NUMBER_OF_GPIO ((uint8_t)0x12) |
<> | 144:ef7eb2e8f9f7 | 68 | |
<> | 144:ef7eb2e8f9f7 | 69 | /* All DIO lines set to 1 */ |
<> | 144:ef7eb2e8f9f7 | 70 | #define IO_ALL ((uint32_t)0x3FFFF) |
<> | 144:ef7eb2e8f9f7 | 71 | #define IO_NONE ((uint32_t)0x00000) |
<> | 144:ef7eb2e8f9f7 | 72 | |
<> | 144:ef7eb2e8f9f7 | 73 | /* Gpio handler */ |
<> | 144:ef7eb2e8f9f7 | 74 | void fGpioHandler(void); |
<> | 144:ef7eb2e8f9f7 | 75 | |
<> | 144:ef7eb2e8f9f7 | 76 | #ifdef __cplusplus |
<> | 144:ef7eb2e8f9f7 | 77 | } |
<> | 144:ef7eb2e8f9f7 | 78 | #endif |
<> | 144:ef7eb2e8f9f7 | 79 | |
<> | 144:ef7eb2e8f9f7 | 80 | #endif /* GPIO_H_ */ |