summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbrodkorb@conet.de>2015-02-03 11:21:42 +0100
committerWaldemar Brodkorb <wbrodkorb@conet.de>2015-02-03 11:21:42 +0100
commitd52b56753fd291c95468958ca60362ed94c929d7 (patch)
treeb69b801197e9add86b1181543f1dba43b123d97c
parent5d4f6075503ea0f7bf3be9ae0b959c812b0b50c4 (diff)
add debugtool, try to fix device-tree support and rpi-proto driver
-rw-r--r--package/bcm2835-bootloader/Makefile22
-rw-r--r--package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h12
-rw-r--r--package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c11
-rw-r--r--package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c22
-rw-r--r--target/Makefile2
-rw-r--r--target/arm/raspberry-pi/patches/3.18.5/0001-add-support-for-rpi-proto-hardware.patch49
-rw-r--r--target/linux/config/Config.in.ethernet1
7 files changed, 60 insertions, 59 deletions
diff --git a/package/bcm2835-bootloader/Makefile b/package/bcm2835-bootloader/Makefile
index 4095e1151..e452757b3 100644
--- a/package/bcm2835-bootloader/Makefile
+++ b/package/bcm2835-bootloader/Makefile
@@ -5,21 +5,27 @@ include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= bcm2835-bootloader
PKG_VERSION:= 9b068fe44503f564579a25fd849df4ec784f9d4d
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_DESCR:= bootloader for raspberry pi
PKG_SECTION:= base/boot
PKG_URL:= https://github.com/raspberrypi/firmware
PKG_SITES:= https://github.com/raspberrypi/firmware.git
PKG_SYSTEM_DEPENDS:= raspberry-pi
+
PKG_CHOICES_BCM2835_BOOTLOADER:= DEFAULT EXTRA CUTDOWN
PKGCD_DEFAULT:= default bootloader
PKGCD_EXTRA:= bootloader with extra features and codecs
PKGCD_CUTDOWN:= cut down bootloader
+PKG_SUBPKGS:= BCM2835_BOOTLOADER BCM2835_DEBUGTOOL
+PKGSD_BCM2835_DEBUGTOOL:= debugtool
+PKGSC_BCM2835_DEBUGTOOL:= sys/hw
+
include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,BCM2835_BOOTLOADER,bcm2835-bootloader,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+$(eval $(call PKG_template,BCM2835_DEBUGTOOL,bcm2835-debugtool,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKGSC_BCM2835_DEBUGTOOL)))
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
@@ -56,9 +62,21 @@ ifeq ($(ADK_KERNEL_BCM2708_DT),y)
printf "disable_commandline_tags=2\n" >> \
$(IDIR_BCM2835_BOOTLOADER)/boot/config.txt
ifneq ($(ADK_KERNEL_SND_BCM2708_SOC_RPI_PROTO),)
- printf "device_tree_overlay=rpi-proto\n" >> \
+ printf "dtparam=i2c=on,i2s=on,spi=on\n" >> \
+ $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt
+ printf "dtoverlay=rpi-proto\n" >> \
+ $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt
+ printf "dtdebug=on\n" >> \
+ $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt
+endif
+else
+ printf "device_tree=\n" >> \
$(IDIR_BCM2835_BOOTLOADER)/boot/config.txt
endif
+ifeq ($(ADK_PACKAGE_BCM2835_DEBUGTOOL),y)
+ $(INSTALL_DIR) $(IDIR_BCM2835_DEBUGTOOL)/opt/vc/bin
+ $(INSTALL_BIN) $(WRKBUILD)/hardfp/opt/vc/bin/vcdbg \
+ $(IDIR_BCM2835_DEBUGTOOL)/opt/vc/bin
endif
include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h b/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h
deleted file mode 100644
index 95b5d480b..000000000
--- a/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h
+++ /dev/null
@@ -1,12 +0,0 @@
---- bcm2835-vc-0.3.orig/interface/vcos/pthreads/vcos_platform.h 2013-09-27 14:22:08.000000000 +0200
-+++ bcm2835-vc-0.3/interface/vcos/pthreads/vcos_platform.h 2013-10-13 20:20:55.000000000 +0200
-@@ -120,9 +120,6 @@ typedef struct
-
- #define VCOS_ONCE_INIT PTHREAD_ONCE_INIT
-
--#if defined(__arm__) && !defined(_HAVE_TIMER_T) && !defined(ANDROID)
--typedef __timer_t timer_t;
--#endif
- typedef struct VCOS_TIMER_T
- {
- pthread_t thread; /**< id of the timer thread */
diff --git a/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c b/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c
deleted file mode 100644
index 583fe04f3..000000000
--- a/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- bcm2835-vc-0.3.orig/interface/vcos/pthreads/vcos_pthreads.c 2013-09-27 14:22:08.000000000 +0200
-+++ bcm2835-vc-0.3/interface/vcos/pthreads/vcos_pthreads.c 2013-10-14 19:44:50.000000000 +0200
-@@ -580,7 +580,7 @@ const char ** vcos_get_argv(void)
- */
- uint32_t _vcos_get_ticks_per_second(void)
- {
-- return HZ;
-+ return 100;
- }
-
- VCOS_STATUS_T vcos_once(VCOS_ONCE_T *once_control,
diff --git a/package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c b/package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c
deleted file mode 100644
index c5419c90d..000000000
--- a/package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c
+++ /dev/null
@@ -1,22 +0,0 @@
---- bcm2835-vc-0.3.orig/interface/vmcs_host/linux/vcfilesys.c 2013-09-27 14:22:08.000000000 +0200
-+++ bcm2835-vc-0.3/interface/vmcs_host/linux/vcfilesys.c 2013-10-14 20:10:02.000000000 +0200
-@@ -49,10 +49,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include <ctype.h>
- #include <limits.h>
-
--#if !defined(ANDROID) && !defined( __USE_FILE_OFFSET64 )
--#error "__USE_FILE_OFFSET64 isn't defined"
--#endif
--
- #include "interface/vcos/vcos.h"
-
- /* Some hackery to prevent a clash with the Linux type of the same name */
-@@ -916,7 +912,7 @@ int vc_hostfs_set_attr(const char *path,
-
- if (pathbuf)
- {
-- __mode_t mode = 0;
-+ mode_t mode = 0;
- struct stat sb;
-
- backslash_to_slash(pathbuf);
diff --git a/target/Makefile b/target/Makefile
index 99404d99d..7041ed347 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -127,4 +127,4 @@ clean: $(ADK_TARGET_ARCH)-clean $(ADK_TARGET_ARCH)-imageclean
%-imageinstall: %-imageprepare
$(TRACE) target/$(patsubst %-imageinstall,%,$@)-imageinstall
$(MAKE) -C $(patsubst %-imageinstall,%,$@) imageinstall
- @echo 'Login as user root with password $(ADK_RUNTIME_PASSWORD) via ssh or console.'
+ @echo 'Login as user root with password "$(ADK_RUNTIME_PASSWORD)" via ssh or console.'
diff --git a/target/arm/raspberry-pi/patches/3.18.5/0001-add-support-for-rpi-proto-hardware.patch b/target/arm/raspberry-pi/patches/3.18.5/0001-add-support-for-rpi-proto-hardware.patch
index ed5e96bef..5d252034a 100644
--- a/target/arm/raspberry-pi/patches/3.18.5/0001-add-support-for-rpi-proto-hardware.patch
+++ b/target/arm/raspberry-pi/patches/3.18.5/0001-add-support-for-rpi-proto-hardware.patch
@@ -1,4 +1,4 @@
-From 7174c08bd5f4e4976259c7a0894d302acc67321e Mon Sep 17 00:00:00 2001
+From ddce02de6ff1d13503f66bb08b971ff532b89b43 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbrodkorb@conet.de>
Date: Mon, 2 Feb 2015 11:08:33 +0100
Subject: [PATCH] add support for rpi-proto hardware
@@ -10,12 +10,12 @@ kernel. Patch works fine for our embedded system.
Signed-off-by: Waldemar Brodkorb <wbrodkorb@conet.de>
---
arch/arm/boot/dts/Makefile | 1 +
- arch/arm/boot/dts/rpi-proto-overlay.dts | 34 +++++++++
+ arch/arm/boot/dts/rpi-proto-overlay.dts | 39 ++++++++
arch/arm/mach-bcm2708/bcm2708.c | 20 +++++
sound/soc/bcm/Kconfig | 8 ++
sound/soc/bcm/Makefile | 2 +
- sound/soc/bcm/rpi-proto.c | 130 ++++++++++++++++++++++++++++++++
- 6 files changed, 195 insertions(+)
+ sound/soc/bcm/rpi-proto.c | 152 ++++++++++++++++++++++++++++++++
+ 6 files changed, 222 insertions(+)
create mode 100644 arch/arm/boot/dts/rpi-proto-overlay.dts
create mode 100644 sound/soc/bcm/rpi-proto.c
@@ -33,10 +33,10 @@ index 1b66478..7171eb6 100644
dtb-$(CONFIG_BCM2708_DT) += pps-gpio-overlay.dtb
diff --git a/arch/arm/boot/dts/rpi-proto-overlay.dts b/arch/arm/boot/dts/rpi-proto-overlay.dts
new file mode 100644
-index 0000000..984545b
+index 0000000..2029930
--- /dev/null
+++ b/arch/arm/boot/dts/rpi-proto-overlay.dts
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,39 @@
+// Definitions for Rpi-Proto
+/dts-v1/;
+/plugin/;
@@ -47,7 +47,7 @@ index 0000000..984545b
+ fragment@0 {
+ target = <&sound>;
+ __overlay__ {
-+ compatible = "rpi-proto";
++ compatible = "rpi,rpi-proto";
+ i2s-controller = <&i2s>;
+ status = "okay";
+ };
@@ -61,11 +61,16 @@ index 0000000..984545b
+ };
+
+ fragment@2 {
-+ target-path = "/";
++ target = <&i2c1>;
+ __overlay__ {
-+ wm8731-codec {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ wm8731@1a {
+ #sound-dai-cells = <0>;
+ compatible = "wlf,wm8731";
++ reg = <0x1a>;
+ status = "okay";
+ };
+ };
@@ -148,10 +153,10 @@ index 17ea2b0..883241b 100644
obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
diff --git a/sound/soc/bcm/rpi-proto.c b/sound/soc/bcm/rpi-proto.c
new file mode 100644
-index 0000000..70b0166
+index 0000000..cdc8b51
--- /dev/null
+++ b/sound/soc/bcm/rpi-proto.c
-@@ -0,0 +1,130 @@
+@@ -0,0 +1,152 @@
+/*
+ * ASoC driver for PROTO AudioCODEC (with a WM8731)
+ * connected to a Raspberry Pi
@@ -253,6 +258,21 @@ index 0000000..70b0166
+ int ret = 0;
+
+ snd_rpi_proto.dev = &pdev->dev;
++
++ if (pdev->dev.of_node) {
++ struct device_node *i2s_node;
++ struct snd_soc_dai_link *dai = &snd_rpi_proto_dai[0];
++ i2s_node = of_parse_phandle(pdev->dev.of_node,
++ "i2s-controller", 0);
++
++ if (i2s_node) {
++ dai->cpu_dai_name = NULL;
++ dai->cpu_of_node = i2s_node;
++ dai->platform_name = NULL;
++ dai->platform_of_node = i2s_node;
++ }
++ }
++
+ ret = snd_soc_register_card(&snd_rpi_proto);
+ if (ret) {
+ dev_err(&pdev->dev,
@@ -268,10 +288,17 @@ index 0000000..70b0166
+ return snd_soc_unregister_card(&snd_rpi_proto);
+}
+
++static const struct of_device_id snd_rpi_proto_of_match[] = {
++ { .compatible = "rpi,rpi-proto", },
++ {},
++};
++MODULE_DEVICE_TABLE(of, snd_rpi_proto_of_match);
++
+static struct platform_driver snd_rpi_proto_driver = {
+ .driver = {
+ .name = "snd-rpi-proto",
+ .owner = THIS_MODULE,
++ .of_match_table = snd_rpi_proto_of_match,
+ },
+ .probe = snd_rpi_proto_probe,
+ .remove = snd_rpi_proto_remove,
diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet
index a82396313..22f2d36c3 100644
--- a/target/linux/config/Config.in.ethernet
+++ b/target/linux/config/Config.in.ethernet
@@ -78,6 +78,7 @@ config ADK_KERNEL_KORINA
config ADK_KERNEL_USB_NET_SMSC95XX
tristate "SMSC95XX USB ethernet driver"
+ select ADK_KERNEL_USB_NET_DRIVERS
select ADK_KERNEL_USB_USBNET
depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI