/****************************************************************************** ** ** FILE NAME : vr9_avm_fritz_box.c ** PROJECT : IFX UEIP ** MODULES : BSP Basic ** ** DATE : 21 Jan 2010 ** AUTHOR : ** DESCRIPTION : source file for VR9 ** COPYRIGHT : Copyright (c) 2009 ** Infineon Technologies AG ** Am Campeon 1-12, 85579 Neubiberg, Germany ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. ** ** HISTORY ** $Date $Author $Comment ** 27 May 2009 Xu Liang The first UEIP release *******************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include struct ifx_si_eiu_config g_si_eiu_config = { .irq = -1, // no serial input .intsync = 0, .sampling_clk = 0, .shift_clk = 0, .group = 0, .active_high = 0, }; /* GPIO PIN to Module Mapping and default PIN configuration */ struct ifx_gpio_ioctl_pin_config g_board_gpio_pin_map[] = { // module_id of last item must be IFX_GPIO_PIN_AVAILABLE {IFX_GPIO_MODULE_INTERNAL_SWITCH, IFX_GPIO_PIN_ID(0, 3), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, #ifdef CONFIG_IFX_LEDC /* * IFX LED Controller */ {IFX_GPIO_MODULE_LEDC, IFX_GPIO_PIN_ID(2, 0), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, {IFX_GPIO_MODULE_LEDC, IFX_GPIO_PIN_ID(2, 1), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, {IFX_GPIO_MODULE_LEDC, IFX_GPIO_PIN_ID(2, 3), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, #else /*--- #ifdef CONFIG_IFX_LEDC ---*/ /*------------------------------------------------------------------------------------------*\ LED GPIO: 2,0 - 2,1 - 2,2 - 2,4 - 2,6 - 2,7(HWSubrev==0)|2,3(HWSubRev>=1) - 2,15 (alle aktive low) \*------------------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 0), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 1), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 2), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 4), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 6), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, /*--- LED3/WLAN für HWSubRevision == 0: GPIO 39 (ab HWSubRevision >= 1 für IFX_GPIO_MODULE_EXTPHY_MDIO genutzt) ---*/ {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 7), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, /*--- LED3/WLAN für HWSubRevision >= 1: GPIO 35 ---*/ {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 3), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(2, 15), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_SET}, #endif /*--- #else ---*/ /*--- #ifdef CONFIG_IFX_LEDC ---*/ /*------------------------------------------------------------------------------------------*\ Taster GPIO: 0,1 Power (aktive low) / EXTIN 1 - 1,13 WLAN (aktive low) / EXTIN 0 \*------------------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(0, 1), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR }, {IFX_GPIO_MODULE_LED, IFX_GPIO_PIN_ID(1, 13), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_SET }, /*--- power off wird mit LED Modul aktiviert da ohne Taster sinnlos ---*/ {IFX_GPIO_MODULE_SYSTEM, IFX_GPIO_PIN_ID(2, 13), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, {IFX_GPIO_MODULE_PAGE, IFX_GPIO_PIN_ID(0, 11), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, #ifdef CONFIG_SERIAL_IFX_USIF_UART {IFX_GPIO_MODULE_USIF_UART, IFX_GPIO_PIN_ID(0, 11), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR }, {IFX_GPIO_MODULE_USIF_UART, IFX_GPIO_PIN_ID(0, 12), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, #endif /*--- #ifdef CONFIG_SERIAL_IFX_USIF_UART ---*/ {IFX_GPIO_MODULE_USIF_SPI, IFX_GPIO_PIN_ID(0, 11), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_USIF_SPI, IFX_GPIO_PIN_ID(0, 12), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, {IFX_GPIO_MODULE_DECT, IFX_GPIO_PIN_ID(0, 13), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_SET}, /*--------------------------------------------------------------------------------*\ AVM DECT RESET \*--------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_PIGLET, IFX_GPIO_PIN_ID(1, 14), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, /*--- {IFX_GPIO_MODULE_PIGLET, IFX_GPIO_PIN_ID(0, 3), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, ---*/ /*--------------------------------------------------------------------------------*\ AVM DECT UART \*--------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_PIGLET, IFX_GPIO_PIN_ID(0, 11), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_PIGLET, IFX_GPIO_PIN_ID(0, 12), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, /*--------------------------------------------------------------------------------*\ * AVM FPGA \*--------------------------------------------------------------------------------*/ /*--- FPGA_PROG GPIO 10 ---*/ {IFX_GPIO_MODULE_FPGA, IFX_GPIO_PIN_ID(0, 10), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, /*--- FPGA_CLK GPIO 18 ---*/ {IFX_GPIO_MODULE_FPGA, IFX_GPIO_PIN_ID(1, 2), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, /*--- FPGA_DATA GPIO 17 ---*/ {IFX_GPIO_MODULE_FPGA, IFX_GPIO_PIN_ID(1, 1), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, /*--- FPGA_DONE GPIO 5 ---*/ {IFX_GPIO_MODULE_FPGA, IFX_GPIO_PIN_ID(0, 5), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_PUDEN_SET}, /*--- FPGA_BUSY (reserved) GPIO 6 ---*/ /*--- FPGA_SUSPEND (reserved) GPIO 20 ---*/ /*--- FPGA_AWAKE (reserved) GPIO 27 ---*/ /*--------------------------------------------------------------------------------*\ AVM PCMBUS \*--------------------------------------------------------------------------------*/ // TDM/FSC - used as INPUT by default (FSC Slave) {IFX_GPIO_MODULE_PCMLINK, IFX_GPIO_PIN_ID(0, 0), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_SET | IFX_GPIO_IOCTL_PIN_CONFIG_PUDSEL_SET | IFX_GPIO_IOCTL_PIN_CONFIG_PUDEN_SET}, // TDM/DO {IFX_GPIO_MODULE_PCMLINK, IFX_GPIO_PIN_ID(1, 9), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, // TDM/DI {IFX_GPIO_MODULE_PCMLINK, IFX_GPIO_PIN_ID(2, 9), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_SET | IFX_GPIO_IOCTL_PIN_CONFIG_PUDSEL_SET | IFX_GPIO_IOCTL_PIN_CONFIG_PUDEN_SET }, // TDM/DCL - used as INPUT by default (DCL Slave) {IFX_GPIO_MODULE_PCMLINK, IFX_GPIO_PIN_ID(2, 8), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_SET | IFX_GPIO_IOCTL_PIN_CONFIG_PUDSEL_SET | IFX_GPIO_IOCTL_PIN_CONFIG_PUDEN_SET }, // SPI_CS2 {IFX_GPIO_MODULE_PCMLINK, IFX_GPIO_PIN_ID(1, 6), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR }, /*------------------------------------------------------------------------------------------*\ SPI: - P0.10 : SPI_CS4 | ALT2 | OUT | OD - P1.0 : SPI_DIN | ALT1 | IN - P1.1 : SPI_DOUT | ALT1 | OUT | OD - P1.2 : SPI_CLK | ALT1 | OUT | OD \*------------------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_SPI_FLASH, IFX_GPIO_PIN_ID(0, 10), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_SET | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, {IFX_GPIO_MODULE_SSC, IFX_GPIO_PIN_ID(1, 0), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_SSC, IFX_GPIO_PIN_ID(1, 1), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, {IFX_GPIO_MODULE_SSC, IFX_GPIO_PIN_ID(1, 2), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, /*------------------------------------------------------------------------------------------*\ NAND: - P0.13 : NAND_ALE | ALT1 | OUT - P1.7 : _NAND_CE2 | ALT1 | OUT - P1.8 : NAND_CLE | ALT1 | OUT - P3.0 : _NAND_RDB1 | ALT1 | IN - P3.1 : NAND_RD | ALT1 | OUT \*------------------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_NAND, IFX_GPIO_PIN_ID(0, 13), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_NAND, IFX_GPIO_PIN_ID(1, 7), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_NAND, IFX_GPIO_PIN_ID(1, 8), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_NAND, IFX_GPIO_PIN_ID(3, 0), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_NAND, IFX_GPIO_PIN_ID(3, 1), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, /*------------------------------------------------------------------------------------------*\ USB: - P0.5 : USB_PWR_EN1 | ALT0 | OUT | PULLUP - P0.6 : USB_FAULT_DET1 | ALT0 | IN - P0.9 : USB_FAULT_DET0 | ALT0 | IN - P0.14: USB_PWR_EN0 | ALT0 | OUT | PULLUP \*------------------------------------------------------------------------------------------*/ #if defined(CONFIG_USB_HOST_IFX) || defined(CONFIG_USB_HOST_IFX_MODULE) {IFX_GPIO_MODULE_USB, IFX_GPIO_USB_VBUS1, IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, {IFX_GPIO_MODULE_USB, IFX_GPIO_PIN_ID(0, 6), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_USB, IFX_GPIO_PIN_ID(0, 9), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, {IFX_GPIO_MODULE_USB, IFX_GPIO_USB_VBUS2, IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, #endif /*------------------------------------------------------------------------------------------*\ Ethernet + WLAN: - P0.3: ETHERNET_25MHZ | ALT1 | OUT - P2.[3|4]: ETHER_MDINT | ALT3 | IN - P2.5: _RSTN_EXTPHY1 | ALT1 | ? - P2.10: MII_MDIO | ALT1 | OUT - P2.11: MII_MDC | ALT1 | OUT - P2.12: _RSTN_EXTPHY2 | ALT1 | ? - P1.5: _RSTN_WLAN | ALT1 | ? \*------------------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_EXTPHY_25MHZ_CLOCK, IFX_GPIO_PIN_ID(0, 3), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, //{IFX_GPIO_MODULE_EXTPHY_INT, IFX_GPIO_PIN_ID(2, 4), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_IN | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_SET}, { IFX_GPIO_MODULE_EXTPHY_MDIO, IFX_GPIO_PIN_ID(2, 10), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, { IFX_GPIO_MODULE_EXTPHY_MDIO, IFX_GPIO_PIN_ID(2, 11), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_SET | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR}, { IFX_GPIO_MODULE_EXTPHY_RESET, IFX_GPIO_PIN_ID(2, 5), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR| IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, { IFX_GPIO_MODULE_EXTPHY_RESET, IFX_GPIO_PIN_ID(2, 12), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR| IFX_GPIO_IOCTL_PIN_CONFIG_OD_SET}, /*------------------------------------------------------------------------------------------*\ Testpunkte (konfiguriert als GPIO/Out/low): - P0.16 | ALT0 - P1.3 | ALT0 - P1.4 | ALT0 - P1.10 | ALT0 - P1.11 | ALT0 - P1.12 | ALT0 \*------------------------------------------------------------------------------------------*/ {IFX_GPIO_MODULE_TEST, IFX_GPIO_PIN_ID(0, 15), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_CLEAR}, {IFX_GPIO_MODULE_TEST, IFX_GPIO_PIN_ID(1, 3), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_CLEAR}, {IFX_GPIO_MODULE_TEST, IFX_GPIO_PIN_ID(1, 4), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_CLEAR}, {IFX_GPIO_MODULE_TEST, IFX_GPIO_PIN_ID(1, 10), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_CLEAR}, {IFX_GPIO_MODULE_TEST, IFX_GPIO_PIN_ID(1, 11), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_CLEAR}, {IFX_GPIO_MODULE_TEST, IFX_GPIO_PIN_ID(1, 12), IFX_GPIO_IOCTL_PIN_CONFIG_DIR_OUT | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL0_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_ALTSEL1_CLEAR | IFX_GPIO_IOCTL_PIN_CONFIG_OUTPUT_CLEAR}, /*------------------------------------------------------------------------------------------*\ fin \*------------------------------------------------------------------------------------------*/ {IFX_GPIO_PIN_AVAILABLE, 0, 0}, }; EXPORT_SYMBOL(g_board_gpio_pin_map); struct ifx_ledc_config_param g_board_ledc_hw_config = { .operation_mask = IFX_LEDC_CFG_OP_UPDATE_SOURCE | IFX_LEDC_CFG_OP_BLINK | IFX_LEDC_CFG_OP_UPDATE_CLOCK | IFX_LEDC_CFG_OP_STORE_MODE | IFX_LEDC_CFG_OP_SHIFT_CLOCK | IFX_LEDC_CFG_OP_DATA_OFFSET | IFX_LEDC_CFG_OP_NUMBER_OF_LED | IFX_LEDC_CFG_OP_DATA | IFX_LEDC_CFG_OP_MIPS0_ACCESS | IFX_LEDC_CFG_OP_DATA_CLOCK_EDGE, .source_mask = 0xFF, .source = 0xFF, // LEDs controlled by EXT Src .blink_mask = (1 << 24) - 1, .blink = 0, // disable blink for all LEDs .update_clock = LED_CON1_UPDATE_SRC_FPI, .fpid = 1, .store_mode = 0, // single store .fpis = 2, .data_offset = 0, .number_of_enabled_led = 24, .data_mask = (1 << 24) - 1, .data = 0, .mips0_access_mask = (1 << 24) - 1, .mips0_access = (1 << 24) - 1, .f_data_clock_on_rising = 0, // falling edge }; EXPORT_SYMBOL(g_board_ledc_hw_config); struct ifx_led_device g_board_led_hw_config[] = { #if 0 { .default_trigger = NULL, .phys_id = 0, .value_on = 0, .value_off = 1, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 1, .value_on = 0, .value_off = 1, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 2, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 3, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 4, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 5, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 6, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 7, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, #endif { .default_trigger = NULL, .phys_id = 8, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 9, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 10, .value_on = 0, .value_off = 1, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 11, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 12, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 13, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 14, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 15, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 16, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 17, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 18, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 19, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 20, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 21, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 22, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .default_trigger = NULL, .phys_id = 23, .value_on = 1, .value_off = 0, .flags = IFX_LED_DEVICE_FLAG_PHYS_LEDC, }, { .flags = IFX_LED_DEVICE_FLAG_INVALID, } }; EXPORT_SYMBOL(g_board_led_hw_config);