// Copyright 2020-2021 Beken // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #pragma once #ifdef __cplusplus extern "C" { #endif #define GPIO_DEFAULT_DEV_CONFIG \ {\ {GPIO_0, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_UART1_TXD, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_1, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_UART1_RXD, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_2, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_3, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_4, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_5, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_7, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_I2S1_SYNC, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_8, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_INPUT_ENABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_KEEP_INPUT_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_9, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_I2S1_DOUT, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_KEEP_INPUT_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_10, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_UART1_RXD, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_11, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_UART1_TXD, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_12, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_INPUT_ENABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_13, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_INPUT_ENABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_14, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_SDIO_HOST_CLK, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_15, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_SDIO_HOST_CMD, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_16, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_SDIO_HOST_DATA0, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_17, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_SDIO_HOST_DATA1, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_18, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_SDIO_HOST_DATA2, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_19, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_SDIO_HOST_DATA3, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_20, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_I2C0_SCL, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_21, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_I2C0_SDA, GPIO_IO_DISABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_3},\ {GPIO_22, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_R4, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_23, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_R3, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_24, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_G7, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_25, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_G6, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_26, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_INPUT_ENABLE, GPIO_PULL_UP_EN, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_27, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_MCLK, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_28, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_I2S1_MCLK, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_29, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PCLK, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_30, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_HSYNC, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_31, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_VSYNC, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_32, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA0, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_33, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA1, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_34, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA2, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_35, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA3, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_36, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA4, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_37, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA5, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_38, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA6, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_39, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_JPEG_PXDATA7, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_40, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_G4, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_41, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_G3, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_42, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_G2, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_43, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_B7, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_44, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_B6, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_45, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_B5, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_46, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_B4, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_47, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_B3, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_48, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_49, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_R1, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_51, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_INPUT_ENABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_0},\ {GPIO_52, GPIO_SECOND_FUNC_ENABLE, GPIO_DEV_LCD_G0, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_53, GPIO_SECOND_FUNC_DISABLE,GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_54, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ {GPIO_55, GPIO_SECOND_FUNC_DISABLE, GPIO_DEV_INVALID, GPIO_IO_DISABLE, GPIO_PULL_DISABLE, GPIO_INT_DISABLE, GPIO_INT_TYPE_LOW_LEVEL, GPIO_LOW_POWER_DISCARD_IO_STATUS, GPIO_DRIVER_CAPACITY_1},\ }