From cafc77f74c6fff0dc63e0968a58be0e3613f0985 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Wed, 11 Feb 2015 13:05:31 +0000
Subject: [PATCH] brcm2708: add Raspberry Pi 2 support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 44403
---
 target/linux/brcm2708/Makefile                  |  4 ++--
 target/linux/brcm2708/bcm2708/config-default    |  3 +++
 .../profiles/RaspberryPi.mk}                    |  7 +++----
 target/linux/brcm2708/bcm2708/target.mk         |  5 +++++
 target/linux/brcm2708/bcm2709/config-default    | 17 +++++++++++++++++
 .../brcm2708/bcm2709/profiles/RaspberryPi2.mk   | 16 ++++++++++++++++
 target/linux/brcm2708/bcm2709/target.mk         |  7 +++++++
 target/linux/brcm2708/config-3.18               |  5 +++--
 8 files changed, 56 insertions(+), 8 deletions(-)
 create mode 100644 target/linux/brcm2708/bcm2708/config-default
 rename target/linux/brcm2708/{profiles/100-RaspberryPi.mk => bcm2708/profiles/RaspberryPi.mk} (76%)
 create mode 100644 target/linux/brcm2708/bcm2708/target.mk
 create mode 100644 target/linux/brcm2708/bcm2709/config-default
 create mode 100644 target/linux/brcm2708/bcm2709/profiles/RaspberryPi2.mk
 create mode 100644 target/linux/brcm2708/bcm2709/target.mk
 mode change 100755 => 100644 target/linux/brcm2708/config-3.18

diff --git a/target/linux/brcm2708/Makefile b/target/linux/brcm2708/Makefile
index 6f515a53b4..3ba9ac8069 100644
--- a/target/linux/brcm2708/Makefile
+++ b/target/linux/brcm2708/Makefile
@@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/host.mk
 
 ARCH:=arm
 BOARD:=brcm2708
-BOARDNAME:=Broadcom BCM2708/BCM2835
+BOARDNAME:=Broadcom BCM2708/BCM2709
 FEATURES:=ext4 audio usb usbgadget display gpio
 MAINTAINER:=Florian Fainelli <florian@openwrt.org>
 CPU_TYPE:=arm1176jzf-s
@@ -21,7 +21,7 @@ include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835
 
 define Target/Description
-	Build firmware image for Broadcom BCM2708/BCM2835 SoC devices.
+	Build firmware image for Broadcom BCM2708/BCM2709 SoC devices.
 	Currently produces SD Card image for Raspberry Pi.
 endef
 
diff --git a/target/linux/brcm2708/bcm2708/config-default b/target/linux/brcm2708/bcm2708/config-default
new file mode 100644
index 0000000000..8ebd8e837f
--- /dev/null
+++ b/target/linux/brcm2708/bcm2708/config-default
@@ -0,0 +1,3 @@
+CONFIG_ARCH_BCM2708=y
+# CONFIG_BCM2708_DT is not set
+CONFIG_VMSPLIT_3G=y
diff --git a/target/linux/brcm2708/profiles/100-RaspberryPi.mk b/target/linux/brcm2708/bcm2708/profiles/RaspberryPi.mk
similarity index 76%
rename from target/linux/brcm2708/profiles/100-RaspberryPi.mk
rename to target/linux/brcm2708/bcm2708/profiles/RaspberryPi.mk
index 8d10203e1f..94d0a068c0 100644
--- a/target/linux/brcm2708/profiles/100-RaspberryPi.mk
+++ b/target/linux/brcm2708/bcm2708/profiles/RaspberryPi.mk
@@ -1,17 +1,16 @@
 #
-# Copyright (C) 2012 OpenWrt.org
+# Copyright (C) 2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
 
 define Profile/RaspberryPi
-  NAME:=RaspberryPi
+  NAME:=Raspberry Pi
 endef
 
 define Profile/RaspberryPi/Description
-	RaspberryPi board
+	Raspberry Pi board
 endef
 
 $(eval $(call Profile,RaspberryPi))
-
diff --git a/target/linux/brcm2708/bcm2708/target.mk b/target/linux/brcm2708/bcm2708/target.mk
new file mode 100644
index 0000000000..a2004a6d48
--- /dev/null
+++ b/target/linux/brcm2708/bcm2708/target.mk
@@ -0,0 +1,5 @@
+BOARDNAME:=bcm2708
+
+define Target/Description
+	Build firmware image for Broadcom BCM2708 SoC devices.
+endef
diff --git a/target/linux/brcm2708/bcm2709/config-default b/target/linux/brcm2708/bcm2709/config-default
new file mode 100644
index 0000000000..e9d87ca659
--- /dev/null
+++ b/target/linux/brcm2708/bcm2709/config-default
@@ -0,0 +1,17 @@
+CONFIG_ARCH_BCM2709=y
+# CONFIG_ARM_LPAE is not set
+# CONFIG_ARM_THUMBEE is not set
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_BCM2708_NOL2CACHE=y
+# CONFIG_BCM2709_DT is not set
+# CONFIG_CRYPTO_SHA1_ARM_NEON is not set
+# CONFIG_CRYPTO_SHA512_ARM_NEON is not set
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_LOCALVERSION="-v7"
+CONFIG_NEON=y
+CONFIG_NR_CPUS=4
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_VMSPLIT_2G=y
diff --git a/target/linux/brcm2708/bcm2709/profiles/RaspberryPi2.mk b/target/linux/brcm2708/bcm2709/profiles/RaspberryPi2.mk
new file mode 100644
index 0000000000..d3d1617176
--- /dev/null
+++ b/target/linux/brcm2708/bcm2709/profiles/RaspberryPi2.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/RaspberryPi2
+  NAME:=Raspberry Pi 2
+endef
+
+define Profile/RaspberryPi2/Description
+	Raspberry Pi 2 board
+endef
+
+$(eval $(call Profile,RaspberryPi2))
diff --git a/target/linux/brcm2708/bcm2709/target.mk b/target/linux/brcm2708/bcm2709/target.mk
new file mode 100644
index 0000000000..610c6b0abc
--- /dev/null
+++ b/target/linux/brcm2708/bcm2709/target.mk
@@ -0,0 +1,7 @@
+BOARDNAME:=bcm2709
+CPU_TYPE:=cortex-a7
+CPU_SUBTYPE:=vfp
+
+define Target/Description
+	Build firmware image for Broadcom BCM2709 SoC devices.
+endef
diff --git a/target/linux/brcm2708/config-3.18 b/target/linux/brcm2708/config-3.18
old mode 100755
new mode 100644
index 36bd97fb3b..7765d1305f
--- a/target/linux/brcm2708/config-3.18
+++ b/target/linux/brcm2708/config-3.18
@@ -2,7 +2,7 @@
 CONFIG_ALIGNMENT_TRAP=y
 # CONFIG_AMBA_PL08X is not set
 # CONFIG_APM_EMULATION is not set
-CONFIG_ARCH_BCM2708=y
+# CONFIG_ARCH_BCM2708 is not set
 # CONFIG_ARCH_BCM2709 is not set
 CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
 CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
@@ -26,7 +26,6 @@ CONFIG_AVERAGE=y
 # CONFIG_BACKLIGHT_ADP8870 is not set
 # CONFIG_BACKLIGHT_CLASS_DEVICE is not set
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_BCM2708_DT is not set
 CONFIG_BCM2708_GPIO=y
 # CONFIG_BCM2708_NOL2CACHE is not set
 CONFIG_BCM2708_VCHIQ=y
@@ -258,6 +257,8 @@ CONFIG_USB_UAS=y
 CONFIG_USB_USBNET=y
 CONFIG_VECTORS_BASE=0xffff0000
 CONFIG_VFP=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_3G is not set
 CONFIG_VT=y
 CONFIG_VT_CONSOLE=y
 CONFIG_VT_CONSOLE_SLEEP=y
-- 
GitLab