[U-Boot] [PATCH v1 00/16] Add support for 96boards Dragonboard410C board

Mateusz Kulikowski
2016-01-06T18:21:12Z

Hi All,

I finally managed to cleanup RFC for submission. I've included changes in
each patch, there is a bit of them, but all are needed :)

This series requires wait_for_bit patch that I send few days ago:
https://patchwork.ozlabs.org/patch/561185/

Best Regards,
Mateusz

Changes in v1:
- Added (better) help to KConfig
- Added dt binding documentation
- Fixed include ordering
- Reworked msm_serial_getc
- Added error handling to msm_uart_clk_init (that is ignored later for now)
- Dropped unneeded DM_FLAG_PRE_RELOC
- Added dt binding documentation
- Added help to KConfig
- Use clrsetbits() to switch direction
- Fixed include order
- Added #defines for registers/register fields
- Added secondary compatible string
- Added commit message
- Added DT binding documentation
- Added Kconfig help
- Reordered includes
- Dropped redundant fields from msm_sdhc
- Cleaned up clock init code (+ added error handling)
- Dropped mdelay - use wait_for_bit instead in reset code
- Added missing newline after declarations
- Added error handling if "reg" is missing
- Converted base address to pointer
- No changes, just added Acked-by, Reviewed-by
- Reordered header files
- Removed braces around constant
- Added more verbose help to KConfig
- Added ULPI dependency to Kconfig
- Drop register #defines - use ehci-ci.h instead
- Create fixed ulpi viewport for device
- Use setbits/clearbits where possible
- Use wait_for_bit to reset controller
- Add dt binding documents
- Reorder includes
- Add read/write arguments documentation
- add binding documentation and better Kconfig help
- Changed a bit mapping
- Change include order
- Use clrsetbits* where possible
- Add one more supported dts id
- Handle missing fields in dt properly
- Added dt bindings
- Reoder includes
- Replaced extract_* macros with ordinary shift/mask
- Added error checking and whitespaces in probe
- Add binding doc
- Fixed inlcude ordering
- Merged direction_input and direction_output functions
- gpio_get: use switch instead of stacked if
- use pmic_clrsetbits
- add possibility to change prwkey bank name
- Handle invalid bindings
- Sanity HW check (i.e. check type/subtype registers)
- Fix include order
- Cleanup defines (added spaces for readibility)
- Base address is integer to avoid casting
- Use setbits_* family where possible
- Drop unneded comments, added newlines where needed
- Check return value of dev_get_addr
- Add binding for apq8016
- Cleaned up divider calculation
- Drop most of gpio.h (only empty file is needed)
- Add better help for dragonboard
- Move static structures to board_prepare_usb
- Add DM_SPMI to defconfig

Mateusz Kulikowski (16):
serial: Add support for Qualcomm serial port
gpio: Add support for Qualcomm gpio controller
mmc: Add support for Qualcomm SDHCI controller
ehci-hcd: Add init_after_reset
usb: ulpi: Add Kconfig options for ULPI
usb: Rename ehci-fsl.h to ehci-ci.h
usb: ehci-ci: Add missing registers.
ehci-ci.h: drop generic USBCMD fields
ehci: Add support for Qualcomm EHCI
drivers: Add SPMI bus uclass
spmi: Add sandbox test driver
drivers: spmi: Add support for Qualcomm SPMI bus driver
pmic: Add support for Qualcomm PM8916 PMIC
gpio: Add support for Qualcomm PM8916 gpios
arm: Add support for Qualcomm Snapdragon family
board: Add Qualcomm Dragonboard 410C support

arch/arm/Kconfig | 12 +
arch/arm/Makefile | 1 +
arch/arm/dts/Makefile | 2 +
arch/arm/dts/dragonboard410c.dts | 154 +++++++++++
arch/arm/mach-snapdragon/Kconfig | 26 ++
arch/arm/mach-snapdragon/Makefile | 8 +
arch/arm/mach-snapdragon/clock-apq8016.c | 262 ++++++++++++++++++
arch/arm/mach-snapdragon/include/mach/gpio.h | 9 +
.../mach-snapdragon/include/mach/sysmap-apq8016.h | 14 +
arch/arm/mach-snapdragon/reset.c | 40 +++
arch/sandbox/dts/sandbox.dts | 20 ++
board/qualcomm/dragonboard410c/Kconfig | 15 +
board/qualcomm/dragonboard410c/Makefile | 8 +
board/qualcomm/dragonboard410c/dragonboard410c.c | 111 ++++++++
board/qualcomm/dragonboard410c/head.S | 20 ++
board/qualcomm/dragonboard410c/readme.txt | 40 +++
board/qualcomm/dragonboard410c/u-boot.lds | 90 ++++++
configs/dragonboard410c_defconfig | 30 ++
configs/sandbox_defconfig | 4 +
doc/device-tree-bindings/gpio/gpio-msm.txt | 22 ++
doc/device-tree-bindings/gpio/pm8916_gpio.txt | 48 ++++
doc/device-tree-bindings/mmc/msm_sdhci.txt | 25 ++
doc/device-tree-bindings/pmic/pm8916.txt | 18 ++
doc/device-tree-bindings/serial/msm-serial.txt | 6 +
doc/device-tree-bindings/spmi/spmi-msm.txt | 26 ++
doc/device-tree-bindings/spmi/spmi-sandbox.txt | 34 +++
doc/device-tree-bindings/usb/ehci-msm.txt | 10 +
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/gpio/Kconfig | 24 ++
drivers/gpio/Makefile | 3 +-
drivers/gpio/msm_gpio.c | 129 +++++++++
drivers/gpio/pm8916_gpio.c | 302 +++++++++++++++++++++
drivers/mmc/Kconfig | 9 +
drivers/mmc/Makefile | 1 +
drivers/mmc/msm_sdhci.c | 180 ++++++++++++
drivers/power/pmic/Kconfig | 14 +
drivers/power/pmic/Makefile | 1 +
drivers/power/pmic/pm8916.c | 96 +++++++
drivers/serial/Kconfig | 8 +
drivers/serial/Makefile | 1 +
drivers/serial/serial_msm.c | 206 ++++++++++++++
drivers/spmi/Kconfig | 23 ++
drivers/spmi/Makefile | 9 +
drivers/spmi/spmi-msm.c | 188 +++++++++++++
drivers/spmi/spmi-sandbox.c | 157 +++++++++++
drivers/spmi/spmi-uclass.c | 48 ++++
drivers/usb/Kconfig | 2 +
drivers/usb/host/Kconfig | 11 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/ehci-fsl.c | 2 +-
drivers/usb/host/ehci-hcd.c | 6 +
drivers/usb/host/ehci-mpc512x.c | 6 +-
drivers/usb/host/ehci-msm.c | 179 ++++++++++++
drivers/usb/host/ehci-mx5.c | 2 +-
drivers/usb/host/ehci-mx6.c | 2 +-
drivers/usb/host/ehci-mxc.c | 2 +-
drivers/usb/host/ehci-vf.c | 2 +-
drivers/usb/host/ehci-zynq.c | 2 +-
drivers/usb/host/ehci.h | 1 +
drivers/usb/ulpi/Kconfig | 10 +
include/configs/dragonboard410c.h | 182 +++++++++++++
include/dm/uclass-id.h | 1 +
include/spmi/spmi.h | 47 ++++
include/usb/{ehci-fsl.h => ehci-ci.h} | 16 +-
test/dm/Makefile | 1 +
test/dm/spmi.c | 115 ++++++++
67 files changed, 3029 insertions(+), 18 deletions(-)
create mode 100644 arch/arm/dts/dragonboard410c.dts
create mode 100644 arch/arm/mach-snapdragon/Kconfig
create mode 100644 arch/arm/mach-snapdragon/Makefile
create mode 100644 arch/arm/mach-snapdragon/clock-apq8016.c
create mode 100644 arch/arm/mach-snapdragon/include/mach/gpio.h
create mode 100644 arch/arm/mach-snapdragon/include/mach/sysmap-apq8016.h
create mode 100644 arch/arm/mach-snapdragon/reset.c
create mode 100644 board/qualcomm/dragonboard410c/Kconfig
create mode 100644 board/qualcomm/dragonboard410c/Makefile
create mode 100644 board/qualcomm/dragonboard410c/dragonboard410c.c
create mode 100644 board/qualcomm/dragonboard410c/head.S
create mode 100644 board/qualcomm/dragonboard410c/readme.txt
create mode 100644 board/qualcomm/dragonboard410c/u-boot.lds
create mode 100644 configs/dragonboard410c_defconfig
create mode 100644 doc/device-tree-bindings/gpio/gpio-msm.txt
create mode 100644 doc/device-tree-bindings/gpio/pm8916_gpio.txt
create mode 100644 doc/device-tree-bindings/mmc/msm_sdhci.txt
create mode 100644 doc/device-tree-bindings/pmic/pm8916.txt
create mode 100644 doc/device-tree-bindings/serial/msm-serial.txt
create mode 100644 doc/device-tree-bindings/spmi/spmi-msm.txt
create mode 100644 doc/device-tree-bindings/spmi/spmi-sandbox.txt
create mode 100644 doc/device-tree-bindings/usb/ehci-msm.txt
create mode 100644 drivers/gpio/msm_gpio.c
create mode 100644 drivers/gpio/pm8916_gpio.c
create mode 100644 drivers/mmc/msm_sdhci.c
create mode 100644 drivers/power/pmic/pm8916.c
create mode 100644 drivers/serial/serial_msm.c
create mode 100644 drivers/spmi/Kconfig
create mode 100644 drivers/spmi/Makefile
create mode 100644 drivers/spmi/spmi-msm.c
create mode 100644 drivers/spmi/spmi-sandbox.c
create mode 100644 drivers/spmi/spmi-uclass.c
create mode 100644 drivers/usb/host/ehci-msm.c
create mode 100644 drivers/usb/ulpi/Kconfig
create mode 100644 include/configs/dragonboard410c.h
create mode 100644 include/spmi/spmi.h
rename include/usb/{ehci-fsl.h => ehci-ci.h} (96%)
create mode 100644 test/dm/spmi.c

--
2.5.0