Re: [U-Boot] [PATCH v1 1/2] usb: dfu: add config option to use in dfu mode fullspeed only
Hello Bin Liu, Am 09.09.2014 16:42, schrieb Bin Liu: Heiko, On 09/09/2014 09:37 AM, Heiko Schocher wrote: Hello Bin Liu, Am 09.09.2014 16:09, schrieb Bin Liu: Heiko, On 09/09/2014 07:37 AM, Heiko Schocher wrote: add the new config option CONFIG_DFU_FULLSPEED. With this option enabled, DFU uses fullspeed only. Can we not introduce the new config option but check the gadget driver speed in runtime as what the ether gadget driver does? I don't want two config options (CONFIG_USB_GADGET_DUALSPEED and CONFIG_DFU_FULLSPEED) to control one feature, as in your patch 2/2. Hmm.. I am not sure, if I understand you correct. I could use CONFIG_USB_GADGET_DUALSPEED instead the new config option for setting config-fullspeed = 1; in g_dnl_config_register() If you mean this, yes, thats would be a good change... No, I did not mean this build time macro, but was thinking you can check g-speed at the same place in runtime. I think you can refer to ether.c, which supports full-speed but does not use any macro. Yep, you are right, I can get rid completely of this new define! The speed selection is done in drivers/usb/gadget/composite.c I removed it, do some tests, and send a v2. Thanks! bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v1 1/2] usb: dfu: add config option to use in dfu mode fullspeed only
add the new config option CONFIG_DFU_FULLSPEED. With this option enabled, DFU uses fullspeed only. Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Marek Vasut ma...@denx.de Cc: Liu Bin b-...@ti.com Cc: Lukas Stockmann lukas.stockm...@siemens.com --- README | 3 +++ drivers/usb/gadget/f_dfu.c | 3 +++ drivers/usb/gadget/g_dnl.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/README b/README index 0a0f528..1413392 100644 --- a/README +++ b/README @@ -1607,6 +1607,9 @@ The following options need to be configured: entering dfuMANIFEST state. Host waits this timeout, before sending again an USB request to the device. + CONFIG_DFU_FULLSPEED + use for the dfu functionality fullspeed only. + - USB Device Android Fastboot support: CONFIG_CMD_FASTBOOT This enables the command fastboot which enables the Android diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c index 1145aab..dfa9f3b 100644 --- a/drivers/usb/gadget/f_dfu.c +++ b/drivers/usb/gadget/f_dfu.c @@ -238,6 +238,7 @@ static inline void to_dfu_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = dfu_strings; f_dfu-usb_function.hs_descriptors = f_dfu-function; + f_dfu-usb_function.descriptors = f_dfu-function; f_dfu-dfu_state = DFU_STATE_dfuIDLE; } @@ -245,6 +246,7 @@ static inline void to_runtime_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = NULL; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; } static int handle_upload(struct usb_request *req, u16 len) @@ -809,6 +811,7 @@ static int dfu_bind_config(struct usb_configuration *c) return -ENOMEM; f_dfu-usb_function.name = dfu; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; f_dfu-usb_function.bind = dfu_bind; f_dfu-usb_function.unbind = dfu_unbind; f_dfu-usb_function.set_alt = dfu_set_alt; diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 58cad11..79e0c9c 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -143,6 +143,9 @@ static int g_dnl_config_register(struct usb_composite_dev *cdev) config-bConfigurationValue = CONFIGURATION_NUMBER; config-iConfiguration = STRING_USBDOWN; config-bind = g_dnl_do_config; +#if defined(CONFIG_DFU_FULLSPEED) + config-fullspeed = 1; +#endif return usb_add_config(cdev, config); } -- 1.8.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/2] usb: dfu: add config option to use in dfu mode fullspeed only
Heiko, On 09/09/2014 07:37 AM, Heiko Schocher wrote: add the new config option CONFIG_DFU_FULLSPEED. With this option enabled, DFU uses fullspeed only. Can we not introduce the new config option but check the gadget driver speed in runtime as what the ether gadget driver does? I don't want two config options (CONFIG_USB_GADGET_DUALSPEED and CONFIG_DFU_FULLSPEED) to control one feature, as in your patch 2/2. Regards, -Bin. Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Marek Vasut ma...@denx.de Cc: Liu Bin b-...@ti.com Cc: Lukas Stockmann lukas.stockm...@siemens.com --- README | 3 +++ drivers/usb/gadget/f_dfu.c | 3 +++ drivers/usb/gadget/g_dnl.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/README b/README index 0a0f528..1413392 100644 --- a/README +++ b/README @@ -1607,6 +1607,9 @@ The following options need to be configured: entering dfuMANIFEST state. Host waits this timeout, before sending again an USB request to the device. + CONFIG_DFU_FULLSPEED + use for the dfu functionality fullspeed only. + - USB Device Android Fastboot support: CONFIG_CMD_FASTBOOT This enables the command fastboot which enables the Android diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c index 1145aab..dfa9f3b 100644 --- a/drivers/usb/gadget/f_dfu.c +++ b/drivers/usb/gadget/f_dfu.c @@ -238,6 +238,7 @@ static inline void to_dfu_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = dfu_strings; f_dfu-usb_function.hs_descriptors = f_dfu-function; + f_dfu-usb_function.descriptors = f_dfu-function; f_dfu-dfu_state = DFU_STATE_dfuIDLE; } @@ -245,6 +246,7 @@ static inline void to_runtime_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = NULL; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; } static int handle_upload(struct usb_request *req, u16 len) @@ -809,6 +811,7 @@ static int dfu_bind_config(struct usb_configuration *c) return -ENOMEM; f_dfu-usb_function.name = dfu; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; f_dfu-usb_function.bind = dfu_bind; f_dfu-usb_function.unbind = dfu_unbind; f_dfu-usb_function.set_alt = dfu_set_alt; diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 58cad11..79e0c9c 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -143,6 +143,9 @@ static int g_dnl_config_register(struct usb_composite_dev *cdev) config-bConfigurationValue = CONFIGURATION_NUMBER; config-iConfiguration = STRING_USBDOWN; config-bind = g_dnl_do_config; +#if defined(CONFIG_DFU_FULLSPEED) + config-fullspeed = 1; +#endif return usb_add_config(cdev, config); } ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/2] usb: dfu: add config option to use in dfu mode fullspeed only
Hi Bin, Heiko, On 09/09/2014 07:37 AM, Heiko Schocher wrote: add the new config option CONFIG_DFU_FULLSPEED. With this option enabled, DFU uses fullspeed only. Can we not introduce the new config option but check the gadget driver speed in runtime as what the ether gadget driver does? I don't want two config options (CONFIG_USB_GADGET_DUALSPEED and CONFIG_DFU_FULLSPEED) to control one feature, as in your patch 2/2. +1 Regards, -Bin. Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Marek Vasut ma...@denx.de Cc: Liu Bin b-...@ti.com Cc: Lukas Stockmann lukas.stockm...@siemens.com --- README | 3 +++ drivers/usb/gadget/f_dfu.c | 3 +++ drivers/usb/gadget/g_dnl.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/README b/README index 0a0f528..1413392 100644 --- a/README +++ b/README @@ -1607,6 +1607,9 @@ The following options need to be configured: entering dfuMANIFEST state. Host waits this timeout, before sending again an USB request to the device. + CONFIG_DFU_FULLSPEED + use for the dfu functionality fullspeed only. + - USB Device Android Fastboot support: CONFIG_CMD_FASTBOOT This enables the command fastboot which enables the Android diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c index 1145aab..dfa9f3b 100644 --- a/drivers/usb/gadget/f_dfu.c +++ b/drivers/usb/gadget/f_dfu.c @@ -238,6 +238,7 @@ static inline void to_dfu_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = dfu_strings; f_dfu-usb_function.hs_descriptors = f_dfu-function; + f_dfu-usb_function.descriptors = f_dfu-function; f_dfu-dfu_state = DFU_STATE_dfuIDLE; } @@ -245,6 +246,7 @@ static inline void to_runtime_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = NULL; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; } static int handle_upload(struct usb_request *req, u16 len) @@ -809,6 +811,7 @@ static int dfu_bind_config(struct usb_configuration *c) return -ENOMEM; f_dfu-usb_function.name = dfu; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; f_dfu-usb_function.bind = dfu_bind; f_dfu-usb_function.unbind = dfu_unbind; f_dfu-usb_function.set_alt = dfu_set_alt; diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 58cad11..79e0c9c 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -143,6 +143,9 @@ static int g_dnl_config_register(struct usb_composite_dev *cdev) config-bConfigurationValue = CONFIGURATION_NUMBER; config-iConfiguration = STRING_USBDOWN; config-bind = g_dnl_do_config; +#if defined(CONFIG_DFU_FULLSPEED) + config-fullspeed = 1; +#endif return usb_add_config(cdev, config); } -- Best regards, Lukasz Majewski Samsung RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/2] usb: dfu: add config option to use in dfu mode fullspeed only
Hello Bin Liu, Am 09.09.2014 16:09, schrieb Bin Liu: Heiko, On 09/09/2014 07:37 AM, Heiko Schocher wrote: add the new config option CONFIG_DFU_FULLSPEED. With this option enabled, DFU uses fullspeed only. Can we not introduce the new config option but check the gadget driver speed in runtime as what the ether gadget driver does? I don't want two config options (CONFIG_USB_GADGET_DUALSPEED and CONFIG_DFU_FULLSPEED) to control one feature, as in your patch 2/2. Hmm.. I am not sure, if I understand you correct. I could use CONFIG_USB_GADGET_DUALSPEED instead the new config option for setting config-fullspeed = 1; in g_dnl_config_register() If you mean this, yes, thats would be a good change... bye, Heiko Regards, -Bin. Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Marek Vasut ma...@denx.de Cc: Liu Bin b-...@ti.com Cc: Lukas Stockmann lukas.stockm...@siemens.com --- README | 3 +++ drivers/usb/gadget/f_dfu.c | 3 +++ drivers/usb/gadget/g_dnl.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/README b/README index 0a0f528..1413392 100644 --- a/README +++ b/README @@ -1607,6 +1607,9 @@ The following options need to be configured: entering dfuMANIFEST state. Host waits this timeout, before sending again an USB request to the device. + CONFIG_DFU_FULLSPEED + use for the dfu functionality fullspeed only. + - USB Device Android Fastboot support: CONFIG_CMD_FASTBOOT This enables the command fastboot which enables the Android diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c index 1145aab..dfa9f3b 100644 --- a/drivers/usb/gadget/f_dfu.c +++ b/drivers/usb/gadget/f_dfu.c @@ -238,6 +238,7 @@ static inline void to_dfu_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = dfu_strings; f_dfu-usb_function.hs_descriptors = f_dfu-function; + f_dfu-usb_function.descriptors = f_dfu-function; f_dfu-dfu_state = DFU_STATE_dfuIDLE; } @@ -245,6 +246,7 @@ static inline void to_runtime_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = NULL; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; } static int handle_upload(struct usb_request *req, u16 len) @@ -809,6 +811,7 @@ static int dfu_bind_config(struct usb_configuration *c) return -ENOMEM; f_dfu-usb_function.name = dfu; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; f_dfu-usb_function.bind = dfu_bind; f_dfu-usb_function.unbind = dfu_unbind; f_dfu-usb_function.set_alt = dfu_set_alt; diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 58cad11..79e0c9c 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -143,6 +143,9 @@ static int g_dnl_config_register(struct usb_composite_dev *cdev) config-bConfigurationValue = CONFIGURATION_NUMBER; config-iConfiguration = STRING_USBDOWN; config-bind = g_dnl_do_config; +#if defined(CONFIG_DFU_FULLSPEED) + config-fullspeed = 1; +#endif return usb_add_config(cdev, config); } -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/2] usb: dfu: add config option to use in dfu mode fullspeed only
Heiko, On 09/09/2014 09:37 AM, Heiko Schocher wrote: Hello Bin Liu, Am 09.09.2014 16:09, schrieb Bin Liu: Heiko, On 09/09/2014 07:37 AM, Heiko Schocher wrote: add the new config option CONFIG_DFU_FULLSPEED. With this option enabled, DFU uses fullspeed only. Can we not introduce the new config option but check the gadget driver speed in runtime as what the ether gadget driver does? I don't want two config options (CONFIG_USB_GADGET_DUALSPEED and CONFIG_DFU_FULLSPEED) to control one feature, as in your patch 2/2. Hmm.. I am not sure, if I understand you correct. I could use CONFIG_USB_GADGET_DUALSPEED instead the new config option for setting config-fullspeed = 1; in g_dnl_config_register() If you mean this, yes, thats would be a good change... No, I did not mean this build time macro, but was thinking you can check g-speed at the same place in runtime. I think you can refer to ether.c, which supports full-speed but does not use any macro. Regards, -Bin. bye, Heiko Regards, -Bin. Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Marek Vasut ma...@denx.de Cc: Liu Bin b-...@ti.com Cc: Lukas Stockmann lukas.stockm...@siemens.com --- README | 3 +++ drivers/usb/gadget/f_dfu.c | 3 +++ drivers/usb/gadget/g_dnl.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/README b/README index 0a0f528..1413392 100644 --- a/README +++ b/README @@ -1607,6 +1607,9 @@ The following options need to be configured: entering dfuMANIFEST state. Host waits this timeout, before sending again an USB request to the device. + CONFIG_DFU_FULLSPEED + use for the dfu functionality fullspeed only. + - USB Device Android Fastboot support: CONFIG_CMD_FASTBOOT This enables the command fastboot which enables the Android diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c index 1145aab..dfa9f3b 100644 --- a/drivers/usb/gadget/f_dfu.c +++ b/drivers/usb/gadget/f_dfu.c @@ -238,6 +238,7 @@ static inline void to_dfu_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = dfu_strings; f_dfu-usb_function.hs_descriptors = f_dfu-function; + f_dfu-usb_function.descriptors = f_dfu-function; f_dfu-dfu_state = DFU_STATE_dfuIDLE; } @@ -245,6 +246,7 @@ static inline void to_runtime_mode(struct f_dfu *f_dfu) { f_dfu-usb_function.strings = NULL; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; } static int handle_upload(struct usb_request *req, u16 len) @@ -809,6 +811,7 @@ static int dfu_bind_config(struct usb_configuration *c) return -ENOMEM; f_dfu-usb_function.name = dfu; f_dfu-usb_function.hs_descriptors = dfu_runtime_descs; + f_dfu-usb_function.descriptors = dfu_runtime_descs; f_dfu-usb_function.bind = dfu_bind; f_dfu-usb_function.unbind = dfu_unbind; f_dfu-usb_function.set_alt = dfu_set_alt; diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 58cad11..79e0c9c 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -143,6 +143,9 @@ static int g_dnl_config_register(struct usb_composite_dev *cdev) config-bConfigurationValue = CONFIGURATION_NUMBER; config-iConfiguration = STRING_USBDOWN; config-bind = g_dnl_do_config; +#if defined(CONFIG_DFU_FULLSPEED) + config-fullspeed = 1; +#endif return usb_add_config(cdev, config); } ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot