Description:
                The ID of a Greybus interface.
 
+What:          /sys/bus/greybus/device/N-I/serial_number
+Date:          October 2015
+KernelVersion: 4.XX
+Contact:       Greg Kroah-Hartman <greg@kroah.com>
+Description:
+               Serial Number of the Greybus interface, represented by a 64 bit
+               hexadecimal number.
+
 What:          /sys/bus/greybus/device/N-I/product_id
 Date:          October 2015
 KernelVersion: 4.XX
 
 gb_interface_attr(product_id, "0x%08x");
 gb_interface_attr(vendor_string, "%s");
 gb_interface_attr(product_string, "%s");
+gb_interface_attr(serial_number, "0x%016llx");
 
 static struct attribute *interface_attrs[] = {
        &dev_attr_ddbl1_manufacturer_id.attr,
        &dev_attr_product_id.attr,
        &dev_attr_vendor_string.attr,
        &dev_attr_product_string.attr,
+       &dev_attr_serial_number.attr,
        NULL,
 };
 ATTRIBUTE_GROUPS(interface);
 
        intf->ddbl1_product_id = le32_to_cpu(request->data.ddbl1_prod_id);
        intf->vendor_id = le32_to_cpu(request->data.ara_vend_id);
        intf->product_id = le32_to_cpu(request->data.ara_prod_id);
+       intf->serial_number = le64_to_cpu(request->data.serial_number);
 
        ret = gb_svc_read_and_clear_module_boot_status(intf);
        if (ret) {