diff options
author | Waldemar Brodkorb <wbrodkorb@conet.de> | 2015-02-03 11:21:42 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbrodkorb@conet.de> | 2015-02-03 11:21:42 +0100 |
commit | d52b56753fd291c95468958ca60362ed94c929d7 (patch) | |
tree | b69b801197e9add86b1181543f1dba43b123d97c | |
parent | 5d4f6075503ea0f7bf3be9ae0b959c812b0b50c4 (diff) |
add debugtool, try to fix device-tree support and rpi-proto driver
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 |