cm-fx6 maintenance
cover cm-fx6 maintenance
This is a collection of small fixes and improvements to cm-fx6.
Nikita Kiryanov (3):
arm: mx6: cm-fx6: force host mode on usb controller
arm: mx6: cm-fx6: print PCB revision
arm: mx6: cm-fx6: switch to usb kbd polling via int queue
board/compulab/cm_fx6/cm_fx6.c | 13 +++++++++++++ configs/cm_fx6_defconfig | 2 +- include/configs/cm_fx6.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-)
Signature · 1 line
1.9.1
PATCH 1/3 arm: mx6: cm-fx6: force host mode on usb controller
On some CM-FX6 modules U-Boot attempts to configure the usb0 controller in device mode, which renders it unavailable:
USB0: Port not available.
and also causes usb stop to report an error
EHCI failed to shut down host controller.
This happens mostly on MX6 Dual based modules, and is caused by the USBPHY_CTRL register reporting USBPHY_CTRL_OTG_ID to be 1, even when it is pulled down. Since we do not support device mode in cm-fx6 u-boot, force all controllers to be configured as hosts.
--- board/compulab/cm_fx6/cm_fx6.c | 6 ++++++ 1 file changed, 6 insertions(+)
board/compulab/cm_fx6/cm_fx6.c +6 -0
@@ -14,6 +14,7 @@#include <miiphy.h> #include <netdev.h> #include <errno.h> +#include <usb.h> #include <fdt_support.h> #include <sata.h> #include <splash.h>
@@ -349,6 +350,11 @@ static int cm_fx6_setup_usb_otg(void)return gpio_direction_output (SB_FX6_USB_OTG_PWR ,0 ); } +int board_usb_phy_mode (int port) +{ +return USB_INIT_HOST ; +} +int board_ehci_hcd_init (int port) {int ret;
Signature · 1 line
1.9.1
PATCH 1/3 arm: mx6: cm-fx6: force host mode on usb controller
Quoted 6 lines · Nikita Kiryanov
On some CM-FX6 modules U-Boot attempts to configure the usb0 controller in device mode, which renders it unavailable:
USB0: Port not available.
and also causes usb stop to report an error
EHCI failed to shut down host controller.
Quoted 8 lines
This happens mostly on MX6 Dual based modules, and is caused by the
USBPHY_CTRLregister reportingUSBPHY_CTRL_OTG_IDto be 1, even when it is pulled down. Since we do not support device mode in cm-fx6 u-boot, force all controllers to be configured as hosts.Cc Stefano Babic <[email protected]>Cc Igor Grinberg <[email protected]>Signed-off-by Nikita Kiryanov <[email protected]>
Quoted 29 lines
--- board/compulab/cm_fx6/cm_fx6.c | 6 ++++++ 1 file changed, 6 insertions(+)board/compulab/cm_fx6/cm_fx6.c +6
-0@@ -14,6 +14,7 @@#include <miiphy.h> #include <netdev.h> #include <errno.h> +#include <usb.h> #include <fdt_support.h> #include <sata.h> #include <splash.h> @@ -349,6 +350,11 @@ static int cm_fx6_setup_usb_otg(void)return gpio_direction_output (SB_FX6_USB_OTG_PWR ,0 ); } +int board_usb_phy_mode (int port) +{ +return USB_INIT_HOST ; +} +int board_ehci_hcd_init (int port) {int ret;
Signature · 2 lines
Regards, Igor.
PATCH 2/3 arm: mx6: cm-fx6: print PCB revision
In reply to Nikita KiryanovPrint board revision for cm-fx6.
--- board/compulab/cm_fx6/cm_fx6.c | 7 +++++++ include/configs/cm_fx6.h | 1 + 2 files changed, 8 insertions(+)
board/compulab/cm_fx6/cm_fx6.c +7 -0
@@ -645,6 +645,13 @@ int checkboard(void)return 0 ; } +int misc_init_r (void ) +{ +cl_print_pcb_info (); + +return 0 ; +} +void dram_init_banksize (void ) { gd->bd->bi_dram[0 ].start =PHYS_SDRAM_1 ;
include/configs/cm_fx6.h +1 -0
@@ -224,6 +224,7 @@#define CONFIG_SYS_MALLOC_LEN (10 * 1024 * 1024)#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 800/* 400 KB */ #define CONFIG_OF_BOARD_SETUP +#define CONFIG_MISC_INIT_R /* SPL */ #include "imx6_spl.h"
Signature · 1 line
1.9.1
PATCH 2/3 arm: mx6: cm-fx6: print PCB revision
Quoted 5 lines · Nikita Kiryanov
Print board revision for cm-fx6.
Cc Stefano Babic <[email protected]>Cc Igor Grinberg <[email protected]>Signed-off-by Nikita Kiryanov <[email protected]>
Quoted 36 lines
--- board/compulab/cm_fx6/cm_fx6.c | 7 +++++++ include/configs/cm_fx6.h | 1 + 2 files changed, 8 insertions(+)board/compulab/cm_fx6/cm_fx6.c +7
-0@@ -645,6 +645,13 @@ int checkboard(void)return 0 ; } +int misc_init_r (void ) +{ +cl_print_pcb_info (); + +return 0 ; +} +void dram_init_banksize (void ) { gd->bd->bi_dram[0 ].start =PHYS_SDRAM_1 ;include/configs/cm_fx6.h +1
-0@@ -224,6 +224,7 @@#define CONFIG_SYS_MALLOC_LEN (10 * 1024 * 1024)#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 800/* 400 KB */ #define CONFIG_OF_BOARD_SETUP +#define CONFIG_MISC_INIT_R /* SPL */ #include "imx6_spl.h"
Signature · 2 lines
Regards, Igor.
PATCH 3/3 arm: mx6: cm-fx6: switch to usb kbd polling via int queue
In reply to Nikita KiryanovCONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE works better than CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP (keyboards that previously didn't work such as Microsoft Comfort Curve 1000 now do work, and it's also faster).
Switch to CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE.
--- configs/cm_fx6_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
configs/cm_fx6_defconfig +1 -1
@@ -28,5 +28,5 @@ CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_KEYBOARD=y -CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP=y +CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y CONFIG_SYS_PROMPT="CM-FX6 # "
Signature · 1 line
1.9.1
PATCH 3/3 arm: mx6: cm-fx6: switch to usb kbd polling via int queue
Quoted 9 lines · Nikita Kiryanov
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUEworks better thanCONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP(keyboards that previously didn't work such as Microsoft Comfort Curve 1000 now do work, and it's also faster).Switch to
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE.Cc Stefano Babic <[email protected]>Cc Igor Grinberg <[email protected]>Signed-off-by Nikita Kiryanov <[email protected]>
Quoted 16 lines
--- configs/cm_fx6_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)configs/cm_fx6_defconfig +1
-1@@ -28,5 +28,5 @@ CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_KEYBOARD=y -CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP=y +CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y CONFIG_SYS_PROMPT="CM-FX6 # "
Signature · 2 lines
Regards, Igor.
cover cm-fx6 maintenance
In reply to Nikita KiryanovHi Nikita,
Quoted 10 lines · Nikita Kiryanov
This is a collection of small fixes and improvements to cm-fx6.
Cc Stefano Babic <[email protected]>Cc Igor Grinberg <[email protected]>Nikita Kiryanov (3):
arm: mx6: cm-fx6: force host mode on usb controller
arm: mx6: cm-fx6: print PCB revision
arm: mx6: cm-fx6: switch to usb kbd polling via int queue
Quoted 5 lines
board/compulab/cm_fx6/cm_fx6.c | 13 +++++++++++++ configs/cm_fx6_defconfig | 2 +- include/configs/cm_fx6.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-)
Put all three patches in my queue to be applied.
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================