summaryrefslogtreecommitdiff
path: root/misc/Obsoleted/configs/16z/src/z16f_lowinit.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc/Obsoleted/configs/16z/src/z16f_lowinit.c')
-rw-r--r--misc/Obsoleted/configs/16z/src/z16f_lowinit.c300
1 files changed, 300 insertions, 0 deletions
diff --git a/misc/Obsoleted/configs/16z/src/z16f_lowinit.c b/misc/Obsoleted/configs/16z/src/z16f_lowinit.c
new file mode 100644
index 000000000..a91980118
--- /dev/null
+++ b/misc/Obsoleted/configs/16z/src/z16f_lowinit.c
@@ -0,0 +1,300 @@
+/***************************************************************************
+ * configs/16z/src/z16f_lowinit.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Based upon sample code included with the Zilog ZDS-II toolchain.
+ *
+ * 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 NuttX 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 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.
+ *
+ ***************************************************************************/
+
+/***************************************************************************
+ * Included Files
+ ***************************************************************************/
+
+#include <nuttx/config.h>
+
+#include "chip/chip.h"
+
+/***************************************************************************
+ * Pre-processor Definitions
+ ***************************************************************************/
+
+/***************************************************************************
+ * Private Functions
+ ***************************************************************************/
+
+/***************************************************************************
+ * Name: z16f_extcsinit
+ ***************************************************************************/
+
+static void z16f_extcsinit(void)
+{
+ /* CS0 enabled, Data [0:7]
+ * Post Read: No wait states; Chip select: 1 wait state
+ */
+
+ putreg16(0x9001, Z16F_EXTCS0);
+
+ /* CS1 enabled, Data [0:7]
+ * Post Read: No wait states; Chip select: 1 wait state
+ */
+
+ putreg16(0x9001, Z16F_EXTCS1);
+
+ /* CS2 enabled, Data [0:7]
+ * Post Read: 1 wait state; Chip select: 1 wait state
+ */
+
+ putreg16(0x9011, Z16F_EXTCS2);
+
+ /* CS3 enabled, Data [0:7]
+ * Post Read: 1 wait state; Chip select: 5 wait states
+ */
+
+ putreg16(0x9015, Z16F_EXTCS3);
+
+ /* CS4 enabled, Data [0:7]
+ * Post Read: 1 wait state; Chip select: 5 wait states
+ */
+
+ putreg16(0x9015, Z16F_EXTCS4);
+
+ /* CS5 enabled, Data [0:7]
+ * Post Read: 1 wait state; Chip select: 5 wait states
+ */
+
+ putreg16(0x9015, Z16F_EXTCS5);
+
+ /* Enable the 8-bit external bus interface */
+
+ putreg8(0x40, Z16F_EXTCT);
+}
+
+/***************************************************************************
+ * Name: z16f_gpioinit
+ *
+ * Description:
+ * Configure board-specific GPIO usage here. Driver pin configurations
+ * are set in the associated device drivers (such as UART, SPI, I2C,
+ * etc.) and must be preserved.
+ *
+ ***************************************************************************/
+
+static void z16f_gpioinit(void)
+{
+ /* NOTE: Here we assume that all ports are in the default reset state */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PA0/T0IN/T0OUT/DMA0REQ GP8 PS/2 / GPIO, Expansion slots
+ * PA1/T0OUT/DMA0ACK GP9 PS/2 / GPIO, Expansion slots
+ * PA2/DE0/FAULTY ~INTI Power section, RF transceiver (1)
+ * PA3/CTS0/FAULT0 ~INTX Expansion slots
+ * PA4/RXD0/CS1 RXD MAX3232D RS-232
+ * PA5/TXD0/CS2 TXD MAX3232D RS-232
+ * PA6/SCL/CS3 SCL RTC / UID, Expansion slots
+ * PA7/SDA/CS4 SDA RTC / UID, Expansion slots
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0x9f, Z16F_GPIOA_DD); /* Inputs: GP8, GP9, ~INTI, ~INTX, RXD, and SDA */
+ putreg8(0x03, Z16F_GPIOA_HDE); /* High drive current: GP8 and GP9 */
+ putreg8(0xf0, Z16F_GPIOA_AFL); /* RXD=Alt 1, TXD=Alt 1, SCL=Alt 1, SDA=Alt 1 */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PB0/ANA0/T0IN0 GP0 Expansion slots
+ * PB1/ANA1/T0IN1 GP1 Expansion slots
+ * PB2/ANA2/T0IN2 GP2 Expansion slots
+ * PB3/ANA3/OPOUT GP3 Expansion slots
+ * PB4/ANA4 GP4 Expansion slots
+ * PB5/ANA5 GP5 Expansion slots
+ * PB6/ANA6/OPINP/CINN GP6 Expansion slots
+ * PB7/ANA7/OPINN GP7 Expansion slots
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0xff, Z16F_GPIOB_DD); /* Inputs: all */
+ putreg8(0xff, Z16F_GPIOB_HDE); /* High drive current: all */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PC0/T1IN/T1OUT/DMA1REQ/CINN GP10 PS/2 / GPIO, Expansion slots
+ * PC1/T1OUT/DMA1ACK/COMPOUT GP11 PS/2 / GPIO, Expansion slots
+ * PC2/SS/CS4 ~EXP Expansion slots
+ * PC3/SCK/DMA2REQ SCK FT800Q, Serial memory (1), RF Transceiver (1),
+ * Expansion slots, SD0, 1, and 2
+ * PC4/MOSI/DMA2ACK MOSI FT800Q, Serial memory (1), RF Transceiver (1),
+ * Expansion slots, SD0, 1, and 2
+ * PC5/MISO/CS5 MISO FT800Q, Serial memory (1), RF Transceiver (1),
+ * Expansion slots, SD0, 1, and 2
+ * PC6/T2IN/T2OUT/PWMH0 ~CTS MAX3232D RS-232
+ * PC7/T2OUT/PWML0 ~RTS MAX3232D RS-232, Power section (?)
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0x63, Z16F_GPIOC_DD); /* Inputs: GP10, GP11, MISO, and ~CTS */
+ putreg8(0x03, Z16F_GPIOC_HDE); /* High drive current: GP10 and GP11 */
+ putreg8(0x38, Z16F_GPIOC_AFL); /* SCK=Alt 1, MOSI=Alt 1, MISO=Alt 1 */
+ putreg8(0x04, Z16F_GPIOC_OUT); /* ~EXP output high */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PD0/PWMH1/ADR20 A20 RAM, Expansion slots
+ * PD1/PWML1/ADR21 A21 RAM, Expansion slots
+ * PD2/PWMH2/ADR22 A22 RAM, Expansion slots
+ * PD3/DE1/ADR16 A16 RAM, Expansion slots
+ * PD4/RXD1/ADR18 A18 RAM, Expansion slots
+ * PD5/TXD1/ADR19 A19 RAM, Expansion slots
+ * PD6/CTS1/ADR17 A17 RAM, Expansion slots
+ * PD7/PWML2/ADR23 A23 Expansion slots
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0x00, Z16F_GPIOD_DD); /* Inputs: None */
+ putreg8(0xff, Z16F_GPIOD_AFH); /* All=Alt 2
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PE0/DATA0 D0 RAM, Expansion slots
+ * PE1/DATA1 D1 RAM, Expansion slots
+ * PE2/DATA2 D2 RAM, Expansion slots
+ * PE3/DATA3 D3 RAM, Expansion slots
+ * PE4/DATA4 D4 RAM, Expansion slots
+ * PE5/DATA5 D5 RAM, Expansion slots
+ * PE6/DATA6 D6 RAM, Expansion slots
+ * PE7/DATA7 D7 RAM, Expansion slots
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0xff, Z16F_GPIOE_DD); /* Inputs: all */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PF0/ADR0 A0 Expansion slots
+ * PF1/ADR1 A1 RAM, Expansion slots
+ * PF2/ADR2 A2 RAM, Expansion slots
+ * PF3/ADR3 A3 RAM, Expansion slots
+ * PF4/ADR4 A4 RAM, Expansion slots
+ * PF5/ADR5 A5 RAM, Expansion slots
+ * PF6/ADR6 A6 RAM, Expansion slots
+ * PF7/ADR7 A7 RAM, Expansion slots
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0x00, Z16F_GPIOF_DD); /* Inputs: None */
+ putreg8(0xff, Z16F_GPIOF_AFL); /* All=Alt 1 */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PG0/ADR0 A8 RAM, Expansion slots
+ * PG1/ADR0 A9 RAM, Expansion slots
+ * PG2/ADR0 A10 RAM, Expansion slots
+ * PG3/ADR0 A11 RAM, Expansion slots
+ * PG4/ADR0 A12 RAM, Expansion slots
+ * PG5/ADR0 A13 RAM, Expansion slots
+ * PG6/ADR0 A14 RAM, Expansion slots
+ * PG7/ADR0 A15 RAM, Expansion slots
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0x00, Z16F_GPIOG_DD); /* Inputs: None */
+ putreg8(0xff, Z16F_GPIOG_AFL); /* All=Alt 1 */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PH0/ANA8/WR ~WR RAM, Expansion slots
+ * PH1/ANA9/RD ~RD RAM, Expansion slots
+ * PH2/ANA10/CS0 ~RF LED3, RF transceiver, X2 (1)
+ * PH3/ANA11/CINP/WAIT ~SXM LED4, Chip select for the serial memory, U4 (1)
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0xf0, Z16F_GPIOH_DD); /* Inputs: None (PH4-PH7 undefined) */
+ putreg8(0x03, Z16F_GPIOH_AFH); /*~WR=Alt2 ~RD=Alt 2 */
+ putreg8(0x0c, Z16F_GPIOH_OUT); /* Output high: ~RF and ~SXM */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PJ0/DATA8 ~SD1 LED5, Chip select for the SD card 1, X11.
+ * PJ1/DATA9 ~DT1 Card detect for SD card 1
+ * PJ2/DATA10 WP1 Write protect for SD card 1
+ * PJ3/DATA11 EVE EVE chip select
+ * PJ4/DATA12 ~SD2 LED6, Chip select for the SD card 2, X10.
+ * PJ5/DATA13 ~DT2 Card detect for SD card 2
+ * PJ6/DATA14 WP2 Write protect for SD card 2
+ * PJ7/DATA15 ~SD0 LED7, Chip select for the microSD 0, X12.
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0x66, Z16F_GPIOJ_DD); /* Inputs: ~DT1, WP1, ~DT2, and WP2 */
+ putreg8(0x99, Z16F_GPIOJ_OUT); /* Output high: ~SD1, EVE, ~SD2, ~SD0 */
+
+ /* --------------------------- ------ --------------------------------------------
+ * GPIO SIGNAL On-Board Connections
+ * --------------------------- ------ --------------------------------------------
+ * PK0/BHEN ~BHE RAM, Expansion slots
+ * PK1/BLEN ~BLE RAM, Expansion slots
+ * PK2/CS0 ~0000 Bottom RAM bank, Expansion slots
+ * PK3/CS1 ~8000 Top RAM bank, Expansion slots
+ * PK4/CS2 ~F000 Expansion slots
+ * PK5/CS3 ~FFC8 Expansion slots
+ * PK6/CS4 ~FFD0 Expansion slots
+ * PK7/CS5 ~FFD8 Expansion slots
+ * --------------------------- ------ --------------------------------------------
+ */
+
+ putreg8(0x00, Z16F_GPIOK_DD); /* Inputs: None */
+ putreg8(0xff, Z16F_GPIOK_AFL); /* All=Alt 1 */
+}
+
+/***************************************************************************
+ * Public Functions
+ ***************************************************************************/
+
+/***************************************************************************
+ * Name: z16f_lowinit
+ ***************************************************************************/
+
+void z16f_lowinit(void)
+{
+ z16f_extcsinit(); /* Configure external memory */
+ z16f_gpioinit(); /* Configure board GPIOs */
+}