The official mbed C/C SDK provides the software platform and libraries to build your applications.
Fork of mbed by
TARGET_RZ_A1H/pwm_iodefine.h@92:4fc01daae5a5, 2014-11-27 (annotated)
- Committer:
- bogdanm
- Date:
- Thu Nov 27 13:33:22 2014 +0000
- Revision:
- 92:4fc01daae5a5
Release 92 of the mbed libray
Main changes:
- nRF51822: fixed pin assignment issues
- ST targets moving to the STM32Cube driver
- LPC1439: fixed serial interrupt issue
- first Cortex-A platform supported in mbed (RZ_A1H)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bogdanm | 92:4fc01daae5a5 | 1 | /******************************************************************************* |
bogdanm | 92:4fc01daae5a5 | 2 | * DISCLAIMER |
bogdanm | 92:4fc01daae5a5 | 3 | * This software is supplied by Renesas Electronics Corporation and is only |
bogdanm | 92:4fc01daae5a5 | 4 | * intended for use with Renesas products. No other uses are authorized. This |
bogdanm | 92:4fc01daae5a5 | 5 | * software is owned by Renesas Electronics Corporation and is protected under |
bogdanm | 92:4fc01daae5a5 | 6 | * all applicable laws, including copyright laws. |
bogdanm | 92:4fc01daae5a5 | 7 | * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING |
bogdanm | 92:4fc01daae5a5 | 8 | * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT |
bogdanm | 92:4fc01daae5a5 | 9 | * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE |
bogdanm | 92:4fc01daae5a5 | 10 | * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. |
bogdanm | 92:4fc01daae5a5 | 11 | * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS |
bogdanm | 92:4fc01daae5a5 | 12 | * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE |
bogdanm | 92:4fc01daae5a5 | 13 | * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR |
bogdanm | 92:4fc01daae5a5 | 14 | * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE |
bogdanm | 92:4fc01daae5a5 | 15 | * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
bogdanm | 92:4fc01daae5a5 | 16 | * Renesas reserves the right, without notice, to make changes to this software |
bogdanm | 92:4fc01daae5a5 | 17 | * and to discontinue the availability of this software. By using this software, |
bogdanm | 92:4fc01daae5a5 | 18 | * you agree to the additional terms and conditions found by accessing the |
bogdanm | 92:4fc01daae5a5 | 19 | * following link: |
bogdanm | 92:4fc01daae5a5 | 20 | * http://www.renesas.com/disclaimer* |
bogdanm | 92:4fc01daae5a5 | 21 | * Copyright (C) 2013-2014 Renesas Electronics Corporation. All rights reserved. |
bogdanm | 92:4fc01daae5a5 | 22 | *******************************************************************************/ |
bogdanm | 92:4fc01daae5a5 | 23 | /******************************************************************************* |
bogdanm | 92:4fc01daae5a5 | 24 | * File Name : pwm_iodefine.h |
bogdanm | 92:4fc01daae5a5 | 25 | * $Rev: $ |
bogdanm | 92:4fc01daae5a5 | 26 | * $Date:: $ |
bogdanm | 92:4fc01daae5a5 | 27 | * Description : Definition of I/O Register (V1.00a) |
bogdanm | 92:4fc01daae5a5 | 28 | ******************************************************************************/ |
bogdanm | 92:4fc01daae5a5 | 29 | #ifndef PWM_IODEFINE_H |
bogdanm | 92:4fc01daae5a5 | 30 | #define PWM_IODEFINE_H |
bogdanm | 92:4fc01daae5a5 | 31 | /* ->MISRA 18.4 : Pack unpack union */ /* ->SEC M1.6.2 */ |
bogdanm | 92:4fc01daae5a5 | 32 | /* ->SEC M1.10.1 : Not magic number */ |
bogdanm | 92:4fc01daae5a5 | 33 | |
bogdanm | 92:4fc01daae5a5 | 34 | union reg16_8_t |
bogdanm | 92:4fc01daae5a5 | 35 | { |
bogdanm | 92:4fc01daae5a5 | 36 | volatile uint16_t UINT16; /* 16-bit Access */ |
bogdanm | 92:4fc01daae5a5 | 37 | volatile uint8_t UINT8[2]; /* 8-bit Access */ |
bogdanm | 92:4fc01daae5a5 | 38 | }; |
bogdanm | 92:4fc01daae5a5 | 39 | |
bogdanm | 92:4fc01daae5a5 | 40 | struct st_pwm |
bogdanm | 92:4fc01daae5a5 | 41 | { /* PWM */ |
bogdanm | 92:4fc01daae5a5 | 42 | volatile uint8_t dummy559[2]; /* */ |
bogdanm | 92:4fc01daae5a5 | 43 | union reg16_8_t PWBTCR; /* PWBTCR */ |
bogdanm | 92:4fc01daae5a5 | 44 | |
bogdanm | 92:4fc01daae5a5 | 45 | volatile uint8_t dummy560[216]; /* */ |
bogdanm | 92:4fc01daae5a5 | 46 | |
bogdanm | 92:4fc01daae5a5 | 47 | /* start of struct st_pwm_common */ |
bogdanm | 92:4fc01daae5a5 | 48 | union reg16_8_t PWCR_1; /* PWCR_1 */ |
bogdanm | 92:4fc01daae5a5 | 49 | |
bogdanm | 92:4fc01daae5a5 | 50 | volatile uint8_t dummy561[2]; /* */ |
bogdanm | 92:4fc01daae5a5 | 51 | union reg16_8_t PWPR_1; /* PWPR_1 */ |
bogdanm | 92:4fc01daae5a5 | 52 | |
bogdanm | 92:4fc01daae5a5 | 53 | volatile uint16_t PWCYR_1; /* PWCYR_1 */ |
bogdanm | 92:4fc01daae5a5 | 54 | volatile uint16_t PWBFR_1A; /* PWBFR_1A */ |
bogdanm | 92:4fc01daae5a5 | 55 | volatile uint16_t PWBFR_1C; /* PWBFR_1C */ |
bogdanm | 92:4fc01daae5a5 | 56 | volatile uint16_t PWBFR_1E; /* PWBFR_1E */ |
bogdanm | 92:4fc01daae5a5 | 57 | volatile uint16_t PWBFR_1G; /* PWBFR_1G */ |
bogdanm | 92:4fc01daae5a5 | 58 | /* end of struct st_pwm_common */ |
bogdanm | 92:4fc01daae5a5 | 59 | |
bogdanm | 92:4fc01daae5a5 | 60 | /* start of struct st_pwm_common */ |
bogdanm | 92:4fc01daae5a5 | 61 | union reg16_8_t PWCR_2; /* PWCR_2 */ |
bogdanm | 92:4fc01daae5a5 | 62 | |
bogdanm | 92:4fc01daae5a5 | 63 | volatile uint8_t dummy562[2]; /* */ |
bogdanm | 92:4fc01daae5a5 | 64 | union reg16_8_t PWPR_2; /* PWPR_2 */ |
bogdanm | 92:4fc01daae5a5 | 65 | |
bogdanm | 92:4fc01daae5a5 | 66 | volatile uint16_t PWCYR_2; /* PWCYR_2 */ |
bogdanm | 92:4fc01daae5a5 | 67 | volatile uint16_t PWBFR_2A; /* PWBFR_2A */ |
bogdanm | 92:4fc01daae5a5 | 68 | volatile uint16_t PWBFR_2C; /* PWBFR_2C */ |
bogdanm | 92:4fc01daae5a5 | 69 | volatile uint16_t PWBFR_2E; /* PWBFR_2E */ |
bogdanm | 92:4fc01daae5a5 | 70 | volatile uint16_t PWBFR_2G; /* PWBFR_2G */ |
bogdanm | 92:4fc01daae5a5 | 71 | /* end of struct st_pwm_common */ |
bogdanm | 92:4fc01daae5a5 | 72 | }; |
bogdanm | 92:4fc01daae5a5 | 73 | |
bogdanm | 92:4fc01daae5a5 | 74 | |
bogdanm | 92:4fc01daae5a5 | 75 | struct st_pwm_common |
bogdanm | 92:4fc01daae5a5 | 76 | { |
bogdanm | 92:4fc01daae5a5 | 77 | union reg16_8_t PWCR_1; /* PWCR_1 */ |
bogdanm | 92:4fc01daae5a5 | 78 | |
bogdanm | 92:4fc01daae5a5 | 79 | volatile uint8_t dummy572[2]; /* */ |
bogdanm | 92:4fc01daae5a5 | 80 | union reg16_8_t PWPR_1; /* PWPR_1 */ |
bogdanm | 92:4fc01daae5a5 | 81 | |
bogdanm | 92:4fc01daae5a5 | 82 | volatile uint16_t PWCYR_1; /* PWCYR_1 */ |
bogdanm | 92:4fc01daae5a5 | 83 | volatile uint16_t PWBFR_1A; /* PWBFR_1A */ |
bogdanm | 92:4fc01daae5a5 | 84 | volatile uint16_t PWBFR_1C; /* PWBFR_1C */ |
bogdanm | 92:4fc01daae5a5 | 85 | volatile uint16_t PWBFR_1E; /* PWBFR_1E */ |
bogdanm | 92:4fc01daae5a5 | 86 | volatile uint16_t PWBFR_1G; /* PWBFR_1G */ |
bogdanm | 92:4fc01daae5a5 | 87 | }; |
bogdanm | 92:4fc01daae5a5 | 88 | |
bogdanm | 92:4fc01daae5a5 | 89 | |
bogdanm | 92:4fc01daae5a5 | 90 | #define PWM (*(struct st_pwm *)0xFCFF5004uL) /* PWM */ |
bogdanm | 92:4fc01daae5a5 | 91 | |
bogdanm | 92:4fc01daae5a5 | 92 | |
bogdanm | 92:4fc01daae5a5 | 93 | /* Start of channnel array defines of PWM */ |
bogdanm | 92:4fc01daae5a5 | 94 | |
bogdanm | 92:4fc01daae5a5 | 95 | /* Channnel array defines of PWMn */ |
bogdanm | 92:4fc01daae5a5 | 96 | /*(Sample) value = PWMn[ channel ]->PWCR_1.UINT16; */ |
bogdanm | 92:4fc01daae5a5 | 97 | #define PWMn_COUNT 2 |
bogdanm | 92:4fc01daae5a5 | 98 | #define PWMn_ADDRESS_LIST \ |
bogdanm | 92:4fc01daae5a5 | 99 | { /* ->MISRA 11.3 */ /* ->SEC R2.7.1 */ \ |
bogdanm | 92:4fc01daae5a5 | 100 | &PWM1, &PWM2 \ |
bogdanm | 92:4fc01daae5a5 | 101 | } /* <-MISRA 11.3 */ /* <-SEC R2.7.1 */ /* { } is for MISRA 19.4 */ |
bogdanm | 92:4fc01daae5a5 | 102 | #define PWM1 (*(struct st_pwm_common *)&PWM.PWCR_1) /* PWM1 */ |
bogdanm | 92:4fc01daae5a5 | 103 | #define PWM2 (*(struct st_pwm_common *)&PWM.PWCR_2) /* PWM2 */ |
bogdanm | 92:4fc01daae5a5 | 104 | |
bogdanm | 92:4fc01daae5a5 | 105 | /* End of channnel array defines of PWM */ |
bogdanm | 92:4fc01daae5a5 | 106 | |
bogdanm | 92:4fc01daae5a5 | 107 | |
bogdanm | 92:4fc01daae5a5 | 108 | #define PWMPWBTCR PWM.PWBTCR.UINT16 |
bogdanm | 92:4fc01daae5a5 | 109 | #define PWMPWBTCR_BYTE_L PWM.PWBTCR.UINT8[0] |
bogdanm | 92:4fc01daae5a5 | 110 | #define PWMPWBTCR_BYTE_H PWM.PWBTCR.UINT8[1] |
bogdanm | 92:4fc01daae5a5 | 111 | #define PWMPWCR_1 PWM.PWCR_1.UINT16 |
bogdanm | 92:4fc01daae5a5 | 112 | #define PWMPWCR_1_BYTE_L PWM.PWCR_1.UINT8[0] |
bogdanm | 92:4fc01daae5a5 | 113 | #define PWMPWCR_1_BYTE_H PWM.PWCR_1.UINT8[1] |
bogdanm | 92:4fc01daae5a5 | 114 | #define PWMPWPR_1 PWM.PWPR_1.UINT16 |
bogdanm | 92:4fc01daae5a5 | 115 | #define PWMPWPR_1_BYTE_L PWM.PWPR_1.UINT8[0] |
bogdanm | 92:4fc01daae5a5 | 116 | #define PWMPWPR_1_BYTE_H PWM.PWPR_1.UINT8[1] |
bogdanm | 92:4fc01daae5a5 | 117 | #define PWMPWCYR_1 PWM.PWCYR_1 |
bogdanm | 92:4fc01daae5a5 | 118 | #define PWMPWBFR_1A PWM.PWBFR_1A |
bogdanm | 92:4fc01daae5a5 | 119 | #define PWMPWBFR_1C PWM.PWBFR_1C |
bogdanm | 92:4fc01daae5a5 | 120 | #define PWMPWBFR_1E PWM.PWBFR_1E |
bogdanm | 92:4fc01daae5a5 | 121 | #define PWMPWBFR_1G PWM.PWBFR_1G |
bogdanm | 92:4fc01daae5a5 | 122 | #define PWMPWCR_2 PWM.PWCR_2.UINT16 |
bogdanm | 92:4fc01daae5a5 | 123 | #define PWMPWCR_2_BYTE_L PWM.PWCR_2.UINT8[0] |
bogdanm | 92:4fc01daae5a5 | 124 | #define PWMPWCR_2_BYTE_H PWM.PWCR_2.UINT8[1] |
bogdanm | 92:4fc01daae5a5 | 125 | #define PWMPWPR_2 PWM.PWPR_2.UINT16 |
bogdanm | 92:4fc01daae5a5 | 126 | #define PWMPWPR_2_BYTE_L PWM.PWPR_2.UINT8[0] |
bogdanm | 92:4fc01daae5a5 | 127 | #define PWMPWPR_2_BYTE_H PWM.PWPR_2.UINT8[1] |
bogdanm | 92:4fc01daae5a5 | 128 | #define PWMPWCYR_2 PWM.PWCYR_2 |
bogdanm | 92:4fc01daae5a5 | 129 | #define PWMPWBFR_2A PWM.PWBFR_2A |
bogdanm | 92:4fc01daae5a5 | 130 | #define PWMPWBFR_2C PWM.PWBFR_2C |
bogdanm | 92:4fc01daae5a5 | 131 | #define PWMPWBFR_2E PWM.PWBFR_2E |
bogdanm | 92:4fc01daae5a5 | 132 | #define PWMPWBFR_2G PWM.PWBFR_2G |
bogdanm | 92:4fc01daae5a5 | 133 | /* <-SEC M1.10.1 */ |
bogdanm | 92:4fc01daae5a5 | 134 | /* <-MISRA 18.4 */ /* <-SEC M1.6.2 */ |
bogdanm | 92:4fc01daae5a5 | 135 | #endif |