* [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board
@ 2011-10-31 15:53 Nicu Pavel
2011-10-31 15:53 ` [PATCH v2 2/3] Add kernel configuration option for picosam9g45 board Nicu Pavel
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Nicu Pavel @ 2011-10-31 15:53 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds support for picoSAM9G45 board from mini-box.com. This board is
based on Atmel G45 SOC. More details can be found at http://arm.mini-box.com
Signed-off-by: Nicu Pavel <npavel@mini-box.com>
---
arch/arm/mach-at91/board-picosam9g45.c | 436 ++++++++++++++++++++++++++++++++
1 files changed, 436 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-at91/board-picosam9g45.c
diff --git a/arch/arm/mach-at91/board-picosam9g45.c b/arch/arm/mach-at91/board-picosam9g45.c
new file mode 100644
index 0000000..bd746a1
--- /dev/null
+++ b/arch/arm/mach-at91/board-picosam9g45.c
@@ -0,0 +1,436 @@
+/*
+ * Board-specific setup code for the picoSAM9G45 board
+ *
+ * http://www.mini-box.com/pico-SAM9G45-X
+ *
+ * Copyright (C) 2011 Nicu Pavel <npavel@mini-box.com>
+ *
+ * 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.
+ *
+ */
+
+#include <linux/types.h>
+#include <linux/init.h>
+#include <linux/mm.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/spi/spi.h>
+#include <linux/fb.h>
+#include <linux/gpio_keys.h>
+#include <linux/input.h>
+#include <linux/leds.h>
+#include <linux/clk.h>
+#include <linux/atmel-mci.h>
+
+#include <mach/hardware.h>
+#include <video/atmel_lcdc.h>
+
+#include <asm/setup.h>
+#include <asm/mach-types.h>
+#include <asm/irq.h>
+
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <asm/mach/irq.h>
+#include <asm/gpio.h>
+
+#include <mach/board.h>
+#include <mach/at91sam9_smc.h>
+#include <mach/at91_shdwc.h>
+#include <mach/system_rev.h>
+
+#include "sam9_smc.h"
+#include "generic.h"
+
+
+static void __init picosam9g45_init_early(void)
+{
+ /* Initialize processor: 12.000 MHz crystal */
+ at91_initialize(12000000);
+
+ /* DGBU on ttyS0. (Rx & Tx only) */
+ at91_register_uart(0, 0, 0);
+
+ /* USART1 on ttyS1. (Rx, Tx, RTS, CTS) */
+ at91_register_uart(AT91SAM9G45_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS);
+ /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
+ at91_register_uart(AT91SAM9G45_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
+
+ /* set serial console to ttyS0 (ie, DBGU) */
+ at91_set_serial_console(0);
+}
+
+/*
+ * USB HS Host port (common to OHCI & EHCI)
+ */
+static struct at91_usbh_data __initdata picosam9g45_usbh_hs_data = {
+ .ports = 2,
+ .vbus_pin = {AT91_PIN_PD1, AT91_PIN_PD3},
+};
+
+
+/*
+ * USB HS Device port
+ */
+static struct usba_platform_data __initdata picosam9g45_usba_udc_data = {
+ .vbus_pin = AT91_PIN_PB19,
+};
+
+
+/*
+ * SPI devices.
+ */
+static struct spi_board_info picosam9g45_spi_devices[] = {
+ [0] = {/* SPI0 CS0 on right side connector J7*/
+ .modalias= "spidev",
+ .max_speed_hz= 15 * 1000 * 1000,
+ .bus_num= 0,
+ .chip_select= 0,
+ },
+ [1] = {/* SPI1 CS0 on left side connector J9*/
+ .modalias= "spidev",
+ .max_speed_hz= 15 * 1000 * 1000,
+ .bus_num= 1,
+ .chip_select= 0,
+ },
+};
+
+
+/*
+ * MCI (SD/MMC)
+ */
+static struct mci_platform_data __initdata mci0_data = {
+ .slot[0] = {
+ .bus_width = 4,
+ .detect_pin = AT91_PIN_PD10,
+ },
+};
+
+static struct mci_platform_data __initdata mci1_data = {
+ .slot[0] = {
+ .bus_width = 4,
+ .detect_pin = AT91_PIN_PD11,
+ .wp_pin = AT91_PIN_PD29,
+ },
+};
+
+
+/*
+ * MACB Ethernet device
+ */
+static struct at91_eth_data __initdata picosam9g45_macb_data = {
+ .phy_irq_pin = AT91_PIN_PD5,
+ .is_rmii = 1,
+};
+
+
+/*
+ * NAND flash
+ */
+static struct mtd_partition __initdata picosam9g45_nand_partition[] = {
+ {
+ .name = "Bootstrap",
+ .offset = 0,
+ .size = SZ_4M
+ },
+ {
+ .name= "RootFS",
+ .offset= MTDPART_OFS_NXTBLK,
+ .size= 60 * SZ_1M,
+ },
+ {
+ .name= "Space",
+ .offset= MTDPART_OFS_NXTBLK,
+ .size= MTDPART_SIZ_FULL,
+ },
+};
+
+static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+{
+ *num_partitions = ARRAY_SIZE(picosam9g45_nand_partition);
+ return picosam9g45_nand_partition;
+}
+
+/* det_pin is not connected */
+static struct atmel_nand_data __initdata picosam9g45_nand_data = {
+ .ale = 21,
+ .cle = 22,
+ .rdy_pin = AT91_PIN_PC8,
+ .enable_pin = AT91_PIN_PC14,
+ .partition_info = nand_partitions,
+};
+
+static struct sam9_smc_config __initdata picosam9g45_nand_smc_config = {
+ .ncs_read_setup = 0,
+ .nrd_setup = 2,
+ .ncs_write_setup = 0,
+ .nwe_setup = 2,
+
+ .ncs_read_pulse = 4,
+ .nrd_pulse = 4,
+ .ncs_write_pulse = 4,
+ .nwe_pulse = 4,
+
+ .read_cycle = 7,
+ .write_cycle = 7,
+
+ .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE,
+ .tdf_cycles = 3,
+};
+
+static void __init picosam9g45_add_device_nand(void)
+{
+ picosam9g45_nand_data.bus_width_16 = board_have_nand_16bit();
+ /* setup bus-width (8 or 16) */
+ if (picosam9g45_nand_data.bus_width_16)
+ picosam9g45_nand_smc_config.mode |= AT91_SMC_DBW_16;
+ else
+ picosam9g45_nand_smc_config.mode |= AT91_SMC_DBW_8;
+
+ /* configure chip-select 3 (NAND) */
+ sam9_smc_configure(3, &picosam9g45_nand_smc_config);
+
+ at91_add_device_nand(&picosam9g45_nand_data);
+}
+
+
+/*
+ * LCD Controller
+ */
+#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
+static struct fb_videomode at91_tft_vga_modes[] = {
+ {
+ .name = "HannStar",
+ .refresh = 60,
+ .xres = 480, .yres = 272,
+ .pixclock = KHZ2PICOS(9000),
+
+ .left_margin = 2, .right_margin = 2,
+ .upper_margin = 2, .lower_margin = 2,
+ .hsync_len = 41, .vsync_len = 10,
+
+ .sync = 0,
+ .vmode = FB_VMODE_NONINTERLACED,
+ },
+};
+
+static struct fb_monspecs at91fb_default_monspecs = {
+ .manufacturer = "HNS",
+ .monitor = "HSD043I9W1",
+
+ .modedb = at91_tft_vga_modes,
+ .modedb_len = ARRAY_SIZE(at91_tft_vga_modes),
+ .hfmin = 15000,
+ .hfmax = 17640,
+ .vfmin = 57,
+ .vfmax = 67,
+};
+
+#define AT91SAM9G45_DEFAULT_LCDCON2 (ATMEL_LCDC_MEMOR_LITTLE \
+ | ATMEL_LCDC_DISTYPE_TFT \
+ | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
+
+/* Driver datas */
+static struct atmel_lcdfb_info __initdata picosam9g45_lcdc_data = {
+ .lcdcon_is_backlight = true,
+ .default_bpp = 16,
+ .default_dmacon = ATMEL_LCDC_DMAEN,
+ .default_lcdcon2 = AT91SAM9G45_DEFAULT_LCDCON2,
+ .default_monspecs = &at91fb_default_monspecs,
+ .guard_time = 9,
+ .lcd_wiring_mode = ATMEL_LCDC_WIRING_RGB,
+};
+
+#else
+static struct atmel_lcdfb_info __initdata picosam9g45_lcdc_data;
+#endif
+
+
+/*
+ * Touchscreen
+ */
+static struct at91_tsadcc_data picosam9g45_tsadcc_data = {
+ .adc_clock = 300000,
+ .pendet_debounce = 0x0d,
+ .ts_sample_hold_time = 0x0a,
+};
+
+
+/*
+ * GPIO Buttons
+ */
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
+static struct gpio_keys_button picosam9g45_buttons[] = {
+ { /* J9 pin 5 gnd + pin 11 */
+ .code = KEY_BACK,
+ .gpio = AT91_PIN_PB6,
+ .active_low = 1,
+ .desc = "Back",
+ .wakeup = 1,
+ },
+ { /* J9 pin 5 gnd + pin 13*/
+ .code = KEY_MENU,
+ .gpio = AT91_PIN_PB7,
+ .active_low = 1,
+ .desc = "Menu",
+ .wakeup = 1,
+ },
+ { /* J9 pin 5 gnd + pin 12 */
+ .code = KEY_HOME,
+ .gpio = AT91_PIN_PB16,
+ .active_low = 1,
+ .desc = "Home",
+ },
+
+};
+
+static struct gpio_keys_platform_data picosam9g45_button_data = {
+ .buttons = picosam9g45_buttons,
+ .nbuttons = ARRAY_SIZE(picosam9g45_buttons),
+};
+
+static struct platform_device picosam9g45_button_device = {
+ .name = "gpio-keys",
+ .id = -1,
+ .num_resources = 0,
+ .dev = {
+ .platform_data = &picosam9g45_button_data,
+ }
+};
+
+static void __init picosam9g45_add_device_buttons(void)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(picosam9g45_buttons); i++) {
+ at91_set_GPIO_periph(picosam9g45_buttons[i].gpio, 1);
+ at91_set_deglitch(picosam9g45_buttons[i].gpio, 1);
+ }
+
+ platform_device_register(&picosam9g45_button_device);
+}
+#else
+static void __init picosam9g45_add_device_buttons(void) {}
+#endif
+
+
+/*
+ * LEDs ... these could all be PWM-driven, for variable brightness
+ */
+static struct gpio_led picosam9g45_leds[] = {
+ { /* "pwr" led */
+ .name = "pwr",
+ .gpio = AT91_PIN_PD30,
+ .default_trigger = "heartbeat",
+ },
+ { /* "u1" led */
+ .name = "u1",
+ .gpio = AT91_PIN_PD0,
+ .active_low = 1,
+ .default_trigger = "mmc0",
+ },
+#if !(defined(CONFIG_LEDS_ATMEL_PWM) || defined(CONFIG_LEDS_ATMEL_PWM_MODULE))
+ { /* "u2" led */
+ .name = "u2",
+ .gpio = AT91_PIN_PD31,
+ .active_low = 1,
+ .default_trigger = "none",
+ },
+#endif
+};
+
+
+/*
+ * PWM Leds
+ */
+static struct gpio_led picosam9g45_pwm_led[] = {
+#if defined(CONFIG_LEDS_ATMEL_PWM) || defined(CONFIG_LEDS_ATMEL_PWM_MODULE)
+ { /* "right" led, green, userled1, pwm1 */
+ .name = "d7",
+ .gpio = 1, /* is PWM channel number */
+ .active_low = 1,
+ .default_trigger = "none",
+ },
+ { /* picopc buzzer */
+ .name= "buzzer",
+ .gpio= 2, /* is PWM channel number */
+ .active_low= 1,
+ .default_trigger= "none",
+ },
+#endif
+};
+
+
+/*
+ * PWM buzzer
+ */
+static void picosam9g45_setup_device_buzzer(void)
+{
+ at91_set_A_periph(AT91_PIN_PE31, 1);
+}
+
+/*
+ * Capacitive touchscreen
+ */
+#define PICOSAM9G45_CAPTS_IRQ AT91_PIN_PA27
+static struct i2c_board_info __initdata picosam9g45_i2c1_devices[] = {
+ {
+ I2C_BOARD_INFO("ms-msg20xx", 0x60),
+ .irq = PICOSAM9G45_CAPTS_IRQ,
+ },
+};
+
+static void picosam9g45_setup_device_capts(void)
+{
+ at91_set_gpio_input(PICOSAM9G45_CAPTS_IRQ, 0);
+ at91_set_deglitch(PICOSAM9G45_CAPTS_IRQ, 1);
+}
+
+
+static void __init picosam9g45_board_init(void)
+{
+ /* Buzzer PWM pin */
+ picosam9g45_setup_device_buzzer();
+ /* Capacitive Touch Screen IRQ */
+ picosam9g45_setup_device_capts();
+ /* Serial */
+ at91_add_device_serial();
+ /* USB HS Host */
+ at91_add_device_usbh_ohci(&picosam9g45_usbh_hs_data);
+ at91_add_device_usbh_ehci(&picosam9g45_usbh_hs_data);
+ /* USB HS Device */
+ at91_add_device_usba(&picosam9g45_usba_udc_data);
+ /* SPI */
+ at91_add_device_spi(picosam9g45_spi_devices, ARRAY_SIZE(picosam9g45_spi_devices));
+ /* MMC */
+ at91_add_device_mci(0, &mci0_data);
+ at91_add_device_mci(1, &mci1_data);
+ /* Ethernet */
+ at91_add_device_eth(&picosam9g45_macb_data);
+ /* NAND */
+ picosam9g45_add_device_nand();
+ /* I2C */
+ at91_add_device_i2c(0, NULL, 0);
+ at91_add_device_i2c(1, picosam9g45_i2c1_devices, ARRAY_SIZE(picosam9g45_i2c1_devices));
+ /* LCD Controller */
+ at91_add_device_lcdc(&picosam9g45_lcdc_data);
+ /* Resistive Touch Screen */
+ at91_add_device_tsadcc(&picosam9g45_tsadcc_data);
+ /* Push Buttons */
+ picosam9g45_add_device_buttons();
+ /* LEDs */
+ at91_gpio_leds(picosam9g45_leds, ARRAY_SIZE(picosam9g45_leds));
+ at91_pwm_leds(picosam9g45_pwm_led, ARRAY_SIZE(picosam9g45_pwm_led));
+}
+
+MACHINE_START(MINIBOXPICOSAM9G45, "Mini Box picoSAM9 G45 Board")
+ /* Maintainer: Nicu Pavel */
+ .timer = &at91sam926x_timer,
+ .map_io = at91_map_io,
+ .init_early = picosam9g45_init_early,
+ .init_irq = at91_init_irq_default,
+ .init_machine = picosam9g45_board_init,
+MACHINE_END
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/3] Add kernel configuration option for picosam9g45 board
2011-10-31 15:53 [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Nicu Pavel
@ 2011-10-31 15:53 ` Nicu Pavel
2011-10-31 15:53 ` [PATCH v2 3/3] Add picosam9g45 board to Makefile Nicu Pavel
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Nicu Pavel @ 2011-10-31 15:53 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Nicu Pavel <npavel@mini-box.com>
---
arch/arm/mach-at91/Kconfig | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 2248467..419295a 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -400,6 +400,12 @@ if ARCH_AT91SAM9G45
comment "AT91SAM9G45 Board Type"
+config MACH_MINIBOXPICOSAM9G45
+ bool "Mini-Box.com picoSAM9G45 board"
+ help
+ Select this if you are using Mini-Box.com picoSAM9G45 Board
+ <http://arm.mini-box.com>
+
config MACH_AT91SAM9M10G45EK
bool "Atmel AT91SAM9M10G45-EK Evaluation Kits"
help
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/3] Add picosam9g45 board to Makefile
2011-10-31 15:53 [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Nicu Pavel
2011-10-31 15:53 ` [PATCH v2 2/3] Add kernel configuration option for picosam9g45 board Nicu Pavel
@ 2011-10-31 15:53 ` Nicu Pavel
2011-11-02 14:28 ` [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Russell King - ARM Linux
2011-11-04 15:57 ` Jochen Friedrich
3 siblings, 0 replies; 8+ messages in thread
From: Nicu Pavel @ 2011-10-31 15:53 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Nicu Pavel <npavel@mini-box.com>
---
arch/arm/mach-at91/Makefile | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index bf57e8b..ad1950d 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -72,6 +72,7 @@ obj-$(CONFIG_MACH_GSIA18S) += board-gsia18s.o board-stamp9g20.o
obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o
# AT91SAM9G45 board-specific support
+obj-$(CONFIG_MACH_MINIBOXPICOSAM9G45) += board-picosam9g45.o
obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o
# AT91CAP9 board-specific support
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board
2011-10-31 15:53 [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Nicu Pavel
2011-10-31 15:53 ` [PATCH v2 2/3] Add kernel configuration option for picosam9g45 board Nicu Pavel
2011-10-31 15:53 ` [PATCH v2 3/3] Add picosam9g45 board to Makefile Nicu Pavel
@ 2011-11-02 14:28 ` Russell King - ARM Linux
2011-11-02 15:49 ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-04 15:57 ` Jochen Friedrich
3 siblings, 1 reply; 8+ messages in thread
From: Russell King - ARM Linux @ 2011-11-02 14:28 UTC (permalink / raw)
To: linux-arm-kernel
Before Nicu puts these into the patch system (which is being attempted
right now)...
... is someone from the AT91 community going to pick these up or am I
going to have to ignore them in the patch system, like I'm already
doing with the Siemens L0 and L1 boards for the AT91 sub-arch?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board
2011-11-02 14:28 ` [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Russell King - ARM Linux
@ 2011-11-02 15:49 ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-02 16:06 ` Russell King - ARM Linux
0 siblings, 1 reply; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-11-02 15:49 UTC (permalink / raw)
To: linux-arm-kernel
On 14:28 Wed 02 Nov , Russell King - ARM Linux wrote:
> Before Nicu puts these into the patch system (which is being attempted
> right now)...
As announce at the kernel summit no new board for 9gx series will be merged
except pending one. The new board will have to go via DT.
Best Regards,
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board
2011-11-02 15:49 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2011-11-02 16:06 ` Russell King - ARM Linux
2011-11-02 18:30 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 8+ messages in thread
From: Russell King - ARM Linux @ 2011-11-02 16:06 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Nov 02, 2011 at 04:49:35PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 14:28 Wed 02 Nov , Russell King - ARM Linux wrote:
> > Before Nicu puts these into the patch system (which is being attempted
> > right now)...
> As announce at the kernel summit no new board for 9gx series will be merged
> except pending one. The new board will have to go via DT.
Well, we now have patches for this board in the patch system:
7148/1? Add picosam9g45 board to 3.1? 14:25:18?
Makefile
7147/1? Add kernel configuration option 3.1? 14:25:17?
for picosam9g45 board
7146/1? Add support for mini-box.com 3.1? 14:25:16?
picoSAM9G45 board
along with these old ones:
6862/1? Add Board Support for Siemens L1 2.6.39-rc1? 04 Apr 2011?
Board
6861/1? Add Board Support for Siemens L0 2.6.39-rc1? 04 Apr 2011?
Board
So, it sounds like I should just discard the three new ones - what about
the old ones? Those too? I've not seen/heard anything further on them.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board
2011-11-02 16:06 ` Russell King - ARM Linux
@ 2011-11-02 18:30 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 0 replies; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-11-02 18:30 UTC (permalink / raw)
To: linux-arm-kernel
On 16:06 Wed 02 Nov , Russell King - ARM Linux wrote:
> On Wed, Nov 02, 2011 at 04:49:35PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > On 14:28 Wed 02 Nov , Russell King - ARM Linux wrote:
> > > Before Nicu puts these into the patch system (which is being attempted
> > > right now)...
> > As announce at the kernel summit no new board for 9gx series will be merged
> > except pending one. The new board will have to go via DT.
>
> Well, we now have patches for this board in the patch system:
>
> 7148/1? Add picosam9g45 board to 3.1? 14:25:18?
> Makefile
> 7147/1? Add kernel configuration option 3.1? 14:25:17?
> for picosam9g45 board
> 7146/1? Add support for mini-box.com 3.1? 14:25:16?
> picoSAM9G45 board
>
> along with these old ones:
>
> 6862/1? Add Board Support for Siemens L1 2.6.39-rc1? 04 Apr 2011?
> Board
> 6861/1? Add Board Support for Siemens L0 2.6.39-rc1? 04 Apr 2011?
> Board
>
> So, it sounds like I should just discard the three new ones - what about
> the old ones? Those too? I've not seen/heard anything further on them.
For the Siemens I take care about it later this week
for the 9g45 yes please discard this is a smple card we will able to support
it soon via DT, and the patch is for 3.3 anyway
Best Regards,
J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board
2011-10-31 15:53 [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Nicu Pavel
` (2 preceding siblings ...)
2011-11-02 14:28 ` [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Russell King - ARM Linux
@ 2011-11-04 15:57 ` Jochen Friedrich
3 siblings, 0 replies; 8+ messages in thread
From: Jochen Friedrich @ 2011-11-04 15:57 UTC (permalink / raw)
To: linux-arm-kernel
Hi Nicu,
> This patch adds support for picoSAM9G45 board from mini-box.com. This board is
> based on Atmel G45 SOC. More details can be found at http://arm.mini-box.com
I just wonder if it makes sense to add more application specific board files to
Linux rather than switching to a DT based configuration. This board file makes
use of several assumptions about hardware connected to the board:
> + /* USART1 on ttyS1. (Rx, Tx, RTS, CTS) */
> + at91_register_uart(AT91SAM9G45_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS);
> + /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
> + at91_register_uart(AT91SAM9G45_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
Optional. Depends on usage of J7 and J9. Can as well be used as GPIO lines.
> + * SPI devices.
> + */
> +static struct spi_board_info picosam9g45_spi_devices[] = {
> + [0] = {/* SPI0 CS0 on right side connector J7*/
> + .modalias= "spidev",
> + .max_speed_hz= 15 * 1000 * 1000,
> + .bus_num= 0,
> + .chip_select= 0,
> + },
> + [1] = {/* SPI1 CS0 on left side connector J9*/
> + .modalias= "spidev",
> + .max_speed_hz= 15 * 1000 * 1000,
> + .bus_num= 1,
> + .chip_select= 0,
> + },
> +};
Optional. Depends on usage of J7 and J9. Can as well be used as GPIO lines.
> +/*
> + * NAND flash
> + */
> +static struct mtd_partition __initdata picosam9g45_nand_partition[] = {
> + {
> + .name = "Bootstrap",
> + .offset = 0,
> + .size = SZ_4M
> + },
> + {
> + .name= "RootFS",
> + .offset= MTDPART_OFS_NXTBLK,
> + .size= 60 * SZ_1M,
> + },
> + {
> + .name= "Space",
> + .offset= MTDPART_OFS_NXTBLK,
> + .size= MTDPART_SIZ_FULL,
> + },
> +};
At least my device didn't come with a NAND flash attached.
> +/*
> + * Touchscreen
> + */
> +static struct at91_tsadcc_data picosam9g45_tsadcc_data = {
> + .adc_clock = 300000,
> + .pendet_debounce = 0x0d,
> + .ts_sample_hold_time = 0x0a,
> +};
Useless for headless applications. The recently posted IIO AT91 ADC driver could
alternatively be used for the 4 ADC inputs if no TS is connected.
> +/*
> + * GPIO Buttons
> + */
> +#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
> +static struct gpio_keys_button picosam9g45_buttons[] = {
> + { /* J9 pin 5 gnd + pin 11 */
> + .code = KEY_BACK,
> + .gpio = AT91_PIN_PB6,
> + .active_low = 1,
> + .desc = "Back",
> + .wakeup = 1,
> + },
> + { /* J9 pin 5 gnd + pin 13*/
> + .code = KEY_MENU,
> + .gpio = AT91_PIN_PB7,
> + .active_low = 1,
> + .desc = "Menu",
> + .wakeup = 1,
> + },
> + { /* J9 pin 5 gnd + pin 12 */
> + .code = KEY_HOME,
> + .gpio = AT91_PIN_PB16,
> + .active_low = 1,
> + .desc = "Home",
> + },
> +
> +};
Those are highly application specific as well.
Just my 2ct.
Thanks,
Jochen
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-11-04 15:57 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-31 15:53 [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Nicu Pavel
2011-10-31 15:53 ` [PATCH v2 2/3] Add kernel configuration option for picosam9g45 board Nicu Pavel
2011-10-31 15:53 ` [PATCH v2 3/3] Add picosam9g45 board to Makefile Nicu Pavel
2011-11-02 14:28 ` [PATCH v2 1/3] Add support for mini-box.com picoSAM9G45 board Russell King - ARM Linux
2011-11-02 15:49 ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-02 16:06 ` Russell King - ARM Linux
2011-11-02 18:30 ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-04 15:57 ` Jochen Friedrich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).