From: Purna Chandra Mandal <purna.mandal@microchip.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 01/13] MIPS: initial infrastructure for Microchip PIC32 architecture
Date: Wed, 6 Jan 2016 12:21:58 +0530 [thread overview]
Message-ID: <568CB98E.8040004@microchip.com> (raw)
In-Reply-To: <CACUy__UOxJ9=ZPyj+eWQxJjAb55Xmh+h5PoBur=RUuJAhx874Q@mail.gmail.com>
On 01/06/2016 12:50 AM, Daniel Schwierzeck wrote:
> 2016-01-04 15:00 GMT+01:00 Purna Chandra Mandal <purna.mandal@microchip.com>:
>> Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>
>>
>> ---
>>
>> 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
>>
>> arch/mips/Kconfig | 6 +++
>> arch/mips/Makefile | 1 +
>> arch/mips/mach-pic32/Kconfig | 17 +++++++
>> arch/mips/mach-pic32/Makefile | 7 +++
>> arch/mips/mach-pic32/cpu.c | 13 +++++
>> arch/mips/mach-pic32/include/mach/pic32.h | 79 +++++++++++++++++++++++++++++++
>> 6 files changed, 123 insertions(+)
>> 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/pic32.h
>>
>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
>> index 388e4c0..4b8174c 100644
>> --- a/arch/mips/Kconfig
>> +++ b/arch/mips/Kconfig
>> @@ -53,6 +53,11 @@ config TARGET_PB1X00
>> select SYS_MIPS_CACHE_INIT_RAM_LOAD
>> select MIPS_TUNE_4KC
>>
>> +config MACH_PIC32
>> + bool "Support Microchip PIC32"
>> + select OF_CONTROL
>> + select DM
>> +
>> endchoice
>>
>> source "board/dbau1x00/Kconfig"
>> @@ -60,6 +65,7 @@ source "board/imgtec/malta/Kconfig"
>> source "board/micronas/vct/Kconfig"
>> source "board/pb1x00/Kconfig"
>> source "board/qemu-mips/Kconfig"
>> +source "arch/mips/mach-pic32/Kconfig"
>>
>> if MIPS
>>
>> diff --git a/arch/mips/Makefile b/arch/mips/Makefile
>> index 90cd590..5c9da3a 100644
>> --- a/arch/mips/Makefile
>> +++ b/arch/mips/Makefile
>> @@ -8,6 +8,7 @@ libs-y += arch/mips/cpu/
>> libs-y += arch/mips/lib/
>>
>> machine-$(CONFIG_SOC_AU1X00) += au1x00
>> +machine-$(CONFIG_MACH_PIC32) += pic32
>>
>> machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
>> libs-y += $(machdirs)
>> diff --git a/arch/mips/mach-pic32/Kconfig b/arch/mips/mach-pic32/Kconfig
>> new file mode 100644
>> index 0000000..98b0b88
>> --- /dev/null
>> +++ b/arch/mips/mach-pic32/Kconfig
>> @@ -0,0 +1,17 @@
>> +menu "Microchip PIC32 platforms"
>> + depends on MACH_PIC32
>> +
>> +config SYS_SOC
>> + default "none"
>> +
>> +choice
>> + prompt "PIC32 SoC select"
>> +
>> +endchoice
>> +
>> +choice
>> + prompt "Board select"
>> +
>> +endchoice
>> +
>> +endmenu
> could you add this Kconfig file with path 06/13? At least the choice
> blocks should be moved. Otherwise all other MIPS boards throw a
> warning, e.g.:
Good catch. Will move the 'choice's to other patch where they would be used.
> u-boot-mips$ make malta_defconfig
> HOSTCC scripts/basic/fixdep
> HOSTCC scripts/kconfig/conf.o
> SHIPPED scripts/kconfig/zconf.tab.c
> SHIPPED scripts/kconfig/zconf.lex.c
> SHIPPED scripts/kconfig/zconf.hash.c
> HOSTCC scripts/kconfig/zconf.tab.o
> HOSTLD scripts/kconfig/conf
> arch/mips/mach-pic32/Kconfig:7:warning: config symbol defined without type
> arch/mips/mach-pic32/Kconfig:12:warning: config symbol defined without type
>
>
>> diff --git a/arch/mips/mach-pic32/Makefile b/arch/mips/mach-pic32/Makefile
>> new file mode 100644
>> index 0000000..cb42607
>> --- /dev/null
>> +++ b/arch/mips/mach-pic32/Makefile
>> @@ -0,0 +1,7 @@
>> +# (C) Copyright 2015
>> +# Purna Chandra Mandal, purna.mandal at microchip.com.
>> +#
>> +# SPDX-License-Identifier: GPL-2.0+
>> +#
>> +
>> +obj-y = cpu.o
>> diff --git a/arch/mips/mach-pic32/cpu.c b/arch/mips/mach-pic32/cpu.c
>> new file mode 100644
>> index 0000000..58fd3ab
>> --- /dev/null
>> +++ b/arch/mips/mach-pic32/cpu.c
>> @@ -0,0 +1,13 @@
>> +/*
>> + * Copyright (C) 2015
>> + * Purna Chandra Mandal <purna.mandal@microchip.com>
>> + *
>> + * SPDX-License-Identifier: GPL-2.0+
>> + *
>> + */
>> +#include <common.h>
>> +
>> +phys_size_t initdram(int board_type)
>> +{
>> + return 0;
>> +}
>> diff --git a/arch/mips/mach-pic32/include/mach/pic32.h b/arch/mips/mach-pic32/include/mach/pic32.h
>> new file mode 100644
>> index 0000000..f618697
>> --- /dev/null
>> +++ b/arch/mips/mach-pic32/include/mach/pic32.h
>> @@ -0,0 +1,79 @@
>> +/*
>> + * (c) 2015 Paul Thacker <paul.thacker@microchip.com>
>> + *
>> + * SPDX-License-Identifier: GPL-2.0+
>> + *
>> + */
>> +
>> +#ifndef __PIC32_REGS_H__
>> +#define __PIC32_REGS_H__
>> +
>> +#include <asm/io.h>
>> +
>> +/* System Configuration */
>> +#define PIC32_CFG_BASE 0x1f800000
>> +
>> +/* System config register offsets */
>> +#define CFGCON 0x0000
>> +#define DEVID 0x0020
>> +#define SYSKEY 0x0030
>> +#define PMD1 0x0040
>> +#define PMD7 0x00a0
>> +#define CFGEBIA 0x00c0
>> +#define CFGEBIC 0x00d0
>> +#define CFGPG 0x00e0
>> +#define CFGMPLL 0x0100
>> +
>> +/* Non Volatile Memory (NOR flash) */
>> +#define PIC32_NVM_BASE (PIC32_CFG_BASE + 0x0600)
>> +
>> +/* Oscillator Configuration */
>> +#define PIC32_OSC_BASE (PIC32_CFG_BASE + 0x1200)
>> +
>> +/* Peripheral Pin Select Input */
>> +#define PPS_IN_BASE 0x1f801400
>> +/* Peripheral Pin Select Output */
>> +#define PPS_OUT_BASE 0x1f801500
>> +/* Pin Config */
>> +#define PINCTRL_BASE 0x1f860000
>> +
>> +/* USB Core */
>> +#define PIC32_USB_CORE_BASE 0x1f8e3000
>> +#define PIC32_USB_CTRL_BASE 0x1f884000
>> +
>> +/* SPI1-SPI6 */
>> +#define PIC32_SPI1_BASE 0x1f821000
>> +
>> +/* Prefetch Module */
>> +#define PREFETCH_BASE 0x1f8e0000
>> +
>> +/* DDR2 Controller */
>> +#define PIC32_DDR2C_BASE 0x1f8e8000
>> +
>> +/* DDR2 PHY */
>> +#define PIC32_DDR2P_BASE 0x1f8e9100
>> +
>> +/* EBI */
>> +#define PIC32_EBI_BASE 0x1f8e1000
>> +
>> +/* SQI */
>> +#define PIC32_SQI_BASE 0x1f8e2000
>> +
>> +struct pic32_reg_atomic {
>> + u32 raw;
>> + u32 clr;
>> + u32 set;
>> + u32 inv;
>> +};
>> +
>> +#define _CLR_OFFSET 0x04
>> +#define _SET_OFFSET 0x08
>> +#define _INV_OFFSET 0x0c
>> +
>> +/* trival alternative of ioremap */
>> +static inline void __iomem *pic32_ioremap(phys_addr_t addr)
>> +{
>> + return (void __iomem *)CKSEG1ADDR(addr);
>> +}
>> +
>> +#endif /* __PIC32_REGS_H__ */
>> --
>> 1.8.3.1
>>
prev parent reply other threads:[~2016-01-06 6:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-04 14:00 [U-Boot] [PATCH v2 01/13] MIPS: initial infrastructure for Microchip PIC32 architecture Purna Chandra Mandal
2016-01-05 19:20 ` Daniel Schwierzeck
2016-01-06 6:51 ` Purna Chandra Mandal [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=568CB98E.8040004@microchip.com \
--to=purna.mandal@microchip.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.