All of lore.kernel.org
 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 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.