summaryrefslogtreecommitdiffstats
path: root/scripts/mod/file2alias.c
diff options
context:
space:
mode:
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>2015-05-13 08:26:42 -0400
committerFelipe Balbi <balbi@ti.com>2015-05-13 13:04:55 -0400
commit289fcff4bcdb1dcc0ce8788b7ea0f58a9e4a495f (patch)
tree7c5156a0a503fccc18a449de06edda6c07060160 /scripts/mod/file2alias.c
parent3521a399dae8d66fc784cef70a78e65ce73e364f (diff)
usb: add bus type for USB ULPI
UTMI+ Low Pin Interface (ULPI) is a commonly used PHY interface for USB 2.0. The ULPI specification describes a standard set of registers which the vendors can extend for their specific needs. ULPI PHYs provide often functions such as charger detection and ADP sensing and probing. There are two major issues that the bus type is meant to tackle: Firstly, ULPI registers are accessed from the controller. The bus provides convenient method for the controller drivers to share that access with the actual PHY drivers. Secondly, there are already platforms that assume ULPI PHYs are runtime detected, such as many Intel Baytrail based platforms. They do not provide any kind of hardware description for the ULPI PHYs like separate ACPI device object that could be used to enumerate a device from. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Acked-by: David Cohen <david.a.cohen@linux.intel.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'scripts/mod/file2alias.c')
-rw-r--r--scripts/mod/file2alias.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 78691d51a479..a7a8560db44d 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -1192,6 +1192,19 @@ static int do_rio_entry(const char *filename,
1192} 1192}
1193ADD_TO_DEVTABLE("rapidio", rio_device_id, do_rio_entry); 1193ADD_TO_DEVTABLE("rapidio", rio_device_id, do_rio_entry);
1194 1194
1195/* Looks like: ulpi:vNpN */
1196static int do_ulpi_entry(const char *filename, void *symval,
1197 char *alias)
1198{
1199 DEF_FIELD(symval, ulpi_device_id, vendor);
1200 DEF_FIELD(symval, ulpi_device_id, product);
1201
1202 sprintf(alias, "ulpi:v%04xp%04x", vendor, product);
1203
1204 return 1;
1205}
1206ADD_TO_DEVTABLE("ulpi", ulpi_device_id, do_ulpi_entry);
1207
1195/* Does namelen bytes of name exactly match the symbol? */ 1208/* Does namelen bytes of name exactly match the symbol? */
1196static bool sym_is(const char *name, unsigned namelen, const char *symbol) 1209static bool sym_is(const char *name, unsigned namelen, const char *symbol)
1197{ 1210{