| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- #ifndef _ARCH_CM3_NXP_MACH_LPC1700_H_
- #define _ARCH_CM3_NXP_MACH_LPC1700_H_
- /*
- * Copyright 2011 by egnite GmbH
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. 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.
- * 3. Neither the name of the copyright holders nor the names of
- * 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 OWNER 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.
- *
- * For additional information see http://www.ethernut.de/
- */
- /*!
- * \file arch/cm3/nxp/mach/lpc1700.h
- * \brief LPC1700 peripherals
- *
- * \verbatim
- * $Id$
- * \endverbatim
- */
- #define PIN_CFGREG(p, b) ((p) * 2 + (b) / 16)
- #define PIN_CFGLSB(b) (((b) % 16) * 2)
- #define PINSEL_REG(p, b) PINSEL(PIN_CFGREG(p, b))
- #define P0_PINSEL(b) PINSEL((b) / 16)
- #define P1_PINSEL(b) PINSEL((b) / 16 + 2)
- #define P2_PINSEL(b) PINSEL((b) / 16 + 4)
- #define P3_PINSEL(b) PINSEL((b) / 16 + 6)
- #define P0_PINMODE(b) PINMODE((b) / 16)
- #define P1_PINMODE(b) PINMODE((b) / 16 + 2)
- #define P2_PINMODE(b) PINMODE((b) / 16 + 4)
- #define P3_PINMODE(b) PINMODE((b) / 16 + 6)
- #define P0_PINMODE_OD(b) PINMODE_OD((b) / 16)
- #define P1_PINMODE_OD(b) PINMODE_OD((b) / 16 + 2)
- #define P2_PINMODE_OD(b) PINMODE_OD((b) / 16 + 4)
- #define P3_PINMODE_OD(b) PINMODE_OD((b) / 16 + 6)
- #define PIN_CFGMSK(b) (3 << PIN_CFGLSB(b))
- #define PS0_P0_0_MSK (3 << 0)
- #define PS0_P0_1_MSK (3 << 2)
- #define PS0_P0_2_MSK (3 << 4)
- #define PS0_P0_3_MSK (3 << 6)
- #define PS0_P0_4_MSK (3 << 8)
- #define PS0_P0_5_MSK (3 << 10)
- #define PS0_P0_6_MSK (3 << 12)
- #define PS0_P0_7_MSK (3 << 14)
- #define PS0_P0_8_MSK (3 << 16)
- #define PS0_P0_9_MSK (3 << 18)
- #define PS0_P0_10_MSK (3 << 20)
- #define PS0_P0_11_MSK (3 << 22)
- #define PS0_P0_12_MSK (3 << 24)
- #define PS0_P0_13_MSK (3 << 26)
- #define PS0_P0_14_MSK (3 << 28)
- #define PS0_P0_15_MSK (3 << 30)
- #define PS1_P0_16_MSK (3 << 0)
- #define PS1_P0_17_MSK (3 << 2)
- #define PS1_P0_18_MSK (3 << 4)
- #define PS1_P0_19_MSK (3 << 6)
- #define PS1_P0_20_MSK (3 << 8)
- #define PS1_P0_21_MSK (3 << 10)
- #define PS1_P0_22_MSK (3 << 12)
- #define PS1_P0_23_MSK (3 << 14)
- #define PS1_P0_24_MSK (3 << 16)
- #define PS1_P0_25_MSK (3 << 18)
- #define PS1_P0_26_MSK (3 << 20)
- #define PS1_P0_27_MSK (3 << 22)
- #define PS1_P0_28_MSK (3 << 24)
- #define PS1_P0_29_MSK (3 << 26)
- #define PS1_P0_30_MSK (3 << 28)
- #define PS1_P0_31_MSK (3 << 30)
- #define PS2_P1_0_MSK (3 << 0)
- #define PS2_P1_1_MSK (3 << 2)
- #define PS2_P1_2_MSK (3 << 4)
- #define PS2_P1_3_MSK (3 << 6)
- #define PS2_P1_4_MSK (3 << 8)
- #define PS2_P1_5_MSK (3 << 10)
- #define PS2_P1_6_MSK (3 << 12)
- #define PS2_P1_7_MSK (3 << 14)
- #define PS2_P1_8_MSK (3 << 16)
- #define PS2_P1_9_MSK (3 << 18)
- #define PS2_P1_10_MSK (3 << 20)
- #define PS2_P1_11_MSK (3 << 22)
- #define PS2_P1_12_MSK (3 << 24)
- #define PS2_P1_13_MSK (3 << 26)
- #define PS2_P1_14_MSK (3 << 28)
- #define PS2_P1_15_MSK (3 << 30)
- #define PS3_P1_16_MSK (3 << 0)
- #define PS3_P1_17_MSK (3 << 2)
- #define PS3_P1_18_MSK (3 << 4)
- #define PS3_P1_19_MSK (3 << 6)
- #define PS3_P1_20_MSK (3 << 8)
- #define PS3_P1_21_MSK (3 << 10)
- #define PS3_P1_22_MSK (3 << 12)
- #define PS3_P1_23_MSK (3 << 14)
- #define PS3_P1_24_MSK (3 << 16)
- #define PS3_P1_25_MSK (3 << 18)
- #define PS3_P1_26_MSK (3 << 20)
- #define PS3_P1_27_MSK (3 << 22)
- #define PS3_P1_28_MSK (3 << 24)
- #define PS3_P1_29_MSK (3 << 26)
- #define PS3_P1_30_MSK (3 << 28)
- #define PS3_P1_31_MSK (3 << 30)
- #define PS4_P2_0_MSK (3 << 0)
- #define PS4_P2_1_MSK (3 << 2)
- #define PS4_P2_2_MSK (3 << 4)
- #define PS4_P2_3_MSK (3 << 6)
- #define PS4_P2_4_MSK (3 << 8)
- #define PS4_P2_5_MSK (3 << 10)
- #define PS4_P2_6_MSK (3 << 12)
- #define PS4_P2_7_MSK (3 << 14)
- #define PS4_P2_8_MSK (3 << 16)
- #define PS4_P2_9_MSK (3 << 18)
- #define PS4_P2_10_MSK (3 << 20)
- #define PS4_P2_11_MSK (3 << 22)
- #define PS4_P2_12_MSK (3 << 24)
- #define PS4_P2_13_MSK (3 << 26)
- #define PS4_P2_14_MSK (3 << 28)
- #define PS4_P2_15_MSK (3 << 30)
- #define PS5_P2_16_MSK (3 << 0)
- #define PS5_P2_17_MSK (3 << 2)
- #define PS5_P2_18_MSK (3 << 4)
- #define PS5_P2_19_MSK (3 << 6)
- #define PS5_P2_20_MSK (3 << 8)
- #define PS5_P2_21_MSK (3 << 10)
- #define PS5_P2_22_MSK (3 << 12)
- #define PS5_P2_23_MSK (3 << 14)
- #define PS5_P2_24_MSK (3 << 16)
- #define PS5_P2_25_MSK (3 << 18)
- #define PS5_P2_26_MSK (3 << 20)
- #define PS5_P2_27_MSK (3 << 22)
- #define PS5_P2_28_MSK (3 << 24)
- #define PS5_P2_29_MSK (3 << 26)
- #define PS5_P2_30_MSK (3 << 28)
- #define PS5_P2_31_MSK (3 << 30)
- #define PS6_P3_0_MSK (3 << 0)
- #define PS6_P3_1_MSK (3 << 2)
- #define PS6_P3_2_MSK (3 << 4)
- #define PS6_P3_3_MSK (3 << 6)
- #define PS6_P3_4_MSK (3 << 8)
- #define PS6_P3_5_MSK (3 << 10)
- #define PS6_P3_6_MSK (3 << 12)
- #define PS6_P3_7_MSK (3 << 14)
- #define PS6_P3_8_MSK (3 << 16)
- #define PS6_P3_9_MSK (3 << 18)
- #define PS6_P3_10_MSK (3 << 20)
- #define PS6_P3_11_MSK (3 << 22)
- #define PS6_P3_12_MSK (3 << 24)
- #define PS6_P3_13_MSK (3 << 26)
- #define PS6_P3_14_MSK (3 << 28)
- #define PS6_P3_15_MSK (3 << 30)
- #define PS7_P3_16_MSK (3 << 0)
- #define PS7_P3_17_MSK (3 << 2)
- #define PS7_P3_18_MSK (3 << 4)
- #define PS7_P3_19_MSK (3 << 6)
- #define PS7_P3_20_MSK (3 << 8)
- #define PS7_P3_21_MSK (3 << 10)
- #define PS7_P3_22_MSK (3 << 12)
- #define PS7_P3_23_MSK (3 << 14)
- #define PS7_P3_24_MSK (3 << 16)
- #define PS7_P3_25_MSK (3 << 18)
- #define PS7_P3_26_MSK (3 << 20)
- #define PS7_P3_27_MSK (3 << 22)
- #define PS7_P3_28_MSK (3 << 24)
- #define PS7_P3_29_MSK (3 << 26)
- #define PS7_P3_30_MSK (3 << 28)
- #define PS7_P3_31_MSK (3 << 30)
- #define PS8_P4_0_MSK (3 << 0)
- #define PS8_P4_1_MSK (3 << 2)
- #define PS8_P4_2_MSK (3 << 4)
- #define PS8_P4_3_MSK (3 << 6)
- #define PS8_P4_4_MSK (3 << 8)
- #define PS8_P4_5_MSK (3 << 10)
- #define PS8_P4_6_MSK (3 << 12)
- #define PS8_P4_7_MSK (3 << 14)
- #define PS8_P4_8_MSK (3 << 16)
- #define PS8_P4_9_MSK (3 << 18)
- #define PS8_P4_10_MSK (3 << 20)
- #define PS8_P4_11_MSK (3 << 22)
- #define PS8_P4_12_MSK (3 << 24)
- #define PS8_P4_13_MSK (3 << 26)
- #define PS8_P4_14_MSK (3 << 28)
- #define PS8_P4_15_MSK (3 << 30)
- #define PS9_P4_16_MSK (3 << 0)
- #define PS9_P4_17_MSK (3 << 2)
- #define PS9_P4_18_MSK (3 << 4)
- #define PS9_P4_19_MSK (3 << 6)
- #define PS9_P4_20_MSK (3 << 8)
- #define PS9_P4_21_MSK (3 << 10)
- #define PS9_P4_22_MSK (3 << 12)
- #define PS9_P4_23_MSK (3 << 14)
- #define PS9_P4_24_MSK (3 << 16)
- #define PS9_P4_25_MSK (3 << 18)
- #define PS9_P4_26_MSK (3 << 20)
- #define PS9_P4_27_MSK (3 << 22)
- #define PS9_P4_28_MSK (3 << 24)
- #define PS9_P4_29_MSK (3 << 26)
- #define PS9_P4_30_MSK (3 << 28)
- #define PS9_P4_31_MSK (3 << 30)
- #if defined (MCU_LPC1768)
- #include <arch/cm3/nxp/mach/lpc1768.h>
- #endif
- #endif
|