[U-Boot] [PATCH v4 00/13] Initial Microchip PIC32MZ[DA] Support

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Mon Feb 1 22:34:01 CET 2016


2016-01-28 11:00 GMT+01:00 Purna Chandra Mandal <purna.mandal at microchip.com>:
> This patch series adds support for Microchip PIC32MZ[DA] MIPS microcontroller platform.
> All drivers required to boot from MMC uSD card and network are included in it; clock,
> pinctrl, gpio, DDR2, serial, SDHCI, ethernet.
> This series been tested on PIC32MZ[DA] Starter Kit.
>
> This series is generated on u-boot/master branch. A tree with these changes is available
> at [1].
>
> [1] https://github.com/purna-mandal/u-boot/tree/pic32-upstream-v4
> [0] https://github.com/purna-mandal/u-boot/tree/pic32-upstream-v3

applied to u-boot-mips, thanks

>
> Changes in v4:
> - update kconfig dependency and default selection
> - drop ioremap failure check
> - gpio: return -EPERM if the pin is found in analog mode
> - gpio: drop desc->offset setting in _gpio_xlate()
> - serial: update comment for _pending_input().
> - serial: rename UART_RX_OERR to UART_RX_OVER.
> - serial: DEBUG_UART_PIC32 now depends on PIC32_SERIAL
> - serial: extract clock-id from device-tree
> - drop forcing DM_SERIAL, PIC32_SERIAL, PIC32_PINCTRL in mach-pic32/Kconfig
> - drop extra includes
> - rename clock compatible to "pic32mzda-clk" from "pic32mzda_clk".
> - fix typo 'clock-cells' to '#clock-cells'
> - create defconfig by 'make savedefconfig'
> - drop explicit SYS_BAUDRATE_TABLE in favor of default one
> - add CD errata under SDHCI_QUIRK_NO_CD
> - eth: drop _dcache_flush/invalidate() helpers for flush/invalidate_dcache_range().
>
> Changes in v3:
> - drop empty choice in mach-pic32/Kconfig
> - add pic32_get_syscfg_base()
> - rename clk-pic32.c to clk_pic32.c
> - update clock binding documentation
> - replace pic32_ioremap() with ioremap()
> - separate MPLL initialization constants
> - read register base from device-tree
> - add/update comments to explain how pinctrl'r works.
> - replace pic32_ioremap() with ioremap().
> - add check on dev_get_addr()
> - remove ofdata_to_platdata, and replace platdata with priv
> - remove special handling of '\r' as being handled by serial-uclass
> - remove loop to wait for space in tx buffer before pumping char
> - annotating fixed table with const
> - fix camel-case in ddr2 timing parameters
> - fix cmd index parameter of host_load_cmd().
> - fix compilation warning
> - drop forcing CONFIG_MIPS_BOOT_* selection in mach-pic32/Kconfig
> - indent assembly instructions in delay slot
> - made GPIO-nodes child of pinctrl-node in devicetree
> - replace pic32_ioremap() with ioremap()
> - drop SKIP_LOWLEVEL_INIT, GBL_DATA_OFFSET from config header
> - move CMD_MEMTEST, CMD_MEMINFO to defconfig
> - increase SYS_MALLOC_F_LEN to 0x600
> - use auto-generated defconfig - no hand edit
> - remove ofdata_to_platdata, and replace platdata with priv
> - replace pic32_ioremap() with ioremap()
> - use distro boot commands from config_distro_bootcmd.h
> - separate old booting logic as legacy_bootcmd
> - merge wrappers with eth operation callbacks
> - read phy address from device-tree
> - rename functions (e.g. _eth_xyz() with pic32_eth_xyz())
>
> Changes in v2:
> - move PIC32 specific headers to arch/mips/mach-pic32/include/mach/
> - define register-base as physical address
> - drop CONFIG_PIC32_SUPPORTS_FDT_BOOT
> - add mpll get clock rate
> - add pinconf routine for configuring pin property
> - fix missing/corrupted chars during baud rate change
> - remove loop until any char is avaialbale in getc()
> - move ddr2 initialization from board/microchip/ to drivers/ddr/microchip
> - drop board_early_init_f
> - use macro LEAF(), END() for lowlevel_init
> - move initialization of board_init_f() argument to common start.S
> - move initdram() from board/microchip/ to mach-pic32/cpu.c
> - remove MIPS virtual address in favor physical one in dts file
> - move CONFIG_SYS_TEXT_BASE (from board/*/config.mk) to include/configs/<board>.h
> - drop sdhci shared bus configuration (for shared interrupt, clock pins)
> - drop shared bus (shared pin selection) configuration.
> - replace unbounded loop with wait_for_bit()
> - replace register access as readl/writel(base + offset)
> - translate (dts provided) physical address to MIPS kseg1 address before use
>
> Andrei Pistirica (1):
>   drivers: mmc: add driver for Microchip PIC32 SDHCI controller.
>
> Paul Thacker (1):
>   drivers: serial: add driver for Microchip PIC32 UART controller.
>
> Purna Chandra Mandal (11):
>   MIPS: initial infrastructure for Microchip PIC32 architecture
>   drivers: clk: Add clock driver for Microchip PIC32 Microcontroller.
>   drivers: pinctrl: Add pinctrl driver for Microchip PIC32.
>   drivers: gpio: add driver for Microchip PIC32 GPIO controller.
>   drivers: ddr: Add DDR2 SDRAM controller driver for Microchip PIC32.
>   MIPS: Add support for Microchip PIC32MZ[DA] SoC family.
>   board: Add Microchip PIC32MZ[DA]-Starter-Kit board.
>   board: add SDHCI support for PIC32MZDASK board.
>   drivers: net: phy: add SMSC LAN8740 Phy support.
>   drivers: net: Add ethernet driver for Microchip PIC32.
>   board: Enable ethernet, tftpboot support to pic32mzdask board.
>
>  arch/mips/Kconfig                                  |   6 +
>  arch/mips/Makefile                                 |   1 +
>  arch/mips/dts/Makefile                             |   2 +-
>  arch/mips/dts/pic32mzda.dtsi                       | 174 ++++++
>  arch/mips/dts/pic32mzda_sk.dts                     |  55 ++
>  arch/mips/mach-pic32/Kconfig                       |  35 ++
>  arch/mips/mach-pic32/Makefile                      |   7 +
>  arch/mips/mach-pic32/cpu.c                         | 156 ++++++
>  arch/mips/mach-pic32/include/mach/ddr.h            |  32 ++
>  arch/mips/mach-pic32/include/mach/pic32.h          |  79 +++
>  arch/mips/mach-pic32/lowlevel_init.S               |  27 +
>  arch/mips/mach-pic32/reset.c                       |  36 ++
>  board/microchip/pic32mzda/Kconfig                  |  13 +
>  board/microchip/pic32mzda/MAINTAINERS              |   6 +
>  board/microchip/pic32mzda/Makefile                 |   7 +
>  board/microchip/pic32mzda/README                   |  22 +
>  board/microchip/pic32mzda/pic32mzda.c              |  31 ++
>  configs/pic32mzdask_defconfig                      |  34 ++
>  .../clock/microchip,pic32-clock.txt                |  33 ++
>  .../serial/microchip,pic32-uart.txt                |   5 +
>  drivers/Makefile                                   |   1 +
>  drivers/clk/Makefile                               |   1 +
>  drivers/clk/clk_pic32.c                            | 433 +++++++++++++++
>  drivers/ddr/microchip/Makefile                     |   6 +
>  drivers/ddr/microchip/ddr2.c                       | 278 ++++++++++
>  drivers/ddr/microchip/ddr2_regs.h                  | 148 +++++
>  drivers/ddr/microchip/ddr2_timing.h                |  65 +++
>  drivers/gpio/Kconfig                               |   7 +
>  drivers/gpio/Makefile                              |   2 +-
>  drivers/gpio/pic32_gpio.c                          | 174 ++++++
>  drivers/mmc/Kconfig                                |   6 +
>  drivers/mmc/Makefile                               |   2 +-
>  drivers/mmc/pic32_sdhci.c                          |  58 ++
>  drivers/mmc/sdhci.c                                |   7 +
>  drivers/net/Kconfig                                |   8 +
>  drivers/net/Makefile                               |   1 +
>  drivers/net/phy/smsc.c                             |  10 +
>  drivers/net/pic32_eth.c                            | 605 +++++++++++++++++++++
>  drivers/net/pic32_eth.h                            | 164 ++++++
>  drivers/net/pic32_mdio.c                           | 121 +++++
>  drivers/pinctrl/Kconfig                            |  10 +
>  drivers/pinctrl/Makefile                           |   1 +
>  drivers/pinctrl/pinctrl_pic32.c                    | 363 +++++++++++++
>  drivers/serial/Kconfig                             |  15 +
>  drivers/serial/Makefile                            |   1 +
>  drivers/serial/serial_pic32.c                      | 198 +++++++
>  include/configs/pic32mzdask.h                      | 168 ++++++
>  include/dt-bindings/clock/microchip,clock.h        |  29 +
>  48 files changed, 3640 insertions(+), 3 deletions(-)
>  create mode 100644 arch/mips/dts/pic32mzda.dtsi
>  create mode 100644 arch/mips/dts/pic32mzda_sk.dts
>  create mode 100644 arch/mips/mach-pic32/Kconfig
>  create mode 100644 arch/mips/mach-pic32/Makefile
>  create mode 100644 arch/mips/mach-pic32/cpu.c
>  create mode 100644 arch/mips/mach-pic32/include/mach/ddr.h
>  create mode 100644 arch/mips/mach-pic32/include/mach/pic32.h
>  create mode 100644 arch/mips/mach-pic32/lowlevel_init.S
>  create mode 100644 arch/mips/mach-pic32/reset.c
>  create mode 100644 board/microchip/pic32mzda/Kconfig
>  create mode 100644 board/microchip/pic32mzda/MAINTAINERS
>  create mode 100644 board/microchip/pic32mzda/Makefile
>  create mode 100644 board/microchip/pic32mzda/README
>  create mode 100644 board/microchip/pic32mzda/pic32mzda.c
>  create mode 100644 configs/pic32mzdask_defconfig
>  create mode 100644 doc/device-tree-bindings/clock/microchip,pic32-clock.txt
>  create mode 100644 doc/device-tree-bindings/serial/microchip,pic32-uart.txt
>  create mode 100644 drivers/clk/clk_pic32.c
>  create mode 100644 drivers/ddr/microchip/Makefile
>  create mode 100644 drivers/ddr/microchip/ddr2.c
>  create mode 100644 drivers/ddr/microchip/ddr2_regs.h
>  create mode 100644 drivers/ddr/microchip/ddr2_timing.h
>  create mode 100644 drivers/gpio/pic32_gpio.c
>  create mode 100644 drivers/mmc/pic32_sdhci.c
>  create mode 100644 drivers/net/pic32_eth.c
>  create mode 100644 drivers/net/pic32_eth.h
>  create mode 100644 drivers/net/pic32_mdio.c
>  create mode 100644 drivers/pinctrl/pinctrl_pic32.c
>  create mode 100644 drivers/serial/serial_pic32.c
>  create mode 100644 include/configs/pic32mzdask.h
>  create mode 100644 include/dt-bindings/clock/microchip,clock.h
>
> --
> 1.8.3.1
>



-- 
- Daniel


More information about the U-Boot mailing list