|
@@ -64,3 +64,155 @@ static struct at91_udc_data __initdata udc_data = {
|
|
|
/*
|
|
|
* MACB Ethernet device
|
|
|
*/
|
|
|
+static struct macb_platform_data __initdata macb_data = {
|
|
|
+ .phy_irq_pin = AT91_PIN_PA28,
|
|
|
+ .is_rmii = 1,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * LEDs and GPOs
|
|
|
+ */
|
|
|
+static struct gpio_led gpio_leds[] = {
|
|
|
+ {
|
|
|
+ .name = "gpo:spi1reset",
|
|
|
+ .gpio = AT91_PIN_PC1,
|
|
|
+ .active_low = 0,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "gpo:trig_net_out",
|
|
|
+ .gpio = AT91_PIN_PB20,
|
|
|
+ .active_low = 0,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "gpo:trig_net_dir",
|
|
|
+ .gpio = AT91_PIN_PB19,
|
|
|
+ .active_low = 0,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "gpo:charge_dis",
|
|
|
+ .gpio = AT91_PIN_PC2,
|
|
|
+ .active_low = 0,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "led:event",
|
|
|
+ .gpio = AT91_PIN_PB17,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "led:lan",
|
|
|
+ .gpio = AT91_PIN_PB18,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "led:error",
|
|
|
+ .gpio = AT91_PIN_PB16,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_ON,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+static struct gpio_led_platform_data gpio_led_info = {
|
|
|
+ .leds = gpio_leds,
|
|
|
+ .num_leds = ARRAY_SIZE(gpio_leds),
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device leds = {
|
|
|
+ .name = "leds-gpio",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &gpio_led_info,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+static void __init gsia18s_leds_init(void)
|
|
|
+{
|
|
|
+ platform_device_register(&leds);
|
|
|
+}
|
|
|
+
|
|
|
+/* PCF8574 0x20 GPIO - U1 on the GS_IA18-CB_V3 board */
|
|
|
+static struct gpio_led pcf_gpio_leds1[] = {
|
|
|
+ { /* bit 0 */
|
|
|
+ .name = "gpo:hdc_power",
|
|
|
+ .gpio = PCF_GPIO_HDC_POWER,
|
|
|
+ .active_low = 0,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ { /* bit 1 */
|
|
|
+ .name = "gpo:wifi_setup",
|
|
|
+ .gpio = PCF_GPIO_WIFI_SETUP,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ { /* bit 2 */
|
|
|
+ .name = "gpo:wifi_enable",
|
|
|
+ .gpio = PCF_GPIO_WIFI_ENABLE,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ { /* bit 3 */
|
|
|
+ .name = "gpo:wifi_reset",
|
|
|
+ .gpio = PCF_GPIO_WIFI_RESET,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_ON,
|
|
|
+ },
|
|
|
+ /* bit 4 used as GPI */
|
|
|
+ { /* bit 5 */
|
|
|
+ .name = "gpo:gps_setup",
|
|
|
+ .gpio = PCF_GPIO_GPS_SETUP,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ },
|
|
|
+ { /* bit 6 */
|
|
|
+ .name = "gpo:gps_standby",
|
|
|
+ .gpio = PCF_GPIO_GPS_STANDBY,
|
|
|
+ .active_low = 0,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_ON,
|
|
|
+ },
|
|
|
+ { /* bit 7 */
|
|
|
+ .name = "gpo:gps_power",
|
|
|
+ .gpio = PCF_GPIO_GPS_POWER,
|
|
|
+ .active_low = 0,
|
|
|
+ .default_trigger = "none",
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_OFF,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+static struct gpio_led_platform_data pcf_gpio_led_info1 = {
|
|
|
+ .leds = pcf_gpio_leds1,
|
|
|
+ .num_leds = ARRAY_SIZE(pcf_gpio_leds1),
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device pcf_leds1 = {
|
|
|
+ .name = "leds-gpio", /* GS_IA18-CB_board */
|
|
|
+ .id = 1,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &pcf_gpio_led_info1,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/* PCF8574 0x22 GPIO - U1 on the GS_2G_OPT1-A_V0 board (Alarm) */
|
|
|
+static struct gpio_led pcf_gpio_leds2[] = {
|
|
|
+ { /* bit 0 */
|
|
|
+ .name = "gpo:alarm_1",
|
|
|
+ .gpio = PCF_GPIO_ALARM1,
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|