freebsd-dev/sys/arm
Ian Lepore d436d6e96f Revert r351218 (by manu). While the changes in r351218 appear to be (and
should be) correct, they lead to the eMMC on a Beaglebone failing to work
in some situations.

The TI sdhci hardware is kind of strange.  The first device inherently
supports 1.8v and 3.3v and the abililty to switch between them, and the
other two devices must be set to 1.8v in the sdhci power control register to
operate correctly, but doing so actually makes them run at 3.3v (unless an
external level-shifter is present in the signal path).  Even the 1.8v on the
first device may actually be 3.3v (or any other value), depending on what
voltage is fed to the VDDS1-VDDS7 power supply pins on the am335x chip.

Another strange quirk is that the convention for am335x sdhci drivers in
linux and uboot and the am335x boot ROM seems to be to set the voltage in
the sdhci capabilities register to 3.0v even though the actual voltage is
3.3v.  Why this is done is a complete mystery to me, but it seems to be
required for correct operation.

If we had complete modern support for the am335x chip we could get the
actual voltages from the FDT data and the regulator framework.  But our
am335x code currently doesn't have any regulator framework support.
Reverting to the prior code will get the popular Beaglebone boards working
again.

This is part of the fix for PR 241301, but also requires r353651 for a
complete fix.

PR:		241301
Discussed with: manu
2019-10-16 16:19:21 +00:00
..
allwinner arm: allwinner: Add np and nmm clock file to the build 2019-10-14 22:29:20 +00:00
altera/socfpga o Add support for multi-port instances of Synopsys DesignWare APB GPIO 2019-09-04 15:37:24 +00:00
amlogic/aml8726 Implement missing MMCBR ivars 2019-07-04 14:15:04 +00:00
annapurna/alpine arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
arm (6/6) Convert pmap to expect busy in write related operations now that all 2019-10-15 03:51:46 +00:00
broadcom/bcm2835 [rpi] Inherit framebuffer BPP value from the VideoCore firmware 2019-09-08 09:47:21 +00:00
cloudabi32 Remove sv_pagesize, originally introduced with r100384. 2019-03-01 16:16:38 +00:00
conf Include dwgpio to the build. 2019-09-04 15:55:44 +00:00
freescale Apply a runtime patch to the FDT data for imx6 to fix iomuxc problems. 2019-09-15 19:38:15 +00:00
include align use of cp15_pmccntr_get with its availability 2019-10-07 07:37:42 +00:00
mv arm64: a37x0_gpio: Use syscon instead of MMIO region 2019-08-19 14:28:54 +00:00
nvidia Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
qemu arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
ralink Remove support for kernel.tramp and kernel.tramp.gz 2019-07-27 17:24:19 +00:00
rockchip Include eventhandler.h in more compilation units 2019-05-21 01:18:43 +00:00
samsung/exynos exynos5: avoid NULL deref in error case 2019-08-30 00:36:17 +00:00
ti Revert r351218 (by manu). While the changes in r351218 appear to be (and 2019-10-16 16:19:21 +00:00
versatile Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
xilinx arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00