* [U-Boot] Initial Microchip PIC32MZ[DA] Support
@ 2016-01-04 13:08 Purna Chandra Mandal
0 siblings, 0 replies; only message in thread
From: Purna Chandra Mandal @ 2016-01-04 13:08 UTC (permalink / raw)
To: u-boot
This patch series adds support for Microchip PIC32MZ[DA] MIPS microcontroller
platform. All drivers required to boot Linux from MMC uSD card and network (TFTP)
are included in it; clock, pinctrl, serial, DDR2, SDHCI, gpio, ethernet.
This series is tested on PIC32MZ[DA] Starter Kit.
A tree with these changes are available at [1].
[1] https://github.com/purna-mandal/u-boot/tree/pic32-upstream-v2
[0] https://github.com/purna-mandal/u-boot/tree/pic32-upstream-v1
Changes in v2:
- move PIC32 specific headers to arch/mips/mach-pic32/include/mach/
- define register-base as physical address in header file
- add trivial ioremap support to convert physical address to MIPS KSEG1 address
- drop CONFIG_PIC32_SUPPORTS_FDT_BOOT as not required
- add get clock rate for mpll clock.
- add routine to configure pin properties
- serial: fix missing or corrupted chars during baud rate change
- serial: remove loop until any new char is available in _getc()
- move ddr2 initialization from board/microchip/ to drivers/ddr/microchip
- drop unnecessary board_early_init_f()
- use LEAF(), END() macros 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 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-and-clock pins)
- replace unbounded loop with wait_for_bit()
- replace register access as readl/writel(base + offset)
- translate (dts provided) physical address to MIPS virtual 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: 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: gpio: add driver for Microchip PIC32 GPIO controller.
drivers: net: phy: add SMSC LAN8740 Phy support.
drivers: net: add Microchip PIC32 ethernet controller driver.
board: Add gpio and ethernet support to pic32mzdask board.
arch/mips/Kconfig | 6 +
arch/mips/Makefile | 1 +
arch/mips/cpu/start.S | 2 +
arch/mips/dts/Makefile | 2 +-
arch/mips/dts/pic32mzda.dtsi | 170 ++++++
arch/mips/dts/pic32mzda_sk.dts | 50 ++
arch/mips/mach-pic32/Kconfig | 38 ++
arch/mips/mach-pic32/Makefile | 7 +
arch/mips/mach-pic32/cpu.c | 159 +++++
arch/mips/mach-pic32/include/mach/ddr.h | 32 +
arch/mips/mach-pic32/include/mach/pic32.h | 82 +++
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 | 32 +
.../clock/microchip,pic32-clock.txt | 28 +
.../serial/microchip,pic32-uart.txt | 5 +
drivers/Makefile | 1 +
drivers/clk/Makefile | 1 +
drivers/clk/clk-pic32.c | 427 ++++++++++++++
drivers/ddr/microchip/Makefile | 6 +
drivers/ddr/microchip/ddr2.c | 277 +++++++++
drivers/ddr/microchip/ddr2_regs.h | 151 +++++
drivers/ddr/microchip/ddr2_timing.h | 65 ++
drivers/gpio/Kconfig | 7 +
drivers/gpio/Makefile | 2 +-
drivers/gpio/pic32_gpio.c | 164 ++++++
drivers/mmc/Kconfig | 6 +
drivers/mmc/Makefile | 2 +-
drivers/mmc/pic32_sdhci.c | 63 ++
drivers/mmc/sdhci.c | 12 +
drivers/net/Kconfig | 7 +
drivers/net/Makefile | 1 +
drivers/net/phy/smsc.c | 10 +
drivers/net/pic32_eth.c | 652 +++++++++++++++++++++
drivers/net/pic32_eth.h | 174 ++++++
drivers/net/pic32_mdio.c | 121 ++++
drivers/pinctrl/Kconfig | 6 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl_pic32.c | 284 +++++++++
drivers/serial/Kconfig | 13 +
drivers/serial/Makefile | 1 +
drivers/serial/serial_pic32.c | 230 ++++++++
include/configs/pic32mzdask.h | 187 ++++++
include/dt-bindings/clock/microchip,clock.h | 29 +
49 files changed, 3653 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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-01-04 13:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-04 13:08 [U-Boot] Initial Microchip PIC32MZ[DA] Support Purna Chandra Mandal
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.