Exemple #1
0
void
plf_hardware_init(void)
{
    // POWER_FAIL IRQ
    HAL_GPIO_OUTPUT_DISABLE(GPIO_PWR_FAIL_IRQ_N);   
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_PWR_FAIL, 1, 0);

    // DSL IRQ
    HAL_GPIO_OUTPUT_DISABLE(GPIO_DSL_IRQ_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_DSL, 1, 0);

    // SLIC_A IRQ
    HAL_GPIO_OUTPUT_DISABLE(GPIO_SLIC_A_IRQ_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_SLIC_A, 1, 0);

    // SLIC_B IRQ
    HAL_GPIO_OUTPUT_DISABLE(GPIO_SLIC_B_IRQ_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_SLIC_B, 1, 0);

    // DSP IRQ
    HAL_GPIO_OUTPUT_DISABLE(GPIO_DSP_IRQ_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_DSP, 1, 0);

    // IDE IRQ
    HAL_GPIO_OUTPUT_DISABLE(GPIO_IDE_IRQ_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_IDE, 1, 0);

    // IO RESET_N  (DSP/SLICs)
    HAL_GPIO_OUTPUT_SET(GPIO_IO_RESET_N);
    HAL_GPIO_OUTPUT_ENABLE(GPIO_IO_RESET_N);
    
    // SPI_CS1_N
    HAL_GPIO_OUTPUT_SET(GPIO_SPI_CS1_N);
    HAL_GPIO_OUTPUT_ENABLE(GPIO_SPI_CS1_N);   // Eth PHY

    // SPI_CS0_N
    HAL_GPIO_OUTPUT_SET(GPIO_SPI_CS0_N);
    HAL_GPIO_OUTPUT_ENABLE(GPIO_SPI_CS0_N);   // SLICs

    // SPI_SCK
    HAL_GPIO_OUTPUT_CLEAR(GPIO_SPI_SCK);
    HAL_GPIO_OUTPUT_ENABLE(GPIO_SPI_SCK);

    // SPI_SDI
    HAL_GPIO_OUTPUT_CLEAR(GPIO_SPI_SDI);
    HAL_GPIO_OUTPUT_ENABLE(GPIO_SPI_SDI);

    // SPI_SDI
    HAL_GPIO_OUTPUT_DISABLE(GPIO_SPI_SDI);

#ifdef CYGPKG_IO_PCI
    extern void hal_plf_pci_init(void);
    hal_plf_pci_init();
#endif
}
//
// Platform specific initialization
//
void
plf_hardware_init(void)
{
    // GPIO(15) used for ENET clock
    HAL_GPIO_OUTPUT_ENABLE(15);
    *IXP425_GPCLKR |= GPCLKR_CLK1_ENABLE;
    *IXP425_GPCLKR |= GPCLKR_CLK1_PCLK2;

    HAL_GPIO_OUTPUT_SET(GPIO_EEPROM_SCL);
    HAL_GPIO_OUTPUT_ENABLE(GPIO_EEPROM_SCL);

    HAL_GPIO_OUTPUT_SET(GPIO_EEPROM_SDA);
    HAL_GPIO_OUTPUT_ENABLE(GPIO_EEPROM_SDA);

    // ENET-0 IRQ line
    HAL_GPIO_OUTPUT_DISABLE(GPIO_ENET0_INT_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_ETH0, 1, 0);

    // ENET-1 IRQ line
    HAL_GPIO_OUTPUT_DISABLE(GPIO_ENET1_INT_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_ETH1, 1, 0);

    // HSS IRQ lines
    HAL_GPIO_OUTPUT_DISABLE(GPIO_HSS0_INT_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_HSS0, 1, 0);
    HAL_GPIO_OUTPUT_DISABLE(GPIO_HSS1_INT_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_HSS1, 1, 0);

    // DSL IRQ line
    HAL_GPIO_OUTPUT_DISABLE(GPIO_DSL_INT_N);
    HAL_INTERRUPT_CONFIGURE(CYGNUM_HAL_INTERRUPT_DSL, 1, 0);

    *IXP425_EXP_CS4 = (EXP_ADDR_T(3) | EXP_SETUP_T(3) | EXP_STROBE_T(15) | EXP_HOLD_T(3) | \
		       EXP_RECOVERY_T(15) | EXP_SZ_512 | EXP_WR_EN | EXP_CS_EN);
    *IXP425_EXP_CS5 = (EXP_ADDR_T(3) | EXP_SETUP_T(3) | EXP_STROBE_T(15) | EXP_HOLD_T(3) | \
		       EXP_RECOVERY_T(15) | EXP_SZ_512 | EXP_WR_EN | EXP_CS_EN);

#ifdef CYGPKG_IO_PCI
    extern void hal_plf_pci_init(void);
    hal_plf_pci_init();
#endif
}