extcon: max77693: Set default uart/usb path by using platform data

This patch determine default uart/usb path by using platform data.
The MAX77693 MUIC device can possibliy set USB/UART/AUDIO/USB_AUX
/UART_AUX to internal h/w path of MUIC device. So, drvier should
determine default uart/usb path.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
This commit is contained in:
Chanwoo Choi 2012-12-06 21:27:56 +09:00
parent ae3b3215f8
commit 2b75799f5a
2 changed files with 31 additions and 0 deletions

View File

@ -63,6 +63,13 @@ struct max77693_muic_info {
/* Button of dock device */ /* Button of dock device */
struct input_dev *dock; struct input_dev *dock;
/*
* Default usb/uart path whether UART/USB or AUX_UART/AUX_USB
* h/w path of COMP2/COMN1 on CONTROL1 register.
*/
int path_usb;
int path_uart;
}; };
enum max77693_muic_cable_group { enum max77693_muic_cable_group {
@ -1058,6 +1065,23 @@ static int max77693_muic_probe(struct platform_device *pdev)
= muic_pdata->init_data[i].data; = muic_pdata->init_data[i].data;
} }
/*
* Default usb/uart path whether UART/USB or AUX_UART/AUX_USB
* h/w path of COMP2/COMN1 on CONTROL1 register.
*/
if (muic_pdata->path_uart)
info->path_uart = muic_pdata->path_uart;
else
info->path_uart = CONTROL1_SW_UART;
if (muic_pdata->path_usb)
info->path_usb = muic_pdata->path_usb;
else
info->path_usb = CONTROL1_SW_USB;
/* Set initial path for UART */
max77693_muic_set_path(info, info->path_uart, true);
/* Check revision number of MUIC device*/ /* Check revision number of MUIC device*/
ret = max77693_read_reg(info->max77693->regmap_muic, ret = max77693_read_reg(info->max77693->regmap_muic,
MAX77693_MUIC_REG_ID, &id); MAX77693_MUIC_REG_ID, &id);

View File

@ -40,6 +40,13 @@ struct max77693_muic_platform_data {
int num_init_data; int num_init_data;
int detcable_delay_ms; int detcable_delay_ms;
/*
* Default usb/uart path whether UART/USB or AUX_UART/AUX_USB
* h/w path of COMP2/COMN1 on CONTROL1 register.
*/
int path_usb;
int path_uart;
}; };
struct max77693_platform_data { struct max77693_platform_data {