public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Álvaro Fernández Rojas" <noltari@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 08/14] MIPS: add support for Broadcom MIPS BCM6358 SoC family
Date: Sun, 16 Apr 2017 00:04:00 +0200	[thread overview]
Message-ID: <1492293846-10640-9-git-send-email-noltari@gmail.com> (raw)
In-Reply-To: <1492293846-10640-1-git-send-email-noltari@gmail.com>

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: Introduce changes suggested by Daniel Schwierzeck:
  - Split BMIPS support patches.
  - Add PERF_BASE to cpus.
  - Merge with "fix ioremap for BCM6358" patch.
  - Add a custom ioremap.h instead of modifying the generic one.

 arch/mips/dts/brcm,bcm6358.dtsi        | 98 ++++++++++++++++++++++++++++++++++
 arch/mips/mach-bmips/Kconfig           | 18 ++++++-
 arch/mips/mach-bmips/include/ioremap.h | 45 ++++++++++++++++
 include/configs/bmips_bcm6358.h        | 27 ++++++++++
 4 files changed, 187 insertions(+), 1 deletion(-)
 create mode 100644 arch/mips/dts/brcm,bcm6358.dtsi
 create mode 100644 arch/mips/mach-bmips/include/ioremap.h
 create mode 100644 include/configs/bmips_bcm6358.h

diff --git a/arch/mips/dts/brcm,bcm6358.dtsi b/arch/mips/dts/brcm,bcm6358.dtsi
new file mode 100644
index 0000000..c7ba7e0
--- /dev/null
+++ b/arch/mips/dts/brcm,bcm6358.dtsi
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include "skeleton.dtsi"
+
+/ {
+	compatible = "brcm,bcm6358";
+
+	cpus {
+		reg = <0xfffe0000 0x4>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		u-boot,dm-pre-reloc;
+
+		cpu at 0 {
+			compatible = "brcm,bcm6358-cpu", "mips,mips4Kc";
+			device_type = "cpu";
+			reg = <0>;
+			u-boot,dm-pre-reloc;
+		};
+
+		cpu at 1 {
+			compatible = "brcm,bcm6358-cpu", "mips,mips4Kc";
+			device_type = "cpu";
+			reg = <1>;
+			u-boot,dm-pre-reloc;
+		};
+	};
+
+	clocks {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		u-boot,dm-pre-reloc;
+
+		periph_osc: periph-osc {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <50000000>;
+			u-boot,dm-pre-reloc;
+		};
+	};
+
+	pflash: nor at 1e000000 {
+		compatible = "cfi-flash";
+		reg = <0x1e000000 0x2000000>;
+		bank-width = <2>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		status = "disabled";
+	};
+
+	ubus {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		u-boot,dm-pre-reloc;
+
+		periph_cntl: syscon at fffe0000 {
+			compatible = "syscon";
+			reg = <0xfffe0000 0xc>;
+		};
+
+		reboot: syscon-reboot {
+			compatible = "syscon-reboot";
+			regmap = <&periph_cntl>;
+			offset = <0x8>;
+			mask = <0x1>;
+		};
+
+		uart0: serial at fffe0100 {
+			compatible = "brcm,bcm6345-uart";
+			reg = <0xfffe0100 0x18>;
+			clocks = <&periph_osc>;
+
+			status = "disabled";
+		};
+
+		uart1: serial at fffe0120 {
+			compatible = "brcm,bcm6345-uart";
+			reg = <0xfffe0120 0x18>;
+			clocks = <&periph_osc>;
+
+			status = "disabled";
+		};
+
+		memory-controller at fffe1200 {
+			compatible = "brcm,bcm6358-mc";
+			reg = <0xfffe1200 0x1000>;
+			u-boot,dm-pre-reloc;
+		};
+	};
+};
diff --git a/arch/mips/mach-bmips/Kconfig b/arch/mips/mach-bmips/Kconfig
index 42a7e41..efdb827 100644
--- a/arch/mips/mach-bmips/Kconfig
+++ b/arch/mips/mach-bmips/Kconfig
@@ -2,7 +2,23 @@ menu "Broadcom MIPS platforms"
 	depends on ARCH_BMIPS
 
 config SYS_SOC
-	default "none"
+	default "bcm6358" if SOC_BMIPS_BCM6358
+
+choice
+	prompt "Broadcom MIPS SoC select"
+
+config SOC_BMIPS_BCM6358
+	bool "BMIPS BCM6358 family"
+	select SUPPORTS_BIG_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select MIPS_TUNE_4KC
+	select MIPS_L1_CACHE_SHIFT_4
+	select SWAP_IO_SPACE
+	select SYSRESET_SYSCON
+	help
+	  This supports BMIPS BCM6358 family including BCM6358 and BCM6359.
+
+endchoice
 
 choice
 	prompt "Boot mode"
diff --git a/arch/mips/mach-bmips/include/ioremap.h b/arch/mips/mach-bmips/include/ioremap.h
new file mode 100644
index 0000000..404690e
--- /dev/null
+++ b/arch/mips/mach-bmips/include/ioremap.h
@@ -0,0 +1,45 @@
+/*
+ * SPDX-License-Identifier:	GPL-2.0
+ */
+#ifndef __ASM_MACH_BMIPS_IOREMAP_H
+#define __ASM_MACH_BMIPS_IOREMAP_H
+
+#include <linux/types.h>
+
+/*
+ * Allow physical addresses to be fixed up to help peripherals located
+ * outside the low 32-bit range -- generic pass-through version.
+ */
+static inline phys_addr_t fixup_bigphys_addr(phys_addr_t phys_addr,
+						phys_addr_t size)
+{
+	return phys_addr;
+}
+
+static inline int is_bmips_internal_registers(phys_addr_t offset)
+{
+#if defined(CONFIG_SOC_BMIPS_BCM6358)
+	if (offset >= 0xfffe0000)
+		return 1;
+#endif
+
+	return 0;
+}
+
+static inline void __iomem *plat_ioremap(phys_addr_t offset, unsigned long size,
+						unsigned long flags)
+{
+	if (is_bmips_internal_registers(offset))
+		return (void __iomem *)offset;
+
+	return NULL;
+}
+
+static inline int plat_iounmap(const volatile void __iomem *addr)
+{
+	return is_bmips_internal_registers((unsigned long)addr);
+}
+
+#define _page_cachable_default	_CACHE_CACHABLE_NONCOHERENT
+
+#endif /* __ASM_MACH_BMIPS_IOREMAP_H */
diff --git a/include/configs/bmips_bcm6358.h b/include/configs/bmips_bcm6358.h
new file mode 100644
index 0000000..efac11d
--- /dev/null
+++ b/include/configs/bmips_bcm6358.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __CONFIG_BMIPS_BCM6358_H
+#define __CONFIG_BMIPS_BCM6358_H
+
+/* CPU */
+#define CONFIG_SYS_MIPS_TIMER_FREQ	150000000
+
+/* RAM */
+#define CONFIG_NR_DRAM_BANKS		1
+#define CONFIG_SYS_SDRAM_BASE		0x80000000
+
+/* U-Boot */
+#define CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_SDRAM_BASE + 0x100000
+
+#if defined(CONFIG_BMIPS_BOOT_RAM)
+#define CONFIG_SYS_INIT_SP_OFFSET	0x2000
+#define CONFIG_SKIP_LOWLEVEL_INIT
+#endif
+
+#define CONFIG_SYS_MAX_FLASH_BANKS      2
+
+#endif /* __CONFIG_BMIPS_BCM6358_H */
-- 
2.1.4

  parent reply	other threads:[~2017-04-15 22:04 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-13 15:44 [U-Boot] [PATCH 0/8] Add support for Broadcom MIPS SoCs Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 1/8] cmd: cpu: fix NULL cpu feature prints Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 2/8] sysreset: add syscon-reboot driver Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 3/8] mips: allow using generic sysreset drivers Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 4/8] serial: add serial driver for BCM6345 Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 5/8] mips: add support for Broadcom MIPS Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 6/8] mips: bmips: fix first CPU check Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 7/8] mips: bmips: fix ioremap for BCM6358 Álvaro Fernández Rojas
2017-04-13 15:44 ` [U-Boot] [PATCH 8/8] mips: bmips: add support for raw .elf images Álvaro Fernández Rojas
2017-04-15 22:03 ` [U-Boot] [PATCH v2 00/14] Add support for Broadcom MIPS SoCs Álvaro Fernández Rojas
2017-04-15 22:03   ` [U-Boot] [PATCH v2 01/14] cmd: cpu: fix NULL cpu feature prints Álvaro Fernández Rojas
2017-04-16 19:34     ` Simon Glass
2017-04-15 22:03   ` [U-Boot] [PATCH v2 02/14] sysreset: add syscon-reboot driver Álvaro Fernández Rojas
2017-04-16 19:34     ` Simon Glass
2017-04-17 17:38       ` Álvaro Fernández Rojas
2017-04-17 17:45         ` Simon Glass
2017-04-18  6:40           ` Álvaro Fernández Rojas
2017-04-15 22:03   ` [U-Boot] [PATCH v2 03/14] MIPS: allow using generic sysreset drivers Álvaro Fernández Rojas
2017-04-16 19:34     ` Simon Glass
2017-04-15 22:03   ` [U-Boot] [PATCH v2 04/14] serial: add serial driver for BCM6345 Álvaro Fernández Rojas
2017-04-16 19:34     ` Simon Glass
2017-04-15 22:03   ` [U-Boot] [PATCH v2 05/14] cpu: add CPU driver for Broadcom MIPS SoCs Álvaro Fernández Rojas
2017-04-16 19:34     ` Simon Glass
2017-04-18  6:45       ` Álvaro Fernández Rojas
2017-04-15 22:03   ` [U-Boot] [PATCH v2 06/14] ram: add RAM " Álvaro Fernández Rojas
2017-04-16 19:34     ` Simon Glass
2017-04-15 22:03   ` [U-Boot] [PATCH v2 07/14] MIPS: add initial infrastructure " Álvaro Fernández Rojas
2017-04-15 22:04   ` Álvaro Fernández Rojas [this message]
2017-04-15 22:04   ` [U-Boot] [PATCH v2 09/14] MIPS: add BMIPS Huawei HG556a board Álvaro Fernández Rojas
2017-04-15 22:04   ` [U-Boot] [PATCH v2 10/14] MIPS: add support for Broadcom MIPS BCM6328 SoC family Álvaro Fernández Rojas
2017-04-15 22:04   ` [U-Boot] [PATCH v2 11/14] MIPS: add BMIPS Comtrend AR-5387un board Álvaro Fernández Rojas
2017-04-15 22:04   ` [U-Boot] [PATCH v2 12/14] MIPS: add support for Broadcom MIPS BCM63268 SoC family Álvaro Fernández Rojas
2017-04-15 22:04   ` [U-Boot] [PATCH v2 13/14] MIPS: add BMIPS Comtrend VR-3032u board Álvaro Fernández Rojas
2017-04-15 22:04   ` [U-Boot] [PATCH v2 14/14] u-boot.elf: build it for every arch Álvaro Fernández Rojas
2017-04-16 14:17     ` Daniel Schwierzeck
2017-04-18 20:35     ` [U-Boot] [PATCH v3 0/3] u-boot.elf: support other archs Álvaro Fernández Rojas
2017-04-18 20:35       ` [U-Boot] [PATCH v3 1/3] u-boot.elf: remove hard-coded arm64 flags Álvaro Fernández Rojas
2017-04-19 17:29         ` Tom Rini
2017-04-18 20:35       ` [U-Boot] [PATCH v3 2/3] u-boot.elf: fix entry symbol not found warning Álvaro Fernández Rojas
2017-04-19 17:29         ` Tom Rini
2017-04-18 20:35       ` [U-Boot] [PATCH v3 3/3] MIPS: add support for generating u-boot.elf Álvaro Fernández Rojas
2017-04-19 17:29       ` [U-Boot] [PATCH v3 0/3] u-boot.elf: support other archs Tom Rini
2017-04-18 20:38   ` [U-Boot] [PATCH v3 00/15] Add support for Broadcom MIPS SoCs Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 01/15] cmd: cpu: fix NULL cpu feature prints Álvaro Fernández Rojas
2017-04-20 20:06       ` Tom Rini
2017-04-18 20:38     ` [U-Boot] [PATCH v3 02/15] sysreset-uclass: ensure udevice is probed before requesting reset Álvaro Fernández Rojas
2017-04-19  0:13       ` Simon Glass
2017-04-19  5:27         ` Álvaro Fernández Rojas
2017-04-19  9:18           ` Álvaro Fernández Rojas
2017-04-19 21:25             ` Simon Glass
2017-04-20  0:12               ` Simon Glass
2017-04-18 20:38     ` [U-Boot] [PATCH v3 03/15] sysreset: add syscon-reboot driver Álvaro Fernández Rojas
2017-04-19  0:12       ` Simon Glass
2017-04-18 20:38     ` [U-Boot] [PATCH v3 04/15] MIPS: allow using generic sysreset drivers Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 05/15] serial: add serial driver for BCM6345 Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 06/15] cmd: cpu: ensure udevice is probed before calling cpu ops Álvaro Fernández Rojas
2017-04-19  0:13       ` Simon Glass
2017-04-18 20:38     ` [U-Boot] [PATCH v3 07/15] cpu: add CPU driver for Broadcom MIPS SoCs Álvaro Fernández Rojas
2017-04-19  0:12       ` Simon Glass
2017-04-18 20:38     ` [U-Boot] [PATCH v3 08/15] ram: add RAM " Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 09/15] MIPS: add initial infrastructure " Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 10/15] MIPS: add support for Broadcom MIPS BCM6358 SoC family Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 11/15] MIPS: add BMIPS Huawei HG556a board Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 12/15] MIPS: add support for Broadcom MIPS BCM6328 SoC family Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 13/15] MIPS: add BMIPS Comtrend AR-5387un board Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 14/15] MIPS: add support for Broadcom MIPS BCM63268 SoC family Álvaro Fernández Rojas
2017-04-18 20:38     ` [U-Boot] [PATCH v3 15/15] MIPS: add BMIPS Comtrend VR-3032u board Álvaro Fernández Rojas
2017-04-24 22:39 ` [U-Boot] [PATCH v6 00/14] Add support for Broadcom MIPS SoCs Álvaro Fernández Rojas
2017-04-24 22:39   ` [U-Boot] [PATCH v6 01/14] cmd: cpu: fix NULL cpu feature prints Álvaro Fernández Rojas
2017-04-30 18:31     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 02/14] sysreset: add syscon-reboot driver Álvaro Fernández Rojas
2017-04-30 18:31     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 03/14] MIPS: allow using generic sysreset drivers Álvaro Fernández Rojas
2017-04-30 18:31     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 04/14] serial: add serial driver for BCM6345 Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:32     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 05/14] cmd: cpu: refactor to ensure devices are probed and improve code style Álvaro Fernández Rojas
2017-04-30 18:32     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 06/14] cpu: add CPU driver for Broadcom MIPS SoCs Álvaro Fernández Rojas
2017-04-30 18:32     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 07/14] ram: add RAM " Álvaro Fernández Rojas
2017-04-30 18:33     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 08/14] MIPS: add initial infrastructure " Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:33     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 09/14] MIPS: add support for Broadcom MIPS BCM6358 SoC family Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:33     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 10/14] MIPS: add BMIPS Huawei HG556a board Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:34     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 11/14] MIPS: add support for Broadcom MIPS BCM6328 SoC family Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:34     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 12/14] MIPS: add BMIPS Comtrend AR-5387un board Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:34     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 13/14] MIPS: add support for Broadcom MIPS BCM63268 SoC family Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:35     ` Daniel Schwierzeck
2017-04-24 22:39   ` [U-Boot] [PATCH v6 14/14] MIPS: add BMIPS Comtrend VR-3032u board Álvaro Fernández Rojas
2017-04-29  0:27     ` Simon Glass
2017-04-30 18:35     ` Daniel Schwierzeck

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=1492293846-10640-9-git-send-email-noltari@gmail.com \
    --to=noltari@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox