summaryrefslogtreecommitdiff
path: root/io-module/machine
diff options
context:
space:
mode:
Diffstat (limited to 'io-module/machine')
-rw-r--r--io-module/machine/mtcpm.c (renamed from io-module/machine/mtcdt3.c)116
1 files changed, 78 insertions, 38 deletions
diff --git a/io-module/machine/mtcdt3.c b/io-module/machine/mtcpm.c
index 373fc47..7052b51 100644
--- a/io-module/machine/mtcdt3.c
+++ b/io-module/machine/mtcpm.c
@@ -6,7 +6,7 @@
* occurrence of each pin, so there is only one
* pin label set for each gpio pin.
*/
-static struct gpio_pin gpio_pins_mtcdt3[] = {
+static struct gpio_pin gpio_pins_mtcpm[] = {
{
.name = "RADIO_RESET",
.pin = {
@@ -156,42 +156,36 @@ static struct gpio_pin gpio_pins_mtcdt3[] = {
{ },
};
-static DEVICE_ATTR_MTS(dev_attr_wifi_reset_mtcdt3, "wlan-enabled",
+static DEVICE_ATTR_MTS(dev_attr_wifi_reset_mtcpm, "wlan-enabled",
mts_attr_show_gpio_pin, mts_attr_store_gpio_pin);
-static DEVICE_ATTR_MTS(dev_attr_bt_reset_mtcdt3, "bt-enabled",
+static DEVICE_ATTR_MTS(dev_attr_bt_reset_mtcpm, "bt-enabled",
mts_attr_show_gpio_pin, mts_attr_store_gpio_pin);
-static DEVICE_ATTR_RO_MTS(dev_attr_wifi_bt_int_mtcdt3, "wifi-bt-int",
+static DEVICE_ATTR_RO_MTS(dev_attr_wifi_bt_int_mtcpm, "wifi-bt-int",
mts_attr_show_gpio_pin);
-static DEVICE_ATTR_MTS(dev_attr_gnss_reset_mtcdt3, "gnss-reset",
+static DEVICE_ATTR_MTS(dev_attr_gnss_reset_mtcpm, "gnss-reset",
mts_attr_show_gpio_pin, mts_attr_store_gpio_pin);
-static DEVICE_ATTR_MTS(dev_attr_usbhub_reset_mtcdt3, "usbhub-reset",
+static DEVICE_ATTR_MTS(dev_attr_usbhub_reset_mtcpm, "usbhub-reset",
mts_attr_show_gpio_pin, mts_attr_store_gpio_pin);
-static DEVICE_ATTR_MTS(dev_attr_eth_reset_mtcdt3, "eth-reset",
+static DEVICE_ATTR_MTS(dev_attr_eth_reset_mtcpm, "eth-reset",
mts_attr_show_gpio_pin, mts_attr_store_gpio_pin);
-static DEVICE_ATTR_MTS(dev_attr_gnss_int_mtcdt3, "gnss-int",
+static DEVICE_ATTR_MTS(dev_attr_gnss_int_mtcpm, "gnss-int",
mts_attr_show_gpio_pin, mts_attr_store_gpio_pin);
-static DEVICE_ATTR_MTS(dev_attr_lora_reset_mtcdt3, "reset",
+static DEVICE_ATTR_MTS(dev_attr_lora_reset_mtcpm, "reset",
mts_attr_show_lora_gpio_pin, mts_attr_store_lora_gpio_pin);
-static DEVICE_ATTR_RO_MTS(dev_attr_lora_cdone_mtcdt3, "cdone",
+static DEVICE_ATTR_RO_MTS(dev_attr_lora_cdone_mtcpm, "cdone",
mts_attr_show_lora_gpio_pin);
-static DEVICE_ATTR_MTS(dev_attr_lora_creset_mtcdt3, "creset",
+static DEVICE_ATTR_MTS(dev_attr_lora_creset_mtcpm, "creset",
mts_attr_show_lora_gpio_pin, mts_attr_store_lora_gpio_pin);
-static DEVICE_ATTR_RO_MTS(dev_attr_lora_eui_mtcdt3, "eui",
+static DEVICE_ATTR_RO_MTS(dev_attr_lora_eui_mtcpm, "eui",
mts_attr_show_lora_product_info);
-static DEVICE_ATTR_RO_MTS(dev_attr_lora_product_id_mtcdt3, "product-id",
+static DEVICE_ATTR_RO_MTS(dev_attr_lora_product_id_mtcpm, "product-id",
mts_attr_show_lora_product_info);
-static DEVICE_ATTR_RO_MTS(dev_attr_lora_hw_version_mtcdt3, "hw-version",
+static DEVICE_ATTR_RO_MTS(dev_attr_lora_hw_version_mtcpm, "hw-version",
mts_attr_show_lora_product_info);
-static struct attribute *mtcdt3_platform_attributes[] = {
- &dev_attr_vendor_id.attr,
- &dev_attr_product_id.attr,
- &dev_attr_device_id.attr,
- &dev_attr_uuid.attr,
- &dev_attr_hw_version.attr,
+static struct attribute *mtcpm_platform_attributes[] = {
&dev_attr_imei.attr,
&dev_attr_eth_mac.attr,
- &dev_attr_has_radio.attr,
&dev_attr_reset.attr,
&dev_attr_reset_monitor.attr,
&dev_attr_reset_monitor_intervals.attr,
@@ -216,37 +210,83 @@ static struct attribute *mtcdt3_platform_attributes[] = {
&dev_attr_radio_reset_backoff_index.attr,
&dev_attr_radio_reset_backoff_seconds.attr,
- &dev_attr_wifi_reset_mtcdt3.attr,
- &dev_attr_bt_reset_mtcdt3.attr,
- &dev_attr_wifi_bt_int_mtcdt3.attr,
+ &dev_attr_wifi_reset_mtcpm.attr,
+ &dev_attr_bt_reset_mtcpm.attr,
+ &dev_attr_wifi_bt_int_mtcpm.attr,
- &dev_attr_gnss_reset_mtcdt3.attr,
- &dev_attr_gnss_int_mtcdt3.attr,
+ &dev_attr_gnss_reset_mtcpm.attr,
+ &dev_attr_gnss_int_mtcpm.attr,
NULL,
};
-static struct attribute_group mtcdt3_platform_attribute_group = {
- .attrs = mtcdt3_platform_attributes
+
+
+static struct attribute_group mtcpm_platform_attribute_group = {
+ .attrs = mtcpm_platform_attributes
};
static int
-is_radio_power_attr_mtcdt3(struct attribute *attr)
+is_radio_power_attr_mtcpm(struct attribute *attr)
{
return (attr == &dev_attr_radio_power.attr);
}
-static struct attribute *mtcdt3_lora_attributes[] = {
- &dev_attr_lora_eui_mtcdt3.attr,
- &dev_attr_lora_product_id_mtcdt3.attr,
- &dev_attr_lora_hw_version_mtcdt3.attr,
- &dev_attr_lora_reset_mtcdt3.attr,
- &dev_attr_lora_cdone_mtcdt3.attr,
- &dev_attr_lora_creset_mtcdt3.attr,
+static struct attribute *mtcpm_lora_attributes[] = {
+ &dev_attr_lora_eui_mtcpm.attr,
+ &dev_attr_lora_product_id_mtcpm.attr,
+ &dev_attr_lora_hw_version_mtcpm.attr,
+ &dev_attr_lora_reset_mtcpm.attr,
+ &dev_attr_lora_cdone_mtcpm.attr,
+ &dev_attr_lora_creset_mtcpm.attr,
NULL,
};
-static struct attribute_group mtcdt3_lora_attribute_group = {
- .attrs = mtcdt3_lora_attributes
+static struct attribute_group mtcpm_lora_attribute_group = {
+ .attrs = mtcpm_lora_attributes
};
+static struct attribute *mtcpm_cpu_attributes[] = {
+ &dev_attr_vendor_id.attr,
+ &dev_attr_product_id.attr,
+ &dev_attr_device_id.attr,
+ &dev_attr_uuid.attr,
+ &dev_attr_hw_version.attr,
+ &dev_attr_imei.attr,
+ NULL,
+};
+
+
+static struct attribute_group mtcpm_cpu_attribute_group = {
+ .attrs = mtcpm_cpu_attributes
+};
+
+static struct kobject *mts_cpu_kobject = NULL;
+
+static int mts_cpu_dir_create(uint8_t hw_version)
+{
+ if (hw_version != MTCPM_0_0)
+ return 0;
+
+ mts_cpu_kobject = kobject_create_and_add("cpu", &mts_io_platform_device->dev.kobj);
+ if (!mts_cpu_kobject) {
+ log_error("kobject_create_and_add for cpu directory failed");
+ return -ENOMEM;
+ }
+
+ if (sysfs_create_group(mts_cpu_kobject, &mtcpm_cpu_attribute_group)) {
+ log_error("sysfs_create_group failed to create cpu group");
+ return -ENOMEM;
+ }
+
+ return 0;
+}
+
+static void mts_cpu_dir_delete(void)
+{
+ if (mts_cpu_kobject) {
+ kobject_put(mts_cpu_kobject);
+ mts_cpu_kobject = NULL;
+ }
+}
+