Lines Matching +full:modem +full:- +full:init

1 // SPDX-License-Identifier: GPL-2.0-only
3 * linux/arch/arm/mach-omap1/board-ams-delta.c
5 * Modified from board-generic.c
16 #include <linux/init.h>
20 #include <linux/mtd/nand-gpio.h>
30 #include <linux/platform_data/gpio-omap.h>
33 #include <asm/mach-types.h>
37 #include <linux/platform_data/keypad-omap.h>
43 #include "ams-delta-fiq.h"
44 #include "board-ams-delta.h"
173 .end = LATCH1_PHYS + (LATCH1_NGPIO - 1) / 8,
182 .base = -1,
187 .name = "basic-mmio-gpio",
211 .end = LATCH2_PHYS + (LATCH2_NGPIO - 1) / 8,
220 .base = -1,
225 .name = "basic-mmio-gpio",
253 REGULATOR_SUPPLY("POR", "cx20442-codec"),
274 .name = "reg-fixed-voltage",
275 .id = -1,
282 .dev_id = "reg-fixed-voltage",
304 { .name = "u-boot",
307 { .name = "u-boot params",
317 .offset = 32 * SZ_1M - 3 * SZ_256K,
327 .name = "ams-delta-nand",
328 .id = -1,
334 #define OMAP_GPIO_LABEL "gpio-0-15"
384 .name = "omap-keypad",
385 .id = -1,
395 .id = -1,
478 .name = "ams-delta-audio",
479 .id = -1,
497 .name = "cx20442-codec",
498 .id = -1,
509 .start = -EINVAL,
510 .end = -EINVAL,
515 .name = "ams-delta-serio",
552 .name = "reg-fixed-voltage",
588 * with GPIO numbers. The same applies to GPIO based IRQ lines - some
599 return !strcmp(label, chip->label); in gpiochip_match_by_label()
611 * Obtain MODEM IRQ GPIO descriptor using its hardware pin
612 * number and assign related IRQ number to the MODEM port.
623 pr_err("%s: modem IRQ GPIO request failed (%ld)\n", __func__, in modem_assign_irq()
659 * Initialize latch2 pins with values which are safe for dependent on-board
662 * - LATCH2_PIN_LCD_VBLEN = 0
663 * - LATCH2_PIN_LCD_NDISP = 0 Keep LCD device powered off before its
665 * - LATCH2_PIN_NAND_NCE = 0
666 * - LATCH2_PIN_NAND_NWP = 0 Keep NAND device down and write-
669 * - LATCH2_PIN_KEYBRD_PWR = 0 Keep keyboard powered off before serio
671 * - LATCH2_PIN_KEYBRD_DATAOUT = 0 Keep low to avoid corruption of first
676 * - LATCH2_PIN_MODEM_NRESET = 1 Enable voice MODEM device, allowing for
680 * - LATCH2_PIN_MODEM_CODEC = 1 Attach voice MODEM CODEC data port
681 * to the MODEM so the CODEC is under
760 leds_gpio_table.dev_id = dev_name(&leds_pdev->dev); in ams_delta_init()
771 struct modem_private_data *priv = port->private_data; in modem_pm()
777 if (IS_ERR(priv->regulator)) in modem_pm()
784 ret = regulator_enable(priv->regulator); in modem_pm()
786 ret = regulator_disable(priv->regulator); in modem_pm()
791 dev_warn(port->dev, in modem_pm()
826 pr_err("Couldn't register the modem regulator device\n"); in modem_nreset_init()
833 * This function expects MODEM IRQ number already assigned to the port.
834 * The MODEM device requires its RESET# pin kept high during probe.
836 * - with a descriptor of already functional modem_nreset regulator
837 * assigned to the MODEM private data,
838 * - with the regulator not yet controlled by modem_pm function but
840 * - before the modem_nreset regulator is probed, with the pin already
844 * In order to avoid taking over ttyS0 device slot, the MODEM device
854 return -ENODEV; in ams_delta_modem_init()
859 modem_priv.regulator = ERR_PTR(-ENODEV); in ams_delta_modem_init()
876 * Once the modem device is registered, the modem_nreset in late_init()