
On Thu, Mar 31, 2016 at 10:59 PM, Hans de Goede hdegoede@redhat.com wrote:
Hi,
On 29-03-16 18:26, Chen-Yu Tsai wrote:
Hi everyone,
This series adds more support for axp818 regulators, and USB support for A83T. Normal EHCI/OHCI USB works, and so does OTG host mode.
Cool, thanks for working on this!
I couldn't get my Cubietruck Plus to work in gadget mode though. No USB device appears on the host end when it enters fastboot.
Did you change CONFIG_USB_MUSB_HOST=y to CONFIG_USB_MUSB_GADGET=y ? currently we support building either one or the other.
I did, but I didn't want to send a non-working defconfig. I'm certain musb was compiled in gadget mode, just that nothing was happening.
I would certainly welcome patches to make things more dynamic, you could replace the
#ifdef CONFIG_USB_MUSB_HOST #else #endif
construct in drivers/usb/musb-new/sunxi.c: sunxi_musb_board_init() with an id=pin check (but only when both CONFIG_USB_MUSB_HOST and CONFIG_USB_MUSB_GADGET are defined, on some boards the port is hardwired for a certain use).
If you take a shot at this, do not forget to also update musb_plat dynamically, currently that is statically initialized depending on CONFIG_USB_MUSB_HOST being defined.
You probably also want to check other places for #ifdef CONFIG_USB_MUSB_HOST / #ifdef CONFIG_USB_MUSB_GADGET, but I'm reasonably sure that defining both at the same time should _mostly_ work, just as long as you only register either the host or gadget part from sunxi_musb_board_init() (which means that the right cable needs to be plugged in before u-boot starts).
I'm probably not going to spend much more time on this, at least not soon. The host ports working should be enough for normal use.
###
I've applied patches 1-12 to my tree, and I plan to include these in my next pull-req I've not added 13-14 to give you some time to figure out what todo with the otg, I guess that on the h8_homlet_v2 you can just leave it as CONFIG_USB_MUSB_HOST=y since it is wired to an USB A female connector.
That is what I intended.
On the cubietruck you may want to make it CONFIG_USB_MUSB_GADGET=y since the most likely use there is using it in gadget mode (for host mode it has normal ports).
Right. Except I couldn't get it to work.
About patches 15-17 you've tagged these as "[DO NOT MERGE]" I understand that the devicetree bits which will eventually go upstream will look differently, but as long as the compatible and the base-address will not change, we can pretty merge them in u-boot already, u-boot's dts copy is only used internally and not passed to the kernel.
I will not merge them if you do not want me too, but we could have these minimal nodes for now to get things to work. These can then eventually be replaced with the real kernel dts when that is upstream.
If you aren't concerned with them looking different than the kernel ones, I have no problem with merging them. Just wanted to be sure before you do so. :)
Regards ChenYu
P.S. I'll be at ELC next week.
Patch 1 removes axp818_init() from the header file, as it is undefined and unused.
Patch 2 fixes axp818's DCDC5 default voltage. DCDC5 normally supplies DRAM. This changes the default to match DDR3 DRAM.
Patch 3 adds support for axp818's FLDOs, one of which powers the HSIC PHY.
Patch 4 raises the DCDC1 voltage on h8_homlet_v2 to 3.3V, the default value.
Patch 5 enables and sets DLDO4 to 3.3V on h8_homlet_v2. This powers the AC200 chip, which among other things, is the ethernet PHY.
Patch 6 adds support for the USB PHYs on A83T.
Patch 7 fixes some clock macros related to USB PHYs for A83T.
Patch 8 & 9 add A83T compatible strings to sunxi EHCI & OHCI.
Patch 10 adds support for A83T to musb sunxi glue.
Patch 11 generalizes the VBUS function related macros for AXP PMICs.
Patch 12 adds support for VBUS drive on AXP818.
Patch 13 enables USB Kconfig options in h8_homlet_v2_defconfig.
Patch 14 enables USB Kconfig options in Cubietruck_plus_defconfig.
Patch 15 ~ 17 is the minimal changes needed to enable USB on the A83T boards I have. They are not the same as the kernel changes I will submit, and should not be merged without discussion.
Regards ChenYu
Chen-Yu Tsai (17): power: axp818: Remove undefined axp818_init() power: axp818: Fix DCDC5 default voltage power: axp818: Add support for FLDOs sunxi: h8_homlet_v2: Set DCDC1 to default voltage (3.3V) sunxi: h8_homlet_v2: Set DLDO4 to 3.3V sunxi: usb_phy: Add support for A83T USB PHYs sunxi: clk: Fix USB PHY clock macros for A83T sunxi: ehci: Add A83T compatible sunxi: ohci: Add A83T compatible musb: sunxi: Add support for A83T sunxi: axp: Generalize register macros for VBUS drive GPIO sunxi: axp: Support VBUS drive GPIO on AXP818 sunxi: h8_homlet_v2: Enable USB Kconfig options in defconfig sunxi: Cubietruck Plus: Enable USB Kconfig options in defconfig [DO NOT MERGE] sunxi: Add USB and R_PIO nodes to sun8i-a83t.dtsi [DO NOT MERGE] sunxi: Enable USB on Cubietruck Plus [DO NOT MERGE] sunxi: Enable USB nodes for H8Homlet v2
arch/arm/cpu/armv7/sunxi/usb_phy.c | 48 ++++++++++++++++++++++ arch/arm/dts/sun8i-a83t-allwinner-h8homlet-v2.dts | 12 ++++++ arch/arm/dts/sun8i-a83t-cubietruck-plus.dts | 12 ++++++ arch/arm/dts/sun8i-a83t.dtsi | 34 +++++++++++++++ arch/arm/include/asm/arch-sunxi/clock_sun8i_a83t.h | 6 +-- board/sunxi/board.c | 6 +++ configs/Cubietruck_plus_defconfig | 10 ++++- configs/h8_homlet_v2_defconfig | 8 +++- drivers/gpio/axp_gpio.c | 25 ++++++----- drivers/power/Kconfig | 30 +++++++++++++- drivers/power/axp818.c | 34 +++++++++++++++ drivers/usb/host/ehci-sunxi.c | 1 + drivers/usb/host/ohci-sunxi.c | 1 + drivers/usb/musb-new/musb_regs.h | 2 +- include/axp221.h | 8 ++-- include/axp818.h | 9 ++-- include/axp_pmic.h | 1 + include/configs/sun8i.h | 2 + 18 files changed, 222 insertions(+), 27 deletions(-)