summaryrefslogtreecommitdiff
path: root/plugins/udevng.c
diff options
context:
space:
mode:
authorMartin Hundebøll <martin@geanix.com>2019-07-10 23:51:45 +0200
committerDenis Kenzior <denkenz@gmail.com>2019-07-12 10:50:51 -0500
commit2f58421b6431c27fd02a98bf5201ca45d5734662 (patch)
tree50919c9a60a2d6fb4b01f096fd3ce068e9034e2f /plugins/udevng.c
parent6a967b81c77c4364d0b6d568e494f96bbd3fffbe (diff)
downloadofono-2f58421b6431c27fd02a98bf5201ca45d5734662.tar.gz
quectel: support gpio to power on/off the modem
This adds support for configuring a gpio in udev to control the modem power. To enable gpio control, specify OFONO_QUECTEL_GPIO_CHIP and OFONO_QUECTEL_GPIO_OFFSET in the udev environment, for example: KERNEL=="ttymxc0", ENV{OFONO_DRIVER}="quectel", \ ENV{OFONO_QUECTEL_GPIO_CHIP}="gpiochip2", \ ENV{OFONO_QUECTEL_GPIO_OFFSET}="26"
Diffstat (limited to 'plugins/udevng.c')
-rw-r--r--plugins/udevng.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/plugins/udevng.c b/plugins/udevng.c
index f8817a2f..35354a16 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -883,8 +883,17 @@ static gboolean setup_quectel_serial(struct modem_info *modem)
const char *value;
value = udev_device_get_property_value(info->dev,
- "OFONO_QUECTEL_RTSCTS");
+ "OFONO_QUECTEL_GPIO_CHIP");
+ if (value)
+ ofono_modem_set_string(modem->modem, "GpioChip", value);
+ value = udev_device_get_property_value(info->dev,
+ "OFONO_QUECTEL_GPIO_OFFSET");
+ if (value)
+ ofono_modem_set_string(modem->modem, "GpioOffset", value);
+
+ value = udev_device_get_property_value(info->dev,
+ "OFONO_QUECTEL_RTSCTS");
ofono_modem_set_string(modem->modem, "RtsCts", value ? value : "off");
ofono_modem_set_string(modem->modem, "Device", info->devnode);