2016-01-28 11:00 GMT+01:00 Purna Chandra Mandal <[email protected]>: > 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 _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

