Lines Matching +full:gpio +full:- +full:mux +full:- +full:clock
2 * TI DA850/OMAP-L138 EVM board
4 * Copyright (C) 2009 Texas Instruments Incorporated - http://www.ti.com/
6 * Derived from: arch/arm/mach-davinci/board-da830-evm.c
22 #include <linux/gpio.h>
31 #include <linux/input/tps6507x-ts.h>
37 #include <asm/mach-types.h>
43 #include <mach/mux.h>
47 #define DA850_EVM_PHY_ID "davinci_mdio-0:00"
67 .name = "U-Boot",
73 .name = "U-Boot-Env",
91 .name = "MAC-Address",
92 .offset = SZ_8M - SZ_64K,
126 char *mac_addr = davinci_soc_info.emac_pdata->mac_addr; in da850_evm_m25p80_notify_add()
129 if (!strcmp(mtd->name, "MAC-Address")) { in da850_evm_m25p80_notify_add()
179 .end = DA8XX_AEMIF_CS2_BASE + SZ_32M - 1,
185 .name = "physmap-flash",
199 .name = "pm-davinci",
203 .id = -1,
206 /* DA850/OMAP-L138 EVM includes a 512 MByte large-page NAND flash
209 * (UBL) and U-Boot.
213 .name = "u-boot env",
225 .name = "u-boot",
266 .end = DA8XX_AEMIF_CS3_BASE + SZ_512K + 2 * SZ_1K - 1,
271 .end = DA8XX_AEMIF_CTL_BASE + SZ_32K - 1,
313 -1
329 -1
346 pr_warning("da850_evm_init: nand mux setup failed: " in da850_evm_setup_nor_nand()
351 pr_warning("da850_evm_init: nor mux setup failed: %d\n", in da850_evm_setup_nor_nand()
366 soc_info->emac_pdata->rmii_en = 1; in da850_evm_setup_emac_rmii()
415 [0 ... DA850_N_UI_PB - 1] = {
420 .code = -1, /* assigned at runtime */
421 .gpio = -1, /* assigned at runtime */
433 .name = "gpio-keys-polled",
440 static void da850_evm_ui_keys_init(unsigned gpio) in da850_evm_ui_keys_init() argument
447 button->code = KEY_F8 - i; in da850_evm_ui_keys_init()
448 button->desc = (char *) in da850_evm_ui_keys_init()
450 button->gpio = gpio + DA850_EVM_UI_EXP_PB8 + i; in da850_evm_ui_keys_init()
454 static int da850_evm_ui_expander_setup(struct i2c_client *client, unsigned gpio, in da850_evm_ui_expander_setup() argument
459 sel_a = gpio + DA850_EVM_UI_EXP_SEL_A; in da850_evm_ui_expander_setup()
460 sel_b = gpio + DA850_EVM_UI_EXP_SEL_B; in da850_evm_ui_expander_setup()
461 sel_c = gpio + DA850_EVM_UI_EXP_SEL_C; in da850_evm_ui_expander_setup()
486 da850_evm_ui_keys_init(gpio); in da850_evm_ui_expander_setup()
489 pr_warning("Could not register UI GPIO expander push-buttons"); in da850_evm_ui_expander_setup()
493 pr_info("DA850/OMAP-L138 EVM UI card detected\n"); in da850_evm_ui_expander_setup()
512 unsigned gpio, unsigned ngpio, void *c) in da850_evm_ui_expander_teardown() argument
517 gpio_set_value_cansleep(gpio + DA850_EVM_UI_EXP_SEL_C, 1); in da850_evm_ui_expander_teardown()
518 gpio_set_value_cansleep(gpio + DA850_EVM_UI_EXP_SEL_B, 1); in da850_evm_ui_expander_teardown()
519 gpio_set_value_cansleep(gpio + DA850_EVM_UI_EXP_SEL_A, 1); in da850_evm_ui_expander_teardown()
521 gpio_free(gpio + DA850_EVM_UI_EXP_SEL_C); in da850_evm_ui_expander_teardown()
522 gpio_free(gpio + DA850_EVM_UI_EXP_SEL_B); in da850_evm_ui_expander_teardown()
523 gpio_free(gpio + DA850_EVM_UI_EXP_SEL_A); in da850_evm_ui_expander_teardown()
580 .gpio = -1, /* assigned at runtime */
587 .code = -1, /* assigned at runtime */
589 .gpio = -1, /* assigned at runtime */
600 .name = "gpio-keys-polled",
607 static void da850_evm_bb_keys_init(unsigned gpio) in da850_evm_bb_keys_init() argument
613 button->desc = (char *) in da850_evm_bb_keys_init()
615 button->gpio = gpio + DA850_EVM_BB_EXP_USER_PB1; in da850_evm_bb_keys_init()
619 button->code = SW_LID + i; in da850_evm_bb_keys_init()
620 button->desc = (char *) in da850_evm_bb_keys_init()
622 button->gpio = gpio + DA850_EVM_BB_EXP_USER_SW1 + i; in da850_evm_bb_keys_init()
629 [0 ... DA850_N_BB_USER_LED - 1] = {
631 .gpio = -1, /* assigned at runtime */
642 .name = "leds-gpio",
643 .id = -1,
649 static void da850_evm_bb_leds_init(unsigned gpio) in da850_evm_bb_leds_init() argument
657 led->gpio = gpio + DA850_EVM_BB_EXP_USER_LED2 + i; in da850_evm_bb_leds_init()
658 led->name = in da850_evm_bb_leds_init()
664 unsigned gpio, unsigned ngpio, in da850_evm_bb_expander_setup() argument
670 * Register the switches and pushbutton on the baseboard as a gpio-keys in da850_evm_bb_expander_setup()
673 da850_evm_bb_keys_init(gpio); in da850_evm_bb_expander_setup()
676 pr_warning("Could not register baseboard GPIO expander keys"); in da850_evm_bb_expander_setup()
680 da850_evm_bb_leds_init(gpio); in da850_evm_bb_expander_setup()
683 pr_warning("Could not register baseboard GPIO expander LEDS"); in da850_evm_bb_expander_setup()
696 unsigned gpio, unsigned ngpio, void *c) in da850_evm_bb_expander_teardown() argument
766 -1
792 -1
1000 -1
1009 -1
1017 -1
1026 u8 rmii_en = soc_info->emac_pdata->rmii_en; in da850_evm_config_emac()
1048 pr_warning("da850_evm_init: cpgmac/rmii mux setup failed: %d\n", in da850_evm_config_emac()
1056 pr_warning("da850_evm_init:GPIO(2,6) mux setup " in da850_evm_config_emac()
1061 pr_warning("Cannot open GPIO %d\n", in da850_evm_config_emac()
1066 /* Enable/Disable MII MDIO clock */ in da850_evm_config_emac()
1069 soc_info->emac_pdata->phy_id = DA850_EVM_PHY_ID; in da850_evm_config_emac()
1082 * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence
1090 {-1, -1}
1098 {-1, -1}
1105 {-1, -1}
1112 {-1, -1}
1189 -1
1193 .irq = -1,
1204 pr_err("wl12xx/mmc mux setup failed: %d\n", ret); in da850_wl12xx_init()
1216 pr_err("Could not request wl12xx enable gpio: %d\n", ret); in da850_wl12xx_init()
1222 pr_err("Could not request wl12xx irq gpio: %d\n", ret); in da850_wl12xx_init()
1273 pr_warning("da850_evm_init: i2c0 mux setup failed: %d\n", in da850_evm_init()
1290 pr_warning("da850_evm_init: mmcsd0 mux setup failed:" in da850_evm_init()
1295 pr_warning("da850_evm_init: can not open GPIO %d\n", in da850_evm_init()
1301 pr_warning("da850_evm_init: can not open GPIO %d\n", in da850_evm_init()
1331 pr_warning("da850_evm_init: mcasp mux setup failed: %d\n", in da850_evm_init()
1338 pr_warning("da850_evm_init: lcdcntl mux setup failed: %d\n", in da850_evm_init()
1344 pr_warning("da850_evm_init: evm specific lcd mux setup " in da850_evm_init()
1407 MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM")