From 861461953273ce1d7165a18a4862bae47c0d187c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 30 Jul 2014 07:31:11 +0200 Subject: [PATCH] projects/RPi/patches/linux: update RPi support patch Signed-off-by: Stephan Raue --- projects/RPi/linux/linux.arm.conf | 5 +- .../patches/linux/linux-01-RPi_support.patch | 918 ++++++++++++++---- 2 files changed, 718 insertions(+), 205 deletions(-) diff --git a/projects/RPi/linux/linux.arm.conf b/projects/RPi/linux/linux.arm.conf index 7acf358506..f0aae3c01b 100644 --- a/projects/RPi/linux/linux.arm.conf +++ b/projects/RPi/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 3.15.5 Kernel Configuration +# Linux/arm 3.15.7 Kernel Configuration # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -264,6 +264,7 @@ CONFIG_IOSCHED_CFQ=y CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y # CONFIG_FREEZER is not set # @@ -1334,6 +1335,7 @@ CONFIG_I2C_ALGOBIT=y # # I2C system bus drivers (mostly embedded / system-on-chip) # +# CONFIG_I2C_BCM2835 is not set CONFIG_I2C_BCM2708=y CONFIG_I2C_BCM2708_BAUDRATE=100000 # CONFIG_I2C_CBUS_GPIO is not set @@ -1370,6 +1372,7 @@ CONFIG_SPI_MASTER=y # SPI Master Controller Drivers # # CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_BCM2835 is not set CONFIG_SPI_BCM2708=y # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_GPIO is not set diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 89b94b4720..2d220c9efe 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From 2a760213af96c4fc8285fa707590f7d0a7ad7b89 Mon Sep 17 00:00:00 2001 +From 5467cba24db51cbc9e1f6e4efa03e3840f964518 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 01/68] Main bcm2708 linux port +Subject: [PATCH 01/75] Main bcm2708 linux port Signed-off-by: popcornmix --- @@ -97,10 +97,10 @@ Signed-off-by: popcornmix create mode 100644 drivers/mmc/host/sdhci-bcm2708.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index db3c541..0e8b8df 100644 +index 34c7a24..ed579ab 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -384,6 +384,22 @@ config ARCH_AT91 +@@ -385,6 +385,22 @@ config ARCH_AT91 This enables support for systems based on Atmel AT91RM9200 and AT91SAM9* processors. @@ -123,7 +123,7 @@ index db3c541..0e8b8df 100644 config ARCH_CLPS711X bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" select ARCH_REQUIRE_GPIOLIB -@@ -1068,6 +1084,7 @@ source "arch/arm/plat-versatile/Kconfig" +@@ -1069,6 +1085,7 @@ source "arch/arm/plat-versatile/Kconfig" source "arch/arm/mach-vt8500/Kconfig" source "arch/arm/mach-w90x900/Kconfig" @@ -8591,13 +8591,13 @@ index 7be12b8..a968bd6 100644 unsigned int data_early:1; /* Data finished before cmd */ -- -1.9.3 +2.0.3 -From cdd3b5a6b34a25075c2b0cffcf7ed6eb87a6a36f Mon Sep 17 00:00:00 2001 +From cd12245102cb8c67e97564b94d8e979d13ec4b54 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 7 May 2013 22:20:24 +0100 -Subject: [PATCH 02/68] Add quick config. +Subject: [PATCH 02/75] Add quick config. This is designed for quick compiling when developing. No modules are needed and it includes all Pi specific drivers @@ -8810,13 +8810,13 @@ index 0000000..e5efe75 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -- -1.9.3 +2.0.3 -From 44a5c34cea8b65897d1ceee6d33aab54749a9b69 Mon Sep 17 00:00:00 2001 +From 8c898b0781986e981e095fc69d2ab6f288d5622b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 03/68] Add dwc_otg driver +Subject: [PATCH 03/75] Add dwc_otg driver Signed-off-by: popcornmix --- @@ -65885,13 +65885,13 @@ index 0000000..cdc9963 +test_main(); +0; -- -1.9.3 +2.0.3 -From 65a690edf14af90fdd769664659b6055973b6881 Mon Sep 17 00:00:00 2001 +From f59a1813a419de088613aaba7085d945540f5bb7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:54:32 +0100 -Subject: [PATCH 04/68] bcm2708 watchdog driver +Subject: [PATCH 04/75] bcm2708 watchdog driver Signed-off-by: popcornmix --- @@ -66319,13 +66319,13 @@ index 0000000..8a27d68 +MODULE_ALIAS_MISCDEV(TEMP_MINOR); +MODULE_LICENSE("GPL"); -- -1.9.3 +2.0.3 -From 63dddb1abc7e99bfeda24215111d4e5de18c826e Mon Sep 17 00:00:00 2001 +From 92873013942898d3ec88c32823536d5742789334 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:55:09 +0100 -Subject: [PATCH 05/68] bcm2708 framebuffer driver +Subject: [PATCH 05/75] bcm2708 framebuffer driver Signed-off-by: popcornmix --- @@ -69369,13 +69369,13 @@ index 3c14e43..7626beb 100644 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -- -1.9.3 +2.0.3 -From 799ee39e59077465fb7c5c7dd5875f93bd214ac0 Mon Sep 17 00:00:00 2001 +From a419db4a9df89feffae650b129e54a3dd3d2bd85 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 06/68] bcm2708 vchiq driver +Subject: [PATCH 06/75] bcm2708 vchiq driver Signed-off-by: popcornmix @@ -81924,13 +81924,13 @@ index 0000000..b6bfa21 + return vchiq_build_time; +} -- -1.9.3 +2.0.3 -From 23b7ff8a2fb95aca0e485a21f8529b2b90cf3fcf Mon Sep 17 00:00:00 2001 +From da0ed6083e6d21aea83388f59708c56806ab0c81 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 12 May 2014 15:12:02 +0100 -Subject: [PATCH 07/68] vchiq: Avoid high load when blocked and unkillable +Subject: [PATCH 07/75] vchiq: Avoid high load when blocked and unkillable vchiq: Include SIGSTOP and SIGCONT in list of signals not-masked by vchiq to allow gdb to work --- @@ -82092,13 +82092,13 @@ index c2eefef..05e7979 100644 static inline int is_pow2(int i) { -- -1.9.3 +2.0.3 -From f284f0d5a65d152737f1c63a5fc769f37d1e83e7 Mon Sep 17 00:00:00 2001 +From 51a73411ccb8ba9d7645c6926d054f5220fc7771 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 08/68] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 08/75] cma: Add vc_cma driver to enable use of CMA Signed-off-by: popcornmix --- @@ -83387,13 +83387,13 @@ index 0000000..5325832 + +#endif /* VC_CMA_H */ -- -1.9.3 +2.0.3 -From 97be6baed7c673b81061654e224cc5ba2aa49ae0 Mon Sep 17 00:00:00 2001 +From 626c462c55ca0f7007bb6b0c7619e292cd7f4de4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 09/68] bcm2708: alsa sound driver +Subject: [PATCH 09/75] bcm2708: alsa sound driver Signed-off-by: popcornmix --- @@ -85754,13 +85754,13 @@ index 0000000..af3e6eb + +#endif // _VC_AUDIO_DEFS_H_ -- -1.9.3 +2.0.3 -From 786767c9bd15e3d80f9693d6403d1cf5652fbe50 Mon Sep 17 00:00:00 2001 +From f52c1acaa9d3bf4f70f489a1136d08a5c8018f1a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 26 Apr 2013 10:08:31 -0700 -Subject: [PATCH 10/68] alsa: add mmap support and some cleanups to bcm2835 +Subject: [PATCH 10/75] alsa: add mmap support and some cleanups to bcm2835 ALSA driver --- @@ -86237,13 +86237,13 @@ index 080bd5c..36afee3 100755 struct semaphore buffers_update_sem; struct semaphore control_sem; -- -1.9.3 +2.0.3 -From dbc9091813f44049f94eb83a47e6d7daf41c4e23 Mon Sep 17 00:00:00 2001 +From 26839949c6d28777c428ac176ecdddf91339deea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:51:55 +0100 -Subject: [PATCH 11/68] Add hwrng (hardware random number generator) driver +Subject: [PATCH 11/75] Add hwrng (hardware random number generator) driver --- arch/arm/mach-bcm2708/include/mach/platform.h | 1 + @@ -86422,13 +86422,13 @@ index 0000000..340f004 +MODULE_DESCRIPTION("BCM2708 H/W Random Number Generator (RNG) driver"); +MODULE_LICENSE("GPL and additional rights"); -- -1.9.3 +2.0.3 -From 440194daf06251595fd8c07266d9f99acbf4feaf Mon Sep 17 00:00:00 2001 +From 31e33eeeb8361f8a1b8688012885ab45a319acac Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 12/68] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 12/75] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -87170,13 +87170,13 @@ index 0000000..57ffacf +module_param(debug, bool, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(debug, "Enable debugging messages"); -- -1.9.3 +2.0.3 -From b2f48a32194d84de74d103cb5f319e4d8a67610f Mon Sep 17 00:00:00 2001 +From 1a438fe40dd523e6118d38a52a7098b68e62e620 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 May 2012 23:12:13 +0100 -Subject: [PATCH 13/68] Fixes for sdhci-bcm2708 +Subject: [PATCH 13/75] Fixes for sdhci-bcm2708 possible fix for sdcard missing status. Thank naren @@ -88447,13 +88447,13 @@ index a968bd6..df54b9b 100644 const struct sdhci_ops *ops; /* Low level hw interface */ -- -1.9.3 +2.0.3 -From b834d92160dbac4a9705a82178e386a1b45c0d75 Mon Sep 17 00:00:00 2001 +From 203954eeb998751d16cd6b49e427b225fdff9e4e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 14/68] Add cpufreq driver +Subject: [PATCH 14/75] Add cpufreq driver --- arch/arm/Kconfig | 1 + @@ -88464,10 +88464,10 @@ Subject: [PATCH 14/68] Add cpufreq driver create mode 100755 drivers/cpufreq/bcm2835-cpufreq.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 0e8b8df..4b43550 100644 +index ed579ab..8c3505f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -393,6 +393,7 @@ config ARCH_BCM2708 +@@ -394,6 +394,7 @@ config ARCH_BCM2708 select NEED_MACH_GPIO_H select NEED_MACH_MEMORY_H select CLKDEV_LOOKUP @@ -88752,13 +88752,13 @@ index 0000000..7bc55bd +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -- -1.9.3 +2.0.3 -From 61fab66382d7f36f4c2db33f43f5d2153495fba4 Mon Sep 17 00:00:00 2001 +From c2a539c7b57dfc098a79f171986d744e7d2e32ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 15/68] Added hwmon/thermal driver for reporting core +Subject: [PATCH 15/75] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian --- @@ -89280,13 +89280,13 @@ index 0000000..85fceb5 + +module_platform_driver(bcm2835_thermal_driver); -- -1.9.3 +2.0.3 -From 3f013c20359de5e19dcada9d81c633e5fb1bcd2e Mon Sep 17 00:00:00 2001 +From 684eea255743d18a889d1a7227471f71d3e7a84c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 16/68] Allow mac address to be set in smsc95xx +Subject: [PATCH 16/75] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -89377,13 +89377,13 @@ index 424db65e..fc1ef4e 100644 if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, dev->net->dev_addr) == 0) { -- -1.9.3 +2.0.3 -From b04c5a505b8752600b8c3ce39fd37ca7a8823dd2 Mon Sep 17 00:00:00 2001 +From a7364e5b06c949b8fc6c43f983a9ef6948f2d9db Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 4 Nov 2013 18:56:10 +0000 -Subject: [PATCH 17/68] Add Chris Boot's i2c and spi drivers. +Subject: [PATCH 17/75] Add Chris Boot's i2c and spi drivers. i2c-bcm2708: fixed baudrate @@ -90764,13 +90764,13 @@ index 0000000..06dd02f +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -- -1.9.3 +2.0.3 -From 388e21b0f5517a2c2171d31e645ca5cc0b0c04e0 Mon Sep 17 00:00:00 2001 +From a439ba718a5dd3fb9dedc6f1f3d951b6ba6480dd Mon Sep 17 00:00:00 2001 From: cbeytas Date: Mon, 24 Jun 2013 00:05:40 -0400 -Subject: [PATCH 18/68] Perform I2C combined transactions when possible +Subject: [PATCH 18/75] Perform I2C combined transactions when possible Perform I2C combined transactions whenever possible, within the restrictions of the Broadcomm Serial Controller. @@ -90842,13 +90842,13 @@ index f266f10..8750634 100644 } -- -1.9.3 +2.0.3 -From c0f52d42d4c456557cb1bba80208cda75078890e Mon Sep 17 00:00:00 2001 +From 17a30560858a5ad7aa9c2aa227e0a3f1dc68a4d9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 19/68] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 19/75] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -91120,13 +91120,13 @@ index 2820924..fd0550f 100644 } } -- -1.9.3 +2.0.3 -From 8dc29e0af938de78fc33a3fd19dbd1a545c0881b Mon Sep 17 00:00:00 2001 +From 3f65921735ae3a0a4dc12fe7dcd207cc3879b453 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 12 Apr 2013 23:58:47 +0100 -Subject: [PATCH 23/68] config: add missing options from 3.6.y kernel +Subject: [PATCH 23/75] config: add missing options from 3.6.y kernel --- arch/arm/configs/bcmrpi_defconfig | 755 ++++++++++++++++++++++++++++++++------ @@ -92173,13 +92173,13 @@ index 31f5afaa..78d789c 100644 # CONFIG_CRYPTO_HW is not set CONFIG_CRC_ITU_T=y -- -1.9.3 +2.0.3 -From 9a4f92d3c931ba5f53c9be77af157fd60496fbdb Mon Sep 17 00:00:00 2001 +From 743c4cf876e54e434946d78c65eeadd33ff228ca Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 24/68] Speed up console framebuffer imageblit function +Subject: [PATCH 24/75] Speed up console framebuffer imageblit function Especially on platforms with a slower CPU but a relatively high framebuffer fill bandwidth, like current ARM devices, the existing @@ -92388,13 +92388,13 @@ index a2bb276..436494f 100644 start_index, pitch_index); } else -- -1.9.3 +2.0.3 -From 3326d1afa7a229fa891ec00f7141d443aea6a63a Mon Sep 17 00:00:00 2001 +From c5f0407a84e62753eeef299174fb5055cb4e06f3 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 25/68] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 25/75] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -92487,13 +92487,13 @@ index fb795c3..fa72af0 100644 #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ #define FB_TYPE_PLANES 1 /* Non interleaved planes */ -- -1.9.3 +2.0.3 -From de83e321ffb295bc605fc0031bce479c93fb1742 Mon Sep 17 00:00:00 2001 +From 0036a2c427d87dda9bdb1acba874f9042dd67024 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 16:00:25 +0300 -Subject: [PATCH 26/68] bcm2708_fb: DMA acceleration for fb_copyarea +Subject: [PATCH 26/75] bcm2708_fb: DMA acceleration for fb_copyarea Based on http://www.raspberrypi.org/phpBB3/viewtopic.php?p=62425#p62425 Also used Simon's dmaer_master module as a reference for tweaking DMA @@ -92948,13 +92948,13 @@ index 54cd760..798eb52 100644 return 0; -- -1.9.3 +2.0.3 -From 96bbb811c683801f1ec7156fd9ad91e5ffe46587 Mon Sep 17 00:00:00 2001 +From c12b6bb2ceaf4d38ed96019c02d3f18f613b2368 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 27/68] config: Enable CONFIG_MEMCG, but leave it disabled (due +Subject: [PATCH 27/75] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -93022,13 +93022,13 @@ index 67c927a..6512641 100644 #ifdef CONFIG_MEMCG_SWAP -- -1.9.3 +2.0.3 -From e505e6bb3f7d028f3a173e8dbab807c69956fb6b Mon Sep 17 00:00:00 2001 +From c5b247f800bc0be22e3e3f7a9a07e3c8ae0092bf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:46:42 +0100 -Subject: [PATCH 28/68] Add FIQ patch to dwc_otg driver. Enable with +Subject: [PATCH 28/75] Add FIQ patch to dwc_otg driver. Enable with dwc_otg.fiq_fix_enable=1. Should give about 10% more ARM performance. Thanks to Gordon and Costas @@ -93311,10 +93311,10 @@ incarnations. create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 4b43550..2719812 100644 +index 8c3505f..ac5410d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -398,6 +398,7 @@ config ARCH_BCM2708 +@@ -399,6 +399,7 @@ config ARCH_BCM2708 select ARM_ERRATA_411920 select MACH_BCM2708 select VC4 @@ -96347,13 +96347,13 @@ index 1b1f83c..c8590b5 100644 if (status.b.sr) { -- -1.9.3 +2.0.3 -From c2b30107f473b7bce3aef7ac2fff388e53d7dba6 Mon Sep 17 00:00:00 2001 +From 49b1f4bc5c6c26cdbf1c8e418ac017da2f4f4df8 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 19 Mar 2014 12:58:23 +0000 -Subject: [PATCH 29/68] dwc_otg: fiq_fsm: Base commit for driver rewrite +Subject: [PATCH 29/75] dwc_otg: fiq_fsm: Base commit for driver rewrite This commit removes the previous FIQ fixes entirely and adds fiq_fsm. @@ -101249,13 +101249,13 @@ index 5d310df..4b32941 100644 return -EBUSY; } -- -1.9.3 +2.0.3 -From 622988510933af7760ddd4b38fcd49385139177d Mon Sep 17 00:00:00 2001 +From fcd2237275891d3938b54ada0202d186da864157 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 30/68] bcm2835: add v4l2 camera device +Subject: [PATCH 30/75] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -107240,13 +107240,13 @@ index 0000000..9d1d11e + +#endif /* MMAL_VCHIQ_H */ -- -1.9.3 +2.0.3 -From f7dbd041461aa8de471511065a677cde15c842a6 Mon Sep 17 00:00:00 2001 +From da0e9cfde86794100d82fa19d518f7ceb84c40e0 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 10:58:01 +0000 -Subject: [PATCH 31/68] V4L2: Fixes from 6by9 +Subject: [PATCH 31/75] V4L2: Fixes from 6by9 V4L2: Fix EV values. Add manual shutter speed control @@ -109618,13 +109618,13 @@ index a06fb44..76f249e 100644 release_msg: -- -1.9.3 +2.0.3 -From 4a6b249c72c91c27b353347c6981acb9f47ee60d Mon Sep 17 00:00:00 2001 +From a0e4355cb41d1bd88e796bdd79c9fd8c7142a895 Mon Sep 17 00:00:00 2001 From: Julian Scheel Date: Wed, 19 Feb 2014 16:06:59 +0100 -Subject: [PATCH 32/68] snd-bcm2835: Add support for spdif/hdmi passthrough +Subject: [PATCH 32/75] snd-bcm2835: Add support for spdif/hdmi passthrough This adds a dedicated subdevice which can be used for passthrough of non-audio formats (ie encoded a52) through the hdmi audio link. In addition to this @@ -110092,13 +110092,13 @@ index 36afee3..8c2fe26 100755 int bcm2835_audio_open(bcm2835_alsa_stream_t * alsa_stream); int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream); -- -1.9.3 +2.0.3 -From 7377829678e12d41b6d2b73a81732627aa8c86e6 Mon Sep 17 00:00:00 2001 +From ab9659af32b0a76b3b74b05ce907f0a9fec1328c Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 33/68] dmaengine: Add support for BCM2708 +Subject: [PATCH 33/75] dmaengine: Add support for BCM2708 Add support for DMA controller of BCM2708 as used in the Raspberry Pi. Currently it only supports cyclic DMA. @@ -110735,13 +110735,13 @@ index 0000000..b244293 +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -- -1.9.3 +2.0.3 -From 8a6a720f73cb16e33042edf1df08dbc5fdc9f64b Mon Sep 17 00:00:00 2001 +From 0fa59e52ba5933537f39aaf219b0c393aadb7ef3 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:33:38 +0100 -Subject: [PATCH 34/68] ASoC: Add support for BCM2708 +Subject: [PATCH 34/75] ASoC: Add support for BCM2708 This driver adds support for digital audio (I2S) for the BCM2708 SoC that is used by the @@ -111736,13 +111736,13 @@ index 0000000..ebaf3d6 +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -- -1.9.3 +2.0.3 -From 47b899a36fc34215510ae701be6822ff031a7b52 Mon Sep 17 00:00:00 2001 +From 2db1d67c08b4fbb2bb9540dcb139e6a4d33a98e2 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:37:51 +0100 -Subject: [PATCH 35/68] BCM2708: Extend mach header +Subject: [PATCH 35/75] BCM2708: Extend mach header Extend the headers of the mach-bcm2708 in order to support I2S and DMA engine. @@ -111784,13 +111784,13 @@ index 992a630..2e7e1bb 100644 #define BSC0_BASE (BCM2708_PERI_BASE + 0x205000) /* BSC0 I2C/TWI */ #define UART1_BASE (BCM2708_PERI_BASE + 0x215000) /* Uart 1 */ -- -1.9.3 +2.0.3 -From 7e43c52ea80363c7135bd2fe1019c666baa1a392 Mon Sep 17 00:00:00 2001 +From f829d054bf938c4b3eaeff44bdad551adc27e62f Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:59:51 +0100 -Subject: [PATCH 36/68] ASoC: Add support for PCM5102A codec +Subject: [PATCH 36/75] ASoC: Add support for PCM5102A codec Some definitions to support the PCM5102A codec by Texas Instruments. @@ -111915,13 +111915,13 @@ index 0000000..126f1e9 +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -- -1.9.3 +2.0.3 -From 562518d4208bd05bce553f668b0f27c4c5da2b1d Mon Sep 17 00:00:00 2001 +From b5529800dd526cf30696bb052197e4e4716fe9d3 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:04:54 +0100 -Subject: [PATCH 37/68] BCM2708: Add I2S support to board file +Subject: [PATCH 37/75] BCM2708: Add I2S support to board file Adds the required initializations for I2S to the board file of mach-bcm2708. @@ -111976,13 +111976,13 @@ index ef0935f..7cb8a8e 100644 struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); -- -1.9.3 +2.0.3 -From be1cc3e593cd91c07f71be115c2a09500331e0f2 Mon Sep 17 00:00:00 2001 +From f0d70e723bffb6c75644e5af801947f17fb12d73 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 38/68] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 38/75] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -112131,13 +112131,13 @@ index 0000000..4b70b45 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -- -1.9.3 +2.0.3 -From 3d0f11d995d08d80d3862c847a99a4667064ae6f Mon Sep 17 00:00:00 2001 +From 87a7376e772e30000c5bcacf4b9649f12b328946 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:21:34 +0100 -Subject: [PATCH 39/68] BCM2708: Add HifiBerry DAC to board file +Subject: [PATCH 39/75] BCM2708: Add HifiBerry DAC to board file This adds the initalization of the HifiBerry DAC to the mach-bcm2708 board file. @@ -112185,13 +112185,13 @@ index 7cb8a8e..c4dc10e 100644 struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); -- -1.9.3 +2.0.3 -From 6b4fbd3604316ef3127bdb5191b6fdba2906eefb Mon Sep 17 00:00:00 2001 +From 91d6a0abdba16f0eca40bcda159b20a36d1f4464 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 6 Dec 2013 18:55:53 +0100 -Subject: [PATCH 40/68] ASoC: BCM2708: Add 24 bit support +Subject: [PATCH 40/75] ASoC: BCM2708: Add 24 bit support This adds 24 bit support to the I2S driver of the BCM2708. Besides enabling the 24 bit flags, it includes two bug fixes: @@ -112263,13 +112263,13 @@ index ebaf3d6..a179216 100644 .period_bytes_min = 32, .period_bytes_max = 64 * PAGE_SIZE, -- -1.9.3 +2.0.3 -From e8398d6b894cc11af47f6635a5207d14c7ecce68 Mon Sep 17 00:00:00 2001 +From f40af02d021979ab3f86d8aa3dfc4d06503a26f7 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 2 Dec 2013 20:28:22 +0100 -Subject: [PATCH 41/68] BCM2708: Add I2S and DMA support to default config +Subject: [PATCH 41/75] BCM2708: Add I2S and DMA support to default config This commit adds several modules that are needed for I2S support for the Raspberry Pi to the defconfig. @@ -112309,13 +112309,13 @@ index d70da44..36e7473 100644 CONFIG_UIO_PDRV_GENIRQ=m CONFIG_STAGING=y -- -1.9.3 +2.0.3 -From 2c25bf3c32c3e992b67909ba36d281e43d4dab28 Mon Sep 17 00:00:00 2001 +From 2f1bceebde04d92b10e08d40ee60279ba4ffaf72 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 6 Dec 2013 20:50:28 +0100 -Subject: [PATCH 42/68] ASoC: BCM2708: Add support for RPi-DAC +Subject: [PATCH 42/75] ASoC: BCM2708: Add support for RPi-DAC This adds a machine driver for the RPi-DAC. @@ -112626,13 +112626,13 @@ index 0000000..b4eaa44 +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -- -1.9.3 +2.0.3 -From 280746c50f77d6c5ea147c02d80c2c7ee1a91fb4 Mon Sep 17 00:00:00 2001 +From 9470fbb506cdc027562c9cbb9ee17d2a07a803d1 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 43/68] ASoC: wm8804: Implement MCLK configuration options, add +Subject: [PATCH 43/75] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -112746,13 +112746,13 @@ index 8ec14f5..e72d4f4 100644 #endif /* _WM8804_H */ -- -1.9.3 +2.0.3 -From 34708ed695368c02163e6594bf8409e1530c3a55 Mon Sep 17 00:00:00 2001 +From ce5f108e89f1b322a2fd33578b8ea79bd124b3d4 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 44/68] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 44/75] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -112955,13 +112955,13 @@ index 0000000..e4f769d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -- -1.9.3 +2.0.3 -From fdc5bb7760ca39db355df41694929181b4dfb4b6 Mon Sep 17 00:00:00 2001 +From b9bfa746eb08cfea8ac2500aab762500cab41570 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:26:08 +0100 -Subject: [PATCH 45/68] BCM2708: Added support for HiFiBerry Digi board Board +Subject: [PATCH 45/75] BCM2708: Added support for HiFiBerry Digi board Board initalization by I2C Signed-off-by: Daniel Matuschek @@ -113008,13 +113008,13 @@ index f2b3990..f5afd86 100644 bcm_register_device(&snd_rpi_dac_device); bcm_register_device(&snd_pcm1794a_codec_device); -- -1.9.3 +2.0.3 -From 507785154ceba9cd655e3b6f006e31cba2fb17b9 Mon Sep 17 00:00:00 2001 +From e5f6ea02ee335767ede415f0abf2284dd00c749d Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:27:28 +0100 -Subject: [PATCH 46/68] BCM2708: Added HiFiBerry Digi configuration option It +Subject: [PATCH 46/75] BCM2708: Added HiFiBerry Digi configuration option It will be compiled as a module by default. This also includes the WM8804 driver. @@ -113039,13 +113039,13 @@ index f877ab2..3d3c8ab 100644 CONFIG_SND_SOC_I2C_AND_SPI=m CONFIG_SND_SOC_PCM5102A=m -- -1.9.3 +2.0.3 -From 9dc678406947738598d9c6b551bd78ff9b608dfa Mon Sep 17 00:00:00 2001 +From 78754e83a3fda7625d28717f4540fd93a2166421 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:36:35 +0100 -Subject: [PATCH 47/68] ASoC: wm8804: Set idle_bias_off to false Idle bias has +Subject: [PATCH 47/75] ASoC: wm8804: Set idle_bias_off to false Idle bias has been change to remove warning on driver startup Signed-off-by: Daniel Matuschek @@ -113067,13 +113067,13 @@ index d8923c1..2787042 100644 .controls = wm8804_snd_controls, .num_controls = ARRAY_SIZE(wm8804_snd_controls), -- -1.9.3 +2.0.3 -From 0ed2afd515567cae00bd81f83ea19bc13e208065 Mon Sep 17 00:00:00 2001 +From f89d418086d1f6ca41a2602f9bd566dd31f04092 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 12 Mar 2014 11:46:34 +0000 -Subject: [PATCH 48/68] ASoc: Don't report S24_LE support, it produces white +Subject: [PATCH 48/75] ASoc: Don't report S24_LE support, it produces white noise with xbmc --- @@ -113108,13 +113108,13 @@ index 126f1e9..7812d34 100644 }, }; -- -1.9.3 +2.0.3 -From dfa4d76b94b9005d15f6ae6b43a3ba9eadb4d954 Mon Sep 17 00:00:00 2001 +From bde13d3bb321592464be85a85f86a40a60ea9204 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 49/68] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 49/75] Add IQaudIO Sound Card support for Raspberry Pi --- arch/arm/configs/bcmrpi_defconfig | 1 + @@ -113916,13 +113916,13 @@ index 6ee76aa..b2f518e 100644 - #endif -- -1.9.3 +2.0.3 -From 9a06438498eb92ccd03a4c45f2a83621a4bb2e83 Mon Sep 17 00:00:00 2001 +From 4de996cea362a07e206e03f674b84915fa654378 Mon Sep 17 00:00:00 2001 From: Howard Mitchell Date: Fri, 28 Mar 2014 16:27:57 +0000 -Subject: [PATCH 50/68] Fix volsw_range functions so SOC_DOUBLE_R_RANGE_TLV +Subject: [PATCH 50/75] Fix volsw_range functions so SOC_DOUBLE_R_RANGE_TLV works. This is so that the correct rabge of values as specified @@ -113995,13 +113995,13 @@ index 051c006..bf39f16 100644 return 0; -- -1.9.3 +2.0.3 -From 16d00b737eab6ffa1abb67d0e55ddbab8252f86c Mon Sep 17 00:00:00 2001 +From 0539e786141e32e9379d9673d728994c51db6842 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sun, 30 Mar 2014 13:52:33 +0100 -Subject: [PATCH 51/68] fix soc-core's inverse range and let IQaudIO DAC use +Subject: [PATCH 51/75] fix soc-core's inverse range and let IQaudIO DAC use this fixed SOC_DOUBLE_R_RANGE_TLV support --- @@ -114035,13 +114035,13 @@ index bf39f16..4d8917b 100644 val = val << shift; -- -1.9.3 +2.0.3 -From 73927f1d98ca1e3eefee64e6e4bde7a64c67299f Mon Sep 17 00:00:00 2001 +From 741e94a40d0c1be0cf285465d2e5f0eebe740316 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Fri, 2 May 2014 16:13:59 +0100 -Subject: [PATCH 52/68] Move GPIO setup to hw_params. +Subject: [PATCH 52/75] Move GPIO setup to hw_params. This is used to stop the I2S driver from breaking the GPIO setup for other uses of the PCM interface @@ -114137,13 +114137,13 @@ index b25e158..9976571 100644 dev->clk_regmap = regmap[1]; -- -1.9.3 +2.0.3 -From ecbddc52262ebb8b5db9a4d4a51f23af55eac454 Mon Sep 17 00:00:00 2001 +From d98cc925648b7d93f207003c968484ea5d3bef3c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 9 May 2014 15:45:13 +0100 -Subject: [PATCH 53/68] fb: distinguish physical and bus addresses +Subject: [PATCH 53/75] fb: distinguish physical and bus addresses --- drivers/video/fbdev/bcm2708_fb.c | 15 +++++++++------ @@ -114215,13 +114215,13 @@ index 798eb52..b3b1e04 100644 stride, region->width * bytes_per_pixel, -- -1.9.3 +2.0.3 -From 11dc007644b6a6ccb6ca7d411639f86656da7daa Mon Sep 17 00:00:00 2001 +From 96911e1c38ab31d1ffd3aeff5005523aa48e15bf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Jun 2014 13:42:01 +0100 -Subject: [PATCH 54/68] vmstat: Workaround for issue where dirty page count +Subject: [PATCH 54/75] vmstat: Workaround for issue where dirty page count goes negative See: @@ -114248,13 +114248,13 @@ index 45c9cd1..07dad05 100644 static inline void __inc_zone_page_state(struct page *page, -- -1.9.3 +2.0.3 -From 4974de4d06bc40913dfada5db26a96b1afe6b41f Mon Sep 17 00:00:00 2001 +From 86d980250494282b87b611daae0f637cc1591784 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 20 Jun 2014 16:03:12 +0100 -Subject: [PATCH 55/68] dwc_otg: Fix various issues with root port and +Subject: [PATCH 55/75] dwc_otg: Fix various issues with root port and transaction errors Process the host port interrupts correctly (and don't trample them). @@ -114324,13 +114324,13 @@ index d3e2035..6182d3e 100644 fiq_print(FIQDBG_ERR, dwc_otg_hcd->fiq_state, "RESET "); } -- -1.9.3 +2.0.3 -From 3a948e56dd7b77241f3b8e74dbb8767701d3ba5a Mon Sep 17 00:00:00 2001 +From 88ec91c349b182050393c98b53a4fab9304369a6 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 20 Jun 2014 17:23:20 +0100 -Subject: [PATCH 56/68] fiq_fsm: Implement hack for Split Interrupt +Subject: [PATCH 56/75] fiq_fsm: Implement hack for Split Interrupt transactions Hubs aren't too picky about which endpoint we send Control type split @@ -114416,13 +114416,13 @@ index daea770..35721e5 100644 break; } -- -1.9.3 +2.0.3 -From ed953ae0e1644efcaa4a11275c5c37a6e9540469 Mon Sep 17 00:00:00 2001 +From a3435860ead389806d2481feb35825b7ac36ccc4 Mon Sep 17 00:00:00 2001 From: notro Date: Sun, 6 Jul 2014 12:07:25 +0200 -Subject: [PATCH 57/68] spi-bcm2708: Prepare for Common Clock Framework +Subject: [PATCH 57/75] spi-bcm2708: Prepare for Common Clock Framework migration As part of migrating to use the Common Clock Framework, replace clk_enable() @@ -114467,13 +114467,13 @@ index 06dd02f..0952f40 100644 free_irq(bs->irq, master); iounmap(bs->base); -- -1.9.3 +2.0.3 -From cdbb67d3b2bee196acb94d97ffd867e9b831e8c0 Mon Sep 17 00:00:00 2001 +From 859cdc3b386f14d1dc9d55ef47eaf80d54507915 Mon Sep 17 00:00:00 2001 From: notro Date: Sun, 6 Jul 2014 12:09:30 +0200 -Subject: [PATCH 58/68] BCM2708: Migrate to the Common Clock Framework +Subject: [PATCH 58/75] BCM2708: Migrate to the Common Clock Framework As part of moving towards using Device Tree, the Common Clock Framework has to be used instead of the BCM2708 clock implementation. @@ -114494,10 +114494,10 @@ Signed-off-by: Noralf Tronnes delete mode 100644 arch/arm/mach-bcm2708/clock.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 2719812..f57f958 100644 +index ac5410d..d780a9f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -388,11 +388,10 @@ config ARCH_BCM2708 +@@ -389,11 +389,10 @@ config ARCH_BCM2708 bool "Broadcom BCM2708 family" select CPU_V6 select ARM_AMBA @@ -114748,13 +114748,13 @@ index 5f9d725..0000000 - unsigned long rate; -}; -- -1.9.3 +2.0.3 -From efd72683ffef207017d5c9551fb3d50c32f6c4a6 Mon Sep 17 00:00:00 2001 +From 23c465601e47d4e31b46b3e28193f105a3c0e7fa Mon Sep 17 00:00:00 2001 From: notro Date: Sun, 6 Jul 2014 16:31:31 +0200 -Subject: [PATCH 59/68] BCM2708: remove 'bcm2708_usb' clkdev +Subject: [PATCH 59/75] BCM2708: remove 'bcm2708_usb' clkdev 'bcm2708_usb' is currently not in use by the USB OTG driver. @@ -114780,13 +114780,13 @@ index 26fe14e..ef5a55dc 100644 bcm2708_register_clkdev(clk, "bcm2708_spi.0"); bcm2708_register_clkdev(clk, "bcm2708_i2c.0"); -- -1.9.3 +2.0.3 -From 8dc7813529393465d5df7e3e82c08bf0e393f86f Mon Sep 17 00:00:00 2001 +From 26042563c0c81d80d737cdca632adcd2203a337b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 4 Jul 2014 22:54:16 +0100 -Subject: [PATCH 60/68] config: Add CONFIG_DEVPTS_MULTIPLE_INSTANCES +Subject: [PATCH 60/75] config: Add CONFIG_DEVPTS_MULTIPLE_INSTANCES --- arch/arm/configs/bcmrpi_defconfig | 1 + @@ -114805,13 +114805,13 @@ index a024670..29fe486 100644 # CONFIG_DEVKMEM is not set CONFIG_SERIAL_AMBA_PL011=y -- -1.9.3 +2.0.3 -From b4eb454c2fd04b816a12235caf22a8c250905cc5 Mon Sep 17 00:00:00 2001 +From 2069ba0b693ec5a63370fd39c7dd3227a61cb06b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 26 Jun 2014 19:03:47 +0100 -Subject: [PATCH 61/68] bcm2708: Avoid hang when timer_set_next_event is called +Subject: [PATCH 61/75] bcm2708: Avoid hang when timer_set_next_event is called with MAX_INT See: https://github.com/raspberrypi/linux/issues/616 @@ -114834,13 +114834,13 @@ index ef5a55dc..9bf2508 100644 return 0; } -- -1.9.3 +2.0.3 -From bb9a73de6528e2d1c09ec2b2c2ad996bc6edce83 Mon Sep 17 00:00:00 2001 +From 3cf0438cfd3419f1d32772a007d381fc9a4e4934 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 26 Jun 2014 19:00:28 +0100 -Subject: [PATCH 62/68] armctrl: Don't mask interrupts from ack +Subject: [PATCH 62/75] armctrl: Don't mask interrupts from ack --- arch/arm/mach-bcm2708/armctrl.c | 2 +- @@ -114860,13 +114860,13 @@ index 274aa30..d4c5333 100644 .irq_unmask = armctrl_unmask_irq, .irq_set_wake = armctrl_set_wake, -- -1.9.3 +2.0.3 -From 7761dc9e9893fa3cdcc64a20af772b33b0e39a9e Mon Sep 17 00:00:00 2001 +From 91069898e7e9c9f7bd09e7ed77cc4738005381a5 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 63/68] BCM2708: Add core Device Tree support +Subject: [PATCH 63/75] BCM2708: Add core Device Tree support Add the bare minimum needed to boot BCM2708 from a Device Tree. @@ -115023,13 +115023,13 @@ index 9bf2508..6929e2e 100644 module_param(boardrev, uint, 0644); -- -1.9.3 +2.0.3 -From 7738eace307f0a0dcfa8d969d3e39eb015f305f3 Mon Sep 17 00:00:00 2001 +From 30a76591517a5470c5f9e38a3d63ff031ed162d5 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:47:48 +0200 -Subject: [PATCH 64/68] BCM2708: armctrl: Add IRQ Device Tree support +Subject: [PATCH 64/75] BCM2708: armctrl: Add IRQ Device Tree support Add Device Tree IRQ support for BCM2708. Usage is the same as for irq-bcm2835. @@ -115193,13 +115193,13 @@ index d4c5333..42f5e1c 100644 return 0; } -- -1.9.3 +2.0.3 -From 9dd2af39823b97baf734d3a05f46f13412fa91fe Mon Sep 17 00:00:00 2001 +From 1353698e10643c15999acf2bb251464815da6f09 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 65/68] pinctrl: add bcm2708 driver +Subject: [PATCH 65/75] pinctrl: add bcm2708 driver This driver is a verbatim copy of the pinctrl-bcm2835 driver, except for: * changed 2835 to 2708 @@ -116062,13 +116062,13 @@ index 0000000..40d9c86 +MODULE_DESCRIPTION("BCM2708 Pin control driver"); +MODULE_LICENSE("GPL"); -- -1.9.3 +2.0.3 -From a29d05c0d544095fe664cc5c7a79889d5b5cd1f0 Mon Sep 17 00:00:00 2001 +From 8beebe66f1dd7315c1801c64b220a00d6d17ca46 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 6 Jul 2014 14:58:44 +0100 -Subject: [PATCH 66/68] snd-bcm2708: Add mutex, improve logging +Subject: [PATCH 66/75] snd-bcm2708: Add mutex, improve logging --- sound/arm/bcm2835-pcm.c | 35 +++++++++++++++-- @@ -116446,13 +116446,13 @@ index 8c2fe26..0f71c5d 100755 typedef struct bcm2835_alsa_stream { -- -1.9.3 +2.0.3 -From 2742f5c97e6af80332246634f3f17389d6e06518 Mon Sep 17 00:00:00 2001 +From 0866c9ae43baf29d96bf79609fcf2f91537abcd1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 13 Jul 2014 20:48:30 +0100 -Subject: [PATCH 67/68] Fix for ALSA driver crash +Subject: [PATCH 67/75] Fix for ALSA driver crash Avoids an issue when closing and opening vchiq where a message can arrive before service handle has been written --- @@ -116531,13 +116531,13 @@ index a0b069d..bc27bea 100644 } EXPORT_SYMBOL(vchi_service_create); -- -1.9.3 +2.0.3 -From f9b062f9b1c25d2ae3ce480179ad0c4d3033bd23 Mon Sep 17 00:00:00 2001 +From 124f5aa674894f0020e8aa1d244c405e12e9b498 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 68/68] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 68/75] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -116572,5 +116572,515 @@ index 7b88f4c..236a09b 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -- -1.9.3 +2.0.3 + + +From 3e14a4a2cc266a074fd788581c92945bf877884e Mon Sep 17 00:00:00 2001 +From: notro +Date: Fri, 18 Jul 2014 18:15:57 +0200 +Subject: [PATCH 69/75] BCM2708: DT: change 'axi' nodename to 'soc' + +Change DT node named 'axi' to 'soc' so it matches ARCH_BCM2835. +The VC4 bootloader fills in certain properties in the 'axi' subtree, +but since this is part of an upstreaming effort, the name is changed. + +Signed-off-by: Noralf Tronnes notro@tronnes.org +--- + arch/arm/boot/dts/bcm2708.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi +index 3f884b3..e02e67b 100644 +--- a/arch/arm/boot/dts/bcm2708.dtsi ++++ b/arch/arm/boot/dts/bcm2708.dtsi +@@ -14,7 +14,7 @@ + bootargs = "console=ttyAMA0 "; + }; + +- axi { ++ soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; +-- +2.0.3 + + +From b01402f899257641e0728799d9e423cfb2874e1c Mon Sep 17 00:00:00 2001 +From: notro +Date: Sun, 27 Jul 2014 20:12:58 +0200 +Subject: [PATCH 70/75] spi: bcm2708: add device tree support + +Add DT support to driver and add to .dtsi file. +Setup pins and spidev in .dts file. +SPI is disabled by default. + +Signed-off-by: Noralf Tronnes +--- + arch/arm/boot/dts/bcm2708-rpi-b.dts | 32 ++++++++++++++++++++++++++++++++ + arch/arm/boot/dts/bcm2708.dtsi | 18 ++++++++++++++++++ + drivers/spi/spi-bcm2708.c | 8 ++++++++ + 3 files changed, 58 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts +index e319c8e..30107fb 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts +@@ -5,4 +5,36 @@ + / { + compatible = "brcm,bcm2708"; + model = "Raspberry Pi"; ++ ++ aliases { ++ spi0 = &spi0; ++ }; ++}; ++ ++&gpio { ++ spi0_pins: spi0_pins { ++ brcm,pins = <7 8 9 10 11>; ++ brcm,function = <4>; /* alt0 */ ++ }; ++}; ++ ++&spi0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&spi0_pins>; ++ ++ spidev@0{ ++ compatible = "spidev"; ++ reg = <0>; /* CE0 */ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ spi-max-frequency = <500000>; ++ }; ++ ++ spidev@1{ ++ compatible = "spidev"; ++ reg = <1>; /* CE1 */ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ spi-max-frequency = <500000>; ++ }; + }; +diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi +index e02e67b..ec1d006 100644 +--- a/arch/arm/boot/dts/bcm2708.dtsi ++++ b/arch/arm/boot/dts/bcm2708.dtsi +@@ -33,11 +33,29 @@ + gpio-controller; + #gpio-cells = <2>; + }; ++ ++ spi0: spi@7e204000 { ++ compatible = "brcm,bcm2708-spi"; ++ reg = <0x7e204000 0x1000>; ++ interrupts = <2 22>; ++ clocks = <&clk_spi>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "disabled"; ++ }; + }; + + clocks { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; ++ ++ clk_spi: clock@2 { ++ compatible = "fixed-clock"; ++ reg = <2>; ++ #clock-cells = <0>; ++ clock-output-names = "spi"; ++ clock-frequency = <250000000>; ++ }; + }; + }; +diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c +index 0952f40..013611e 100644 +--- a/drivers/spi/spi-bcm2708.c ++++ b/drivers/spi/spi-bcm2708.c +@@ -512,6 +512,7 @@ static int bcm2708_spi_probe(struct platform_device *pdev) + master->setup = bcm2708_spi_setup; + master->transfer = bcm2708_spi_transfer; + master->cleanup = bcm2708_spi_cleanup; ++ master->dev.of_node = pdev->dev.of_node; + platform_set_drvdata(pdev, master); + + bs = spi_master_get_devdata(master); +@@ -596,10 +597,17 @@ static int bcm2708_spi_remove(struct platform_device *pdev) + return 0; + } + ++static const struct of_device_id bcm2708_spi_match[] = { ++ { .compatible = "brcm,bcm2708-spi", }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, bcm2708_spi_match); ++ + static struct platform_driver bcm2708_spi_driver = { + .driver = { + .name = DRV_NAME, + .owner = THIS_MODULE, ++ .of_match_table = bcm2708_spi_match, + }, + .probe = bcm2708_spi_probe, + .remove = bcm2708_spi_remove, +-- +2.0.3 + + +From 5ca10b6d37ac99bfbcd84049d31efd88d6869d75 Mon Sep 17 00:00:00 2001 +From: notro +Date: Sun, 27 Jul 2014 20:13:44 +0200 +Subject: [PATCH 71/75] BCM2708: don't register SPI controller when using DT + +The device for the SPI controller is in the Device Tree. +Only register the device when not using DT. + +Signed-off-by: Noralf Tronnes +--- + arch/arm/mach-bcm2708/Kconfig | 2 +- + arch/arm/mach-bcm2708/bcm2708.c | 14 +++++++++++++- + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig +index 05945d6..1f29d7d 100644 +--- a/arch/arm/mach-bcm2708/Kconfig ++++ b/arch/arm/mach-bcm2708/Kconfig +@@ -44,7 +44,7 @@ config BCM2708_NOL2CACHE + + config BCM2708_SPIDEV + bool "Bind spidev to SPI0 master" +- depends on MACH_BCM2708 ++ depends on MACH_BCM2708 && !USE_OF + depends on SPI + default y + help +diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c +index 6929e2e..d227f9b 100644 +--- a/arch/arm/mach-bcm2708/bcm2708.c ++++ b/arch/arm/mach-bcm2708/bcm2708.c +@@ -514,6 +514,7 @@ static struct platform_device bcm2708_alsa_devices[] = { + }, + }; + ++#ifndef CONFIG_OF + static struct resource bcm2708_spi_resources[] = { + { + .start = SPI0_BASE, +@@ -537,6 +538,7 @@ static struct platform_device bcm2708_spi_device = { + .dma_mask = &bcm2708_spi_dmamask, + .coherent_dma_mask = DMA_BIT_MASK(DMA_MASK_BITS_COMMON)}, + }; ++#endif + + #ifdef CONFIG_BCM2708_SPIDEV + static struct spi_board_info bcm2708_spi_devices[] = { +@@ -698,6 +700,16 @@ int __init bcm_register_device(struct platform_device *pdev) + return ret; + } + ++/* ++ * Use this macro for platform devices that are present in the Device Tree. ++ * This way the device is only added on non-DT builds. ++ */ ++#ifdef CONFIG_OF ++#define bcm_register_device_dt(pdev) ++#else ++#define bcm_register_device_dt(pdev) bcm_register_device(pdev) ++#endif ++ + int calc_rsts(int partition) + { + return PM_PASSWORD | +@@ -815,7 +827,7 @@ void __init bcm2708_init(void) + for (i = 0; i < ARRAY_SIZE(bcm2708_alsa_devices); i++) + bcm_register_device(&bcm2708_alsa_devices[i]); + +- bcm_register_device(&bcm2708_spi_device); ++ bcm_register_device_dt(&bcm2708_spi_device); + bcm_register_device(&bcm2708_bsc0_device); + bcm_register_device(&bcm2708_bsc1_device); + +-- +2.0.3 + + +From a7c08652bbbe077943bf5e721eaa6cd6afe8a2d7 Mon Sep 17 00:00:00 2001 +From: notro +Date: Sun, 27 Jul 2014 20:14:05 +0200 +Subject: [PATCH 72/75] spi: bcm2835: make driver available on ARCH_BCM2708 + +Make this driver available on ARCH_BCM2708 + +Signed-off-by: Noralf Tronnes +--- + drivers/spi/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig +index 6015c1e..fa74d1f 100644 +--- a/drivers/spi/Kconfig ++++ b/drivers/spi/Kconfig +@@ -76,7 +76,7 @@ config SPI_ATMEL + + config SPI_BCM2835 + tristate "BCM2835 SPI controller" +- depends on ARCH_BCM2835 || COMPILE_TEST ++ depends on ARCH_BCM2835 || ARCH_BCM2708 || COMPILE_TEST + help + This selects a driver for the Broadcom BCM2835 SPI master. + +-- +2.0.3 + + +From 888e34872643cde6ea65e666e7762493ca2a1897 Mon Sep 17 00:00:00 2001 +From: notro +Date: Tue, 29 Jul 2014 11:04:49 +0200 +Subject: [PATCH 73/75] i2c: bcm2708: add device tree support + +Add DT support to driver and add to .dtsi file. +Setup pins in .dts file. +i2c is disabled by default. + +Signed-off-by: Noralf Tronnes +--- + arch/arm/boot/dts/bcm2708-rpi-b.dts | 24 ++++++++++++++++++++++++ + arch/arm/boot/dts/bcm2708.dtsi | 27 +++++++++++++++++++++++++++ + drivers/i2c/busses/i2c-bcm2708.c | 24 ++++++++++++++++++++++++ + 3 files changed, 75 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts +index 30107fb..5893122 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts +@@ -8,6 +8,8 @@ + + aliases { + spi0 = &spi0; ++ i2c0 = &i2c0; ++ i2c1 = &i2c1; + }; + }; + +@@ -16,6 +18,16 @@ + brcm,pins = <7 8 9 10 11>; + brcm,function = <4>; /* alt0 */ + }; ++ ++ i2c0_pins: i2c0 { ++ brcm,pins = <0 1>; ++ brcm,function = <4>; ++ }; ++ ++ i2c1_pins: i2c1 { ++ brcm,pins = <2 3>; ++ brcm,function = <4>; ++ }; + }; + + &spi0 { +@@ -38,3 +50,15 @@ + spi-max-frequency = <500000>; + }; + }; ++ ++&i2c0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c0_pins>; ++ clock-frequency = <100000>; ++}; ++ ++&i2c1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c1_pins>; ++ clock-frequency = <100000>; ++}; +diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi +index ec1d006..edf3619 100644 +--- a/arch/arm/boot/dts/bcm2708.dtsi ++++ b/arch/arm/boot/dts/bcm2708.dtsi +@@ -43,6 +43,26 @@ + #size-cells = <0>; + status = "disabled"; + }; ++ ++ i2c0: i2c@7e205000 { ++ compatible = "brcm,bcm2708-i2c"; ++ reg = <0x7e205000 0x1000>; ++ interrupts = <2 21>; ++ clocks = <&clk_i2c>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "disabled"; ++ }; ++ ++ i2c1: i2c@7e804000 { ++ compatible = "brcm,bcm2708-i2c"; ++ reg = <0x7e804000 0x1000>; ++ interrupts = <2 21>; ++ clocks = <&clk_i2c>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "disabled"; ++ }; + }; + + clocks { +@@ -50,6 +70,13 @@ + #address-cells = <1>; + #size-cells = <0>; + ++ clk_i2c: i2c { ++ compatible = "fixed-clock"; ++ reg = <1>; ++ #clock-cells = <0>; ++ clock-frequency = <250000000>; ++ }; ++ + clk_spi: clock@2 { + compatible = "fixed-clock"; + reg = <2>; +diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c +index 8750634..728cb69 100644 +--- a/drivers/i2c/busses/i2c-bcm2708.c ++++ b/drivers/i2c/busses/i2c-bcm2708.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -302,6 +303,21 @@ static int bcm2708_i2c_probe(struct platform_device *pdev) + unsigned long bus_hz; + u32 cdiv; + ++ if (pdev->dev.of_node) { ++ u32 bus_clk_rate; ++ pdev->id = of_alias_get_id(pdev->dev.of_node, "i2c"); ++ if (pdev->id < 0) { ++ dev_err(&pdev->dev, "alias is missing\n"); ++ return -EINVAL; ++ } ++ if (!of_property_read_u32(pdev->dev.of_node, ++ "clock-frequency", &bus_clk_rate)) ++ baudrate = bus_clk_rate; ++ else ++ dev_warn(&pdev->dev, ++ "Could not read clock-frequency property\n"); ++ } ++ + regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!regs) { + dev_err(&pdev->dev, "could not get IO memory\n"); +@@ -335,6 +351,7 @@ static int bcm2708_i2c_probe(struct platform_device *pdev) + adap->dev.parent = &pdev->dev; + adap->nr = pdev->id; + strlcpy(adap->name, dev_name(&pdev->dev), sizeof(adap->name)); ++ adap->dev.of_node = pdev->dev.of_node; + + switch (pdev->id) { + case 0: +@@ -415,10 +432,17 @@ static int bcm2708_i2c_remove(struct platform_device *pdev) + return 0; + } + ++static const struct of_device_id bcm2708_i2c_of_match[] = { ++ { .compatible = "brcm,bcm2708-i2c" }, ++ {}, ++}; ++MODULE_DEVICE_TABLE(of, bcm2708_i2c_of_match); ++ + static struct platform_driver bcm2708_i2c_driver = { + .driver = { + .name = DRV_NAME, + .owner = THIS_MODULE, ++ .of_match_table = bcm2708_i2c_of_match, + }, + .probe = bcm2708_i2c_probe, + .remove = bcm2708_i2c_remove, +-- +2.0.3 + + +From f98cb89177702f75fe56e3ab4fdf24ccd47a43ba Mon Sep 17 00:00:00 2001 +From: notro +Date: Tue, 29 Jul 2014 11:05:18 +0200 +Subject: [PATCH 74/75] bcm2708: don't register i2c controllers when using DT + +The devices for the i2c controllers are in the Device Tree. +Only register devices when not using DT. + +Signed-off-by: Noralf Tronnes +--- + arch/arm/mach-bcm2708/bcm2708.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c +index d227f9b..f67e552 100644 +--- a/arch/arm/mach-bcm2708/bcm2708.c ++++ b/arch/arm/mach-bcm2708/bcm2708.c +@@ -560,6 +560,7 @@ static struct spi_board_info bcm2708_spi_devices[] = { + }; + #endif + ++#ifndef CONFIG_OF + static struct resource bcm2708_bsc0_resources[] = { + { + .start = BSC0_BASE, +@@ -598,6 +599,7 @@ static struct platform_device bcm2708_bsc1_device = { + .num_resources = ARRAY_SIZE(bcm2708_bsc1_resources), + .resource = bcm2708_bsc1_resources, + }; ++#endif + + static struct platform_device bcm2835_hwmon_device = { + .name = "bcm2835_hwmon", +@@ -828,8 +830,8 @@ void __init bcm2708_init(void) + bcm_register_device(&bcm2708_alsa_devices[i]); + + bcm_register_device_dt(&bcm2708_spi_device); +- bcm_register_device(&bcm2708_bsc0_device); +- bcm_register_device(&bcm2708_bsc1_device); ++ bcm_register_device_dt(&bcm2708_bsc0_device); ++ bcm_register_device_dt(&bcm2708_bsc1_device); + + bcm_register_device(&bcm2835_hwmon_device); + bcm_register_device(&bcm2835_thermal_device); +-- +2.0.3 + + +From 30d2c6249691737507c4b054f3224fddc0595ee0 Mon Sep 17 00:00:00 2001 +From: notro +Date: Tue, 29 Jul 2014 11:05:39 +0200 +Subject: [PATCH 75/75] i2c: bcm2835: make driver available on ARCH_BCM2708 + +Make this driver available on ARCH_BCM2708 + +Signed-off-by: Noralf Tronnes +--- + drivers/i2c/busses/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig +index 09c620f..64e5e8a 100644 +--- a/drivers/i2c/busses/Kconfig ++++ b/drivers/i2c/busses/Kconfig +@@ -338,7 +338,7 @@ config I2C_AU1550 + + config I2C_BCM2835 + tristate "Broadcom BCM2835 I2C controller" +- depends on ARCH_BCM2835 ++ depends on ARCH_BCM2835 || ARCH_BCM2708 + help + If you say yes to this option, support will be included for the + BCM2835 I2C controller. +-- +2.0.3