All of lore.kernel.org
 help / color / mirror / Atom feed
From: Minkyu Kang <mk7.kang@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V3 2/2] trats2: enable ums support on Trats2
Date: Thu, 21 Nov 2013 17:24:03 +0900	[thread overview]
Message-ID: <528DC323.7020704@samsung.com> (raw)
In-Reply-To: <1383836434-13003-2-git-send-email-p.wilczek@samsung.com>

Dear Piotr Wilczek,

On 08/11/13 00:00, Piotr Wilczek wrote:
> This patch adds support for USB and enables 'ums' command on Trats2 board.
> 
> Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> CC: Minkyu Kang <mk7.kang@samsung.com>
> 
> Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
> ---
> This patch depends on the lated u-boot-usb/master.
> 
> Changes for v3:
>  - no changes
> 
> Changes for v2:
>  - rebased on current USB tree
>  - removed unnecessary pmic probing
> 
>  board/samsung/trats2/trats2.c |   92 +++++++++++++++++++++++++++++++++++++++++
>  include/configs/trats2.h      |   18 ++++++++
>  2 files changed, 110 insertions(+)
> 
> diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
> index d44d825..41a7310 100644
> --- a/board/samsung/trats2/trats2.c
> +++ b/board/samsung/trats2/trats2.c
> @@ -25,6 +25,9 @@
>  #include <power/max77693_fg.h>
>  #include <libtizen.h>
>  #include <errno.h>
> +#include <usb.h>
> +#include <usb/s3c_udc.h>
> +#include <usb_mass_storage.h>
>  
>  DECLARE_GLOBAL_DATA_PTR;
>  
> @@ -308,6 +311,95 @@ int board_mmc_init(bd_t *bis)
>  	return err0 & err2;
>  }
>  
> +#ifdef CONFIG_USB_GADGET
> +static int s5pc210_phy_control(int on)
> +{
> +	int ret = 0;
> +	unsigned int val;
> +	struct pmic *p, *p_pmic, *p_muic;
> +
> +	p_pmic = pmic_get("MAX77686_PMIC");
> +	if (!p_pmic)
> +		return -ENODEV;
> +
> +	if (pmic_probe(p_pmic))
> +		return -1;
> +
> +	p_muic = pmic_get("MAX77693_MUIC");
> +	if (!p_muic)
> +		return -ENODEV;
> +
> +	if (pmic_probe(p_muic))
> +		return -1;
> +
> +	if (on) {
> +		ret = max77686_set_ldo_mode(p_pmic, 12, OPMODE_ON);
> +		if (ret)
> +			return -1;
> +
> +		p = pmic_get("MAX77693_PMIC");
> +		if (!p)
> +			return -ENODEV;
> +
> +		if (pmic_probe(p))
> +			return -1;
> +
> +		/* SAFEOUT */
> +		ret = pmic_reg_read(p, MAX77693_SAFEOUT, &val);
> +		if (ret)
> +			return -1;
> +
> +		val |= MAX77693_ENSAFEOUT1;
> +		ret = pmic_reg_write(p, MAX77693_SAFEOUT, val);
> +		if (ret)
> +			return -1;
> +
> +		/* PATH: USB */
> +		ret = pmic_reg_write(p_muic, MAX77693_MUIC_CONTROL1,
> +			MAX77693_MUIC_CTRL1_DN1DP2);
> +
> +	} else {
> +		ret = max77686_set_ldo_mode(p_pmic, 12, OPMODE_LPM);
> +		if (ret)
> +			return -1;
> +
> +		/* PATH: UART */
> +		ret = pmic_reg_write(p_muic, MAX77693_MUIC_CONTROL1,
> +			MAX77693_MUIC_CTRL1_UT1UR2);
> +	}
> +
> +	if (ret)
> +		return -1;
> +

please remove blank line.

> +
> +	return 0;
> +}
> +
> +struct s3c_plat_otg_data s5pc210_otg_data = {
> +	.phy_control	= s5pc210_phy_control,
> +	.regs_phy	= EXYNOS4X12_USBPHY_BASE,
> +	.regs_otg	= EXYNOS4X12_USBOTG_BASE,
> +	.usb_phy_ctrl	= EXYNOS4X12_USBPHY_CONTROL,
> +	.usb_flags	= PHY0_SLEEP,
> +};
> +
> +int board_usb_init(int index, enum usb_init_type init)
> +{
> +	debug("USB_udc_probe\n");
> +	return s3c_udc_probe(&s5pc210_otg_data);
> +}
> +
> +#ifdef CONFIG_USB_CABLE_CHECK
> +int usb_cable_connected(void)
> +{
> +	struct pmic *muic = pmic_get("MAX77693_MUIC");
> +	int cable_connected = muic->chrg->chrg_type(muic);

Please check that muic is available.

> +
> +	return !!cable_connected;

I think, cable_connected is unnecessary.

return !!muic->chrg->chrg_type(muic);

> +}
> +#endif
> +#endif
> +
>  static int pmic_init_max77686(void)
>  {
>  	struct pmic *p = pmic_get("MAX77686_PMIC");
> diff --git a/include/configs/trats2.h b/include/configs/trats2.h
> index 0e93836..66b1c95 100644
> --- a/include/configs/trats2.h
> +++ b/include/configs/trats2.h
> @@ -113,6 +113,16 @@
>  #define CONFIG_CMD_EXT4
>  #define CONFIG_CMD_EXT4_WRITE
>  
> +/* USB Composite download gadget - g_dnl */
> +#define CONFIG_USBDOWNLOAD_GADGET
> +#define CONFIG_DFU_FUNCTION
> +#define CONFIG_DFU_MMC
> +
> +/* USB Samsung's IDs */
> +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
> +
>  /* To use the TFTPBOOT over USB, Please enable the CONFIG_CMD_NET */
>  #undef CONFIG_CMD_NET
>  
> @@ -293,6 +303,11 @@
>  #define CONFIG_POWER_MUIC_MAX77693
>  #define CONFIG_POWER_FG_MAX77693
>  #define CONFIG_POWER_BATTERY_TRATS2
> +#define CONFIG_USB_GADGET
> +#define CONFIG_USB_GADGET_S3C_UDC_OTG
> +#define CONFIG_USB_GADGET_DUALSPEED
> +#define CONFIG_USB_GADGET_VBUS_DRAW	2
> +#define CONFIG_USB_CABLE_CHECK
>  
>  /* LCD */
>  #define CONFIG_EXYNOS_FB
> @@ -305,6 +320,9 @@
>  #define CONFIG_VIDEO_BMP_GZIP
>  #define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 250 * 4) + (1 << 12))
>  
> +#define CONFIG_CMD_USB_MASS_STORAGE
> +#define CONFIG_USB_GADGET_MASS_STORAGE
> +
>  /* Pass open firmware flat tree */
>  #define CONFIG_OF_LIBFDT    1
>  
> 

Thanks,
Minkyu Kang.

  reply	other threads:[~2013-11-21  8:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-06 13:46 [U-Boot] [PATCH V2 1/2] driver:usb:s3c_udc: add support for Exynos4x12 Piotr Wilczek
2013-11-06 13:46 ` [U-Boot] [PATCH V2 2/2] trats2: enable ums support on Trats2 Piotr Wilczek
2013-11-07  4:46   ` Jaehoon Chung
2013-11-07  4:48 ` [U-Boot] [PATCH V2 1/2] driver:usb:s3c_udc: add support for Exynos4x12 Jaehoon Chung
2013-11-07  6:42   ` Piotr Wilczek
2013-11-07 15:00 ` [U-Boot] [PATCH V3 " Piotr Wilczek
2013-11-07 15:00   ` [U-Boot] [PATCH V3 2/2] trats2: enable ums support on Trats2 Piotr Wilczek
2013-11-21  8:24     ` Minkyu Kang [this message]
2013-11-21  8:42       ` Piotr Wilczek
2013-11-21  8:10   ` [U-Boot] [PATCH V3 1/2] driver:usb:s3c_udc: add support for Exynos4x12 Minkyu Kang
2013-11-21  8:40     ` Piotr Wilczek
2013-11-21  9:09       ` Minkyu Kang
2013-11-21 14:46   ` [U-Boot] [PATCH V4 " Piotr Wilczek
2013-11-21 14:46     ` [U-Boot] [PATCH V4 2/2] trats2: enable ums support on Trats2 Piotr Wilczek
2013-12-02  2:27       ` Minkyu Kang
2013-12-02  2:27     ` [U-Boot] [PATCH V4 1/2] driver:usb:s3c_udc: add support for Exynos4x12 Minkyu Kang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=528DC323.7020704@samsung.com \
    --to=mk7.kang@samsung.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.