From mboxrd@z Thu Jan 1 00:00:00 1970 From: daniel@caiaq.de (Daniel Mack) Date: Thu, 26 Nov 2009 20:17:59 +0100 Subject: [PATCH 1/3] ARM: pxa/raumfeld: add platform support In-Reply-To: <200911262013.47713.marek.vasut@gmail.com> References: <1259258341-31114-1-git-send-email-daniel@caiaq.de> <1259258341-31114-2-git-send-email-daniel@caiaq.de> <200911262013.47713.marek.vasut@gmail.com> Message-ID: <20091126191759.GN14091@buzzloop.caiaq.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Nov 26, 2009 at 08:13:47PM +0100, Marek Vasut wrote: > Dne ?t 26. listopadu 2009 18:58:59 Daniel Mack napsal(a): > > This adds support for Raumfeld's 'Controller', 'Connector', 'Speaker S' > > and 'Speaker M' devices. They're all based on PXA303 SoCs. > > > > Signed-off-by: Daniel Mack > > --- > ... > > +/* > > + * GPIO configurations > > + */ > > +static mfp_cfg_t __raumfeld_controller_pin_config[] = { > > + /* UART1 */ > > + GPIO77_UART1_RXD, > > + GPIO78_UART1_TXD, > > + GPIO79_UART1_CTS, > > + GPIO81_UART1_DSR, > > + GPIO83_UART1_DTR, > > + GPIO84_UART1_RTS, > > + > > + /* UART3 */ > > + GPIO110_UART3_RXD, > > + > > + /* USB Host */ > > + GPIO0_2_USBH_PEN, > > + GPIO1_2_USBH_PWR, > > + > > + /* I2C */ > > + GPIO21_I2C_SCL | MFP_LPM_FLOAT | MFP_PULL_FLOAT, > > + GPIO22_I2C_SDA | MFP_LPM_FLOAT | MFP_PULL_FLOAT, > > + > > + /* SPI */ > > + GPIO34_GPIO, /* SPDIF_CS */ > > + GPIO96_GPIO, /* MCLK_CS */ > > + GPIO125_GPIO, /* ACCEL_CS */ > > + > > + /* MMC */ > > + GPIO3_MMC1_DAT0, > > + GPIO4_MMC1_DAT1, > > + GPIO5_MMC1_DAT2, > > + GPIO6_MMC1_DAT3, > > + GPIO7_MMC1_CLK, > > + GPIO8_MMC1_CMD, > > + > > + /* One-wire */ > > + GPIO126_GPIO | MFP_LPM_FLOAT, > > + GPIO105_GPIO | MFP_PULL_LOW | MFP_LPM_PULL_LOW, > > + > > + /* CHRG_USB_OK */ > > + GPIO101_GPIO | MFP_PULL_HIGH, > > + /* CHRG_USB_OK */ > > + GPIO112_GPIO | MFP_PULL_HIGH, > > + /* CHRG_USB_SUSP */ > > + GPIO102_GPIO, > > + /* DISPLAY_ENABLE */ > > + GPIO106_GPIO, > > + /* DOCK_DETECT */ > > + GPIO116_GPIO | MFP_LPM_FLOAT | MFP_PULL_FLOAT, > > + > > + /* LCD */ > > + GPIO54_LCD_LDD_0, > > + GPIO55_LCD_LDD_1, > > + GPIO56_LCD_LDD_2, > > + GPIO57_LCD_LDD_3, > > + GPIO58_LCD_LDD_4, > > + GPIO59_LCD_LDD_5, > > + GPIO60_LCD_LDD_6, > > + GPIO61_LCD_LDD_7, > > + GPIO62_LCD_LDD_8, > > + GPIO63_LCD_LDD_9, > > + GPIO64_LCD_LDD_10, > > + GPIO65_LCD_LDD_11, > > + GPIO66_LCD_LDD_12, > > + GPIO67_LCD_LDD_13, > > + GPIO68_LCD_LDD_14, > > + GPIO69_LCD_LDD_15, > > + GPIO70_LCD_LDD_16, > > + GPIO71_LCD_LDD_17, > > + GPIO72_LCD_FCLK, > > + GPIO73_LCD_LCLK, > > + GPIO74_LCD_PCLK, > > + GPIO75_LCD_BIAS, > > +}; > > + > > +static mfp_cfg_t __raumfeld_connector_pin_config[] = { > > + /* UART1 */ > > + GPIO77_UART1_RXD, > > + GPIO78_UART1_TXD, > > + GPIO79_UART1_CTS, > > + GPIO81_UART1_DSR, > > + GPIO83_UART1_DTR, > > + GPIO84_UART1_RTS, > > + > > + /* UART3 */ > > + GPIO110_UART3_RXD, > > + > > + /* USB Host */ > > + GPIO0_2_USBH_PEN, > > + GPIO1_2_USBH_PWR, > > + > > + /* I2C */ > > + GPIO21_I2C_SCL | MFP_LPM_FLOAT | MFP_PULL_FLOAT, > > + GPIO22_I2C_SDA | MFP_LPM_FLOAT | MFP_PULL_FLOAT, > > + > > + /* SPI */ > > + GPIO34_GPIO, /* SPDIF_CS */ > > + GPIO96_GPIO, /* MCLK_CS */ > > + GPIO125_GPIO, /* ACCEL_CS */ > > + > > + /* MMC */ > > + GPIO3_MMC1_DAT0, > > + GPIO4_MMC1_DAT1, > > + GPIO5_MMC1_DAT2, > > + GPIO6_MMC1_DAT3, > > + GPIO7_MMC1_CLK, > > + GPIO8_MMC1_CMD, > > + > > + /* Ethernet */ > > + GPIO1_nCS2, /* CS */ > > + GPIO40_GPIO | MFP_PULL_HIGH, /* IRQ */ > > + > > + /* SSP for I2S */ > > + GPIO85_SSP1_SCLK, > > + GPIO89_SSP1_EXTCLK, > > + GPIO86_SSP1_FRM, > > + GPIO87_SSP1_TXD, > > + GPIO88_SSP1_RXD, > > + GPIO90_SSP1_SYSCLK, > > + > > + /* SSP2 for S/PDIF */ > > + GPIO25_SSP2_SCLK, > > + GPIO26_SSP2_FRM, > > + GPIO27_SSP2_TXD, > > + GPIO29_SSP2_EXTCLK, > > +}; > > + > > +static mfp_cfg_t __raumfeld_speaker_pin_config[] = { > > + /* UART1 */ > > + GPIO77_UART1_RXD, > > + GPIO78_UART1_TXD, > > + GPIO79_UART1_CTS, > > + GPIO81_UART1_DSR, > > + GPIO83_UART1_DTR, > > + GPIO84_UART1_RTS, > > + > > + /* UART3 */ > > + GPIO110_UART3_RXD, > > + > > + /* USB Host */ > > + GPIO0_2_USBH_PEN, > > + GPIO1_2_USBH_PWR, > > + > > + /* I2C */ > > + GPIO21_I2C_SCL | MFP_LPM_FLOAT | MFP_PULL_FLOAT, > > + GPIO22_I2C_SDA | MFP_LPM_FLOAT | MFP_PULL_FLOAT, > > + > > + /* SPI */ > > + GPIO34_GPIO, /* SPDIF_CS */ > > + GPIO96_GPIO, /* MCLK_CS */ > > + GPIO125_GPIO, /* ACCEL_CS */ > > + > > + /* MMC */ > > + GPIO3_MMC1_DAT0, > > + GPIO4_MMC1_DAT1, > > + GPIO5_MMC1_DAT2, > > + GPIO6_MMC1_DAT3, > > + GPIO7_MMC1_CLK, > > + GPIO8_MMC1_CMD, > > + > > + /* Ethernet */ > > + GPIO1_nCS2, /* CS */ > > + GPIO40_GPIO | MFP_PULL_HIGH, /* IRQ */ > > + > > + /* SSP for I2S */ > > + GPIO85_SSP1_SCLK, > > + GPIO89_SSP1_EXTCLK, > > + GPIO86_SSP1_FRM, > > + GPIO87_SSP1_TXD, > > + GPIO88_SSP1_RXD, > > + GPIO90_SSP1_SYSCLK, > > +}; > > + > > +/* > ... > > Why don't we separate the common MFP configuration into another table as some > platforms do ? The code duplication is horrible here ... Well, Russell said it is clearer that way because you only have to look at one table when checking which GPIO definitions are actually used. I had it seperated before. Anyway, I don't really care much, and I'm fine with either way. Most importantly, I wish to not miss the next merge window due to this ;) Daniel