/* * (c) 2010 STMicroelectronics Limited * * Author: Pawel Moll * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __LINUX_STM_STX7200_H #define __LINUX_STM_STX7200_H #include #include #include /* Sysconfig groups */ #define SYS_DEV 0 #define SYS_STA 1 #define SYS_CFG 2 void stx7200_early_device_init(void); struct stx7200_asc_config { int hw_flow_control; int is_console; }; void stx7200_configure_asc(int asc, struct stx7200_asc_config *config); struct stx7200_ssc_spi_config { void (*chipselect)(struct spi_device *spi, int is_on); }; /* SSC configure functions return I2C/SPI bus number */ int stx7200_configure_ssc_i2c(int ssc); int stx7200_configure_ssc_spi(int ssc, struct stx7200_ssc_spi_config *config); struct stx7200_lirc_config { enum { stx7200_lirc_rx_disabled, stx7200_lirc_rx_mode_ir, stx7200_lirc_rx_mode_uhf } rx_mode; int tx_enabled; int tx_od_enabled; }; void stx7200_configure_lirc(struct stx7200_lirc_config *config); struct stx7200_pwm_config { int out0_enabled; int out1_enabled; }; void stx7200_configure_pwm(struct stx7200_pwm_config *config); struct stx7200_ethernet_config { enum { stx7200_ethernet_mode_mii, stx7200_ethernet_mode_rmii, } mode; int ext_clk; int phy_bus; int phy_addr; struct stmmac_mdio_bus_data *mdio_bus_data; }; void stx7200_configure_ethernet(int port, struct stx7200_ethernet_config *config); void stx7200_configure_usb(int port); void stx7200_configure_sata(void); struct stx7200_pata_config { int emi_bank; int pc_mode; unsigned int irq; }; void stx7200_configure_pata(struct stx7200_pata_config *config); void stx7200_configure_nand(struct stm_nand_config *config); struct stx7200_audio_config { enum { stx7200_pcm_player_1_disabled, stx7200_pcm_player_1_auddig0, stx7200_pcm_player_1_mii1 } pcm_player_1_routing; enum { stx7200_pcm_player_2_disabled, stx7200_pcm_player_2_auddig1, stx7200_pcm_player_2_mii0 } pcm_player_2_routing; enum { stx7200_pcm_player_3_disabled, stx7200_pcm_player_3_aiddig0_auddig1, } pcm_player_3_routing; }; void stx7200_configure_audio(struct stx7200_audio_config *config); #endif