brcm2708: update 4.1 patches
authorFelix Fietkau <nbd@openwrt.org>
Fri, 11 Sep 2015 16:32:00 +0000 (16:32 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 11 Sep 2015 16:32:00 +0000 (16:32 +0000)
As usual, this patches were taken (and rebased) from
https://github.com/raspberrypi/linux/commits/rpi-4.1.y

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

169 files changed:
target/linux/brcm2708/bcm2708/config-4.1
target/linux/brcm2708/bcm2709/config-4.1
target/linux/brcm2708/patches-4.1/0001-Main-bcm2708-bcm2709-linux-port.patch
target/linux/brcm2708/patches-4.1/0002-Add-bcm2708_gpio-driver.patch
target/linux/brcm2708/patches-4.1/0003-mailbox-bcm2708-Add-bcm2708-vcio.patch
target/linux/brcm2708/patches-4.1/0004-Add-dwc_otg-driver.patch
target/linux/brcm2708/patches-4.1/0005-bcm2708-watchdog-driver.patch
target/linux/brcm2708/patches-4.1/0006-bcm2708-framebuffer-driver.patch
target/linux/brcm2708/patches-4.1/0007-dmaengine-Add-support-for-BCM2708.patch
target/linux/brcm2708/patches-4.1/0008-MMC-added-alternative-MMC-driver.patch
target/linux/brcm2708/patches-4.1/0009-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
target/linux/brcm2708/patches-4.1/0010-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
target/linux/brcm2708/patches-4.1/0011-bcm2708-alsa-sound-driver.patch
target/linux/brcm2708/patches-4.1/0012-bcm2708-vchiq-driver.patch
target/linux/brcm2708/patches-4.1/0013-vc_mem-Add-vc_mem-driver.patch
target/linux/brcm2708/patches-4.1/0014-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
target/linux/brcm2708/patches-4.1/0015-Add-hwrng-hardware-random-number-generator-driver.patch
target/linux/brcm2708/patches-4.1/0016-lirc-added-support-for-RaspberryPi-GPIO.patch
target/linux/brcm2708/patches-4.1/0017-Add-cpufreq-driver.patch
target/linux/brcm2708/patches-4.1/0018-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
target/linux/brcm2708/patches-4.1/0019-Add-Chris-Boot-s-spi-driver.patch
target/linux/brcm2708/patches-4.1/0020-Add-Chris-Boot-s-i2c-driver.patch
target/linux/brcm2708/patches-4.1/0021-bcm2835-add-v4l2-camera-device.patch
target/linux/brcm2708/patches-4.1/0022-scripts-dtc-Update-to-upstream-version-with-overlay-.patch
target/linux/brcm2708/patches-4.1/0023-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
target/linux/brcm2708/patches-4.1/0024-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
target/linux/brcm2708/patches-4.1/0025-BCM2708-Add-core-Device-Tree-support.patch
target/linux/brcm2708/patches-4.1/0026-fbdev-add-FBIOCOPYAREA-ioctl.patch
target/linux/brcm2708/patches-4.1/0029-Speed-up-console-framebuffer-imageblit-function.patch
target/linux/brcm2708/patches-4.1/0030-Allow-mac-address-to-be-set-in-smsc95xx.patch
target/linux/brcm2708/patches-4.1/0031-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
target/linux/brcm2708/patches-4.1/0032-Added-Device-IDs-for-August-DVB-T-205.patch
target/linux/brcm2708/patches-4.1/0033-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
target/linux/brcm2708/patches-4.1/0034-ASoC-Add-support-for-BCM2708.patch
target/linux/brcm2708/patches-4.1/0035-ASoC-Add-support-for-PCM5102A-codec.patch
target/linux/brcm2708/patches-4.1/0036-BCM2708-Add-I2S-support-to-board-file.patch
target/linux/brcm2708/patches-4.1/0037-ASoC-Add-support-for-HifiBerry-DAC.patch
target/linux/brcm2708/patches-4.1/0038-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
target/linux/brcm2708/patches-4.1/0039-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
target/linux/brcm2708/patches-4.1/0040-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
target/linux/brcm2708/patches-4.1/0041-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
target/linux/brcm2708/patches-4.1/0042-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
target/linux/brcm2708/patches-4.1/0043-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
target/linux/brcm2708/patches-4.1/0044-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
target/linux/brcm2708/patches-4.1/0045-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
target/linux/brcm2708/patches-4.1/0046-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
target/linux/brcm2708/patches-4.1/0047-Added-support-for-HiFiBerry-DAC.patch
target/linux/brcm2708/patches-4.1/0048-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
target/linux/brcm2708/patches-4.1/0049-bcm2708-Allow-option-card-devices-to-be-configured-v.patch
target/linux/brcm2708/patches-4.1/0050-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch
target/linux/brcm2708/patches-4.1/0051-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch
target/linux/brcm2708/patches-4.1/0052-Update-ds1307-driver-for-device-tree-support.patch
target/linux/brcm2708/patches-4.1/0053-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
target/linux/brcm2708/patches-4.1/0054-bcm2709-Simplify-and-strip-down-IRQ-handler.patch
target/linux/brcm2708/patches-4.1/0055-Fix-LED-input-trigger-implementation-for-3.19.patch
target/linux/brcm2708/patches-4.1/0056-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
target/linux/brcm2708/patches-4.1/0057-pinctrl-bcm2835-bcm2835_gpio_direction_output-must-s.patch
target/linux/brcm2708/patches-4.1/0058-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
target/linux/brcm2708/patches-4.1/0059-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
target/linux/brcm2708/patches-4.1/0060-enc28j60-Add-device-tree-compatible-string-and-an-ov.patch
target/linux/brcm2708/patches-4.1/0061-Add-driver-for-rpi-proto.patch
target/linux/brcm2708/patches-4.1/0062-Add-Device-Tree-support-for-RPi-DAC.patch
target/linux/brcm2708/patches-4.1/0063-config-Add-default-configs.patch
target/linux/brcm2708/patches-4.1/0064-smsx95xx-fix-crimes-against-truesize.patch
target/linux/brcm2708/patches-4.1/0065-smsc95xx-Disable-turbo-mode-by-default.patch
target/linux/brcm2708/patches-4.1/0066-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch
target/linux/brcm2708/patches-4.1/0067-bcm2835-bcm2835_defconfig.patch
target/linux/brcm2708/patches-4.1/0068-BCM270x_DT-Add-mailbox-bcm2708-vcio.patch
target/linux/brcm2708/patches-4.1/0069-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch
target/linux/brcm2708/patches-4.1/0070-Improve-__copy_to_user-and-__copy_from_user-performa.patch
target/linux/brcm2708/patches-4.1/0071-bcm2835-audio-Create-the-platform-device-if-the-DT-n.patch
target/linux/brcm2708/patches-4.1/0072-ARM-bcm2835-Set-Serial-number-and-Revision.patch
target/linux/brcm2708/patches-4.1/0073-platform-Add-force_core-command-line-setting-to-boot.patch
target/linux/brcm2708/patches-4.1/0074-mach-bcm270x-Enable-the-building-of-pinctrl-bcm2835.patch
target/linux/brcm2708/patches-4.1/0075-BCM270X_DT-Document-the-i2s-mmap-overlay.patch
target/linux/brcm2708/patches-4.1/0076-bcm2835-sdhost-Improve-error-handling-and-recovery.patch
target/linux/brcm2708/patches-4.1/0077-ARM-bcm2835-Add-the-Raspberry-Pi-firmware-driver.patch
target/linux/brcm2708/patches-4.1/0078-config-Enable-ZSMALLOC-ZRAM-and-PGTABLE_MAPPING.patch
target/linux/brcm2708/patches-4.1/0079-Add-rpi-ft5406-overlay-Add-rpi-ft5406-driver-as-modu.patch
target/linux/brcm2708/patches-4.1/0080-Fix-driver-detection-failure-Check-that-the-buffer-r.patch
target/linux/brcm2708/patches-4.1/0081-config-Enable-8250-serial-port.patch
target/linux/brcm2708/patches-4.1/0082-config-Enable-POWER_RESET_GPIO.patch
target/linux/brcm2708/patches-4.1/0083-bcm2708-vcio-Remove-restriction-of-only-a-single-ins.patch
target/linux/brcm2708/patches-4.1/0084-BCM270X_DT-Create-a-core-clock-use-it-for-SPI-and-sd.patch
target/linux/brcm2708/patches-4.1/0085-BCM270X_DT-Add-MCP7941X-to-i2c-rtc-overlay.patch
target/linux/brcm2708/patches-4.1/0086-dts-overlays-document-DHT11-overlay.patch
target/linux/brcm2708/patches-4.1/0087-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
target/linux/brcm2708/patches-4.1/0088-BCM270x_DT-Default-Compute-Module-i2c-i2s-and-spi-su.patch
target/linux/brcm2708/patches-4.1/0089-BCM270X_DT-Sort-nodes-by-bus-address-and-consolidate.patch
target/linux/brcm2708/patches-4.1/0090-i2c-bcm2708-BCM270X_DT-Add-support-for-I2C2.patch
target/linux/brcm2708/patches-4.1/0091-BCM270X_DT-Correct-the-lirc-rpi-overlay-documentatio.patch
target/linux/brcm2708/patches-4.1/0092-bcm2835-sdhost-Further-improve-overclock-back-off.patch
target/linux/brcm2708/patches-4.1/0093-i2c-bcm2708-Increase-timeouts-to-allow-larger-transf.patch
target/linux/brcm2708/patches-4.1/0094-spi-bcm2708-Increase-timeout-from-150ms-to-1s.patch
target/linux/brcm2708/patches-4.1/0095-bcm2708-spi-Don-t-use-static-pin-configuration-with-.patch
target/linux/brcm2708/patches-4.1/0096-bcm2708-i2s-Don-t-use-static-pin-configuration-with-.patch
target/linux/brcm2708/patches-4.1/0097-serial-8250-Don-t-crash-when-nr_uarts-is-0.patch
target/linux/brcm2708/patches-4.1/0098-BCM270X_DT-Add-overlay-to-enable-uart1.patch
target/linux/brcm2708/patches-4.1/0099-spi-bcm2835-Support-pin-groups-other-than-7-11.patch
target/linux/brcm2708/patches-4.1/0100-BCM270X_DT-Change-pio_limit-of-sdhost-driver-to-1.patch
target/linux/brcm2708/patches-4.1/0101-bcm2835-sdhost-Clear-HBLC-for-PIO-mode.patch
target/linux/brcm2708/patches-4.1/0102-BCM270X_DT-I2S-needs-function-Alt2.patch
target/linux/brcm2708/patches-4.1/0103-configs-Incorporate-v4.1-dependency-changes.patch
target/linux/brcm2708/patches-4.1/0104-bcmrpi_defconfigs-Add-SND_SOC_WM8804_I2C-for-HifiBer.patch
target/linux/brcm2708/patches-4.1/0105-squash-BCM270X_DT-I2S-only-needs-Alt2-on-28-31.patch
target/linux/brcm2708/patches-4.1/0106-vchiq_arm-Two-cacheing-fixes.patch
target/linux/brcm2708/patches-4.1/0107-BCM270X_DT-Overlay-for-the-Fen-Logic-VGA666-board.patch
target/linux/brcm2708/patches-4.1/0108-Added-support-for-2-mcp2515-CAN-Bus-IC.patch
target/linux/brcm2708/patches-4.1/0109-mailbox-Enable-BCM2835-mailbox-support.patch
target/linux/brcm2708/patches-4.1/0110-mailbox-bcm2835-Fix-mailbox-full-detection.patch
target/linux/brcm2708/patches-4.1/0111-mailbox-bcm2835-Support-ARCH_BCM270x.patch
target/linux/brcm2708/patches-4.1/0112-ARM-bcm2835-Add-the-firmware-driver-information-to-t.patch
target/linux/brcm2708/patches-4.1/0113-firmware-bcm2835-Add-missing-property-tags.patch
target/linux/brcm2708/patches-4.1/0114-firmware-bcm2835-Support-ARCH_BCM270x.patch
target/linux/brcm2708/patches-4.1/0115-firmware-bcm2835-Support-legacy-mailbox-API.patch
target/linux/brcm2708/patches-4.1/0116-char-broadcom-Add-vcio-module.patch
target/linux/brcm2708/patches-4.1/0117-BCM270x-Switch-to-firmware-driver.patch
target/linux/brcm2708/patches-4.1/0118-bcm2835-Switch-to-firmware-driver.patch
target/linux/brcm2708/patches-4.1/0119-Merge-pull-request-1059-from-pelwell-rpi-4.0.y.patch
target/linux/brcm2708/patches-4.1/0120-vchiq_arm-Sort-out-the-vmalloc-case.patch
target/linux/brcm2708/patches-4.1/0121-spidev-Add-spidev-compatible-string-to-silence-warni.patch
target/linux/brcm2708/patches-4.1/0122-Merge-pull-request-1043-from-XECDesign-sense-4.0.patch
target/linux/brcm2708/patches-4.1/0123-leds-gpio-Implement-the-brightness_get-method.patch
target/linux/brcm2708/patches-4.1/0124-dmaengine-bcm2708-dmaengine-Fix-memory-leak-when-sto.patch
target/linux/brcm2708/patches-4.1/0125-BCM270X_DT-Fix-I2S-register-map.patch
target/linux/brcm2708/patches-4.1/0126-BCM2835_DT-Fix-I2S-register-map.patch
target/linux/brcm2708/patches-4.1/0127-config-Enable-SHT-drivers-for-raspberry-pi.patch
target/linux/brcm2708/patches-4.1/0128-BCM270X_DT-Correct-typo-in-overlays-README.patch
target/linux/brcm2708/patches-4.1/0129-bcm2835-sdhost-Add-the-ERASE-capability.patch
target/linux/brcm2708/patches-4.1/0130-bcm2835-sdhost-Ignore-CRC7-for-MMC-CMD1.patch
target/linux/brcm2708/patches-4.1/0131-BCM270X_DT-Add-unit-address-to-gpio-node-name.patch
target/linux/brcm2708/patches-4.1/0132-BCM270X_DT-Use-i2c_arm-for-rtc-and-bmp085-overlays.patch
target/linux/brcm2708/patches-4.1/0133-BCM2708_DT-CM-dtparams-for-audio-watchdog-and-RNG.patch
target/linux/brcm2708/patches-4.1/0134-vchiq-Use-firmware-API.patch
target/linux/brcm2708/patches-4.1/0135-thermal-bcm2835-Use-firmware-API.patch
target/linux/brcm2708/patches-4.1/0136-cpufreq-bcm2835-Use-firmware-API.patch
target/linux/brcm2708/patches-4.1/0137-fbdev-bcm2708-Use-firmware-API.patch
target/linux/brcm2708/patches-4.1/0138-bcm2835-Add-firmware-property-to-affected-devices.patch
target/linux/brcm2708/patches-4.1/0139-rpi-ft5406-Use-firmware-API.patch
target/linux/brcm2708/patches-4.1/0140-irqchip-bcm2835-Add-FIQ-support.patch
target/linux/brcm2708/patches-4.1/0141-dwc_otg-Add-ARCH_BCM2835-support.patch
target/linux/brcm2708/patches-4.1/0142-bcm2835-Use-DWC_OTG.patch
target/linux/brcm2708/patches-4.1/0143-Fix-RASPBERRYPI_FIRMWARE-dependents.patch
target/linux/brcm2708/patches-4.1/0144-vc_mem-Remove-unnecessary-include.patch
target/linux/brcm2708/patches-4.1/0145-configs-Remove-BCM2708_MBOX.patch
target/linux/brcm2708/patches-4.1/0146-bcm2708-vcio-Remove-module.patch
target/linux/brcm2708/patches-4.1/0147-Revert-firmware-bcm2835-Support-legacy-mailbox-API.patch
target/linux/brcm2708/patches-4.1/0148-pinctrl-bcm2835-Clear-the-event-latch-register-when-.patch
target/linux/brcm2708/patches-4.1/0149-dwc_otg-fiq_fsm-Make-high-speed-isochronous-strided-.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0150-added-basic-docker-support.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0151-bcm2835-camera-planar-packed-stride-length.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0154-BCM270X_DT-Add-pwm-and-pwm-2chan-overlays.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0155-spi-bcm2835-fallback-to-interrupt-for-polling-timeou.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0157-spi-bcm2835-fix-kbuild-compile-warnings-errors-and-a.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0158-spi-bcm2835-bcm2835_dma_release-can-be-static.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0160-dt-overlay-to-enable-dma-for-spi-driver.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0161-dt-overlay-added-documentation-of-spi-dma-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0162-rpisense-fb-add-low-light-mode-and-gamma-control.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0164-BCM270X_DT-README-add-note-on-indentation.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0165-bcm2708-dmaengine-Use-more-DMA-channels-but-not-12.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0166-staging-fbtft-Add-reset-to-fbtft_init_display_dt.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0167-BCM270X_DT-mz61581-Revert-to-spi-bcm2708.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0168-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0169-tpa6130a2-Add-headphone-switch-control.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0170-RaspiDAC3-support.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.1/0171-config-Add-SND_SOC_ADAU1701-module.patch [new file with mode: 0644]

index bc8baaf2e60327b7c7fa9a7bc3135e257bf1b5df..e177b987c4448e3b0f6bd8bebf35292e765e6fc8 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_BCM2708_GPIO=y
 CONFIG_BCM2708_VCHIQ=y
 CONFIG_BCM2708_VCMEM=y
 # CONFIG_BCM2708_WDT is not set
+# CONFIG_BCM2835_DEVGPIOMEM is not set
 CONFIG_BCM2835_MBOX=y
 CONFIG_BCM2835_WDT=y
 CONFIG_BCM_VCIO=y
index 98964643fa070e2c2a68b88b631310fb28dc24de..c8153cd567a7899bfaa4736e66db2f0f8e57d528 100644 (file)
@@ -47,6 +47,7 @@ CONFIG_BCM2708_VCHIQ=y
 CONFIG_BCM2708_VCMEM=y
 # CONFIG_BCM2708_WDT is not set
 CONFIG_BCM2709_DT=y
+# CONFIG_BCM2835_DEVGPIOMEM is not set
 CONFIG_BCM2835_MBOX=y
 CONFIG_BCM2835_WDT=y
 CONFIG_BCM_VCIO=y
index dbb839cea78417340aa4d711485ad0a82a6fac6d..80ad8c3461649e3f8b184ece659918c4bf14f2ba 100644 (file)
@@ -1,7 +1,7 @@
-From 6f0468a9f44474189135066bbeb8eecf8d99bebf Mon Sep 17 00:00:00 2001
+From 401f5d164bd797fe7c1d39fa3edfd0d517edaa62 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Sun, 12 May 2013 12:24:19 +0100
-Subject: [PATCH 001/148] Main bcm2708/bcm2709 linux port
+Subject: [PATCH 001/171] Main bcm2708/bcm2709 linux port
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index f61534e1ce621af0365cc02f3e2799c611e90733..386ebfb8f59ef660df94c1b55674a907885fa90b 100644 (file)
@@ -1,7 +1,7 @@
-From 0dcdc1b4040137f2e273f85355f8bcc431a83ca6 Mon Sep 17 00:00:00 2001
+From 26ba306075567b5627c4633f1b9cf1e8be963b08 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 8 Oct 2014 18:50:05 +0100
-Subject: [PATCH 002/148] Add bcm2708_gpio driver
+Subject: [PATCH 002/171] Add bcm2708_gpio driver
 
 Signed-off-by: popcornmix <popcornmix@gmail.com>
 
index 7aaf5861e791b2242c4d9b19d075e4eb91992d9b..c357644e2ecdbce01cb5512de7c7ef4b1d2f540e 100644 (file)
@@ -1,7 +1,7 @@
-From 4646501204922076db934dad7ec5c2d170daf104 Mon Sep 17 00:00:00 2001
+From a198016611e2c5dc9b3867b489eda80d4499f890 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 1 May 2015 19:11:03 +0200
-Subject: [PATCH 003/148] mailbox: bcm2708: Add bcm2708-vcio
+Subject: [PATCH 003/171] mailbox: bcm2708: Add bcm2708-vcio
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index ae50ec35ff54a86b30dcbea804e50b05d31e114d..12db8d7526365099c5b3e11b4fcb9cb5c17ec090 100644 (file)
@@ -1,7 +1,7 @@
-From a941db3fbb5241762f38ec031140ea47becfaeaa Mon Sep 17 00:00:00 2001
+From 5a6024182390194a4e0b3f05e20226dd89f7fa9d Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 1 May 2013 19:46:17 +0100
-Subject: [PATCH 004/148] Add dwc_otg driver
+Subject: [PATCH 004/171] Add dwc_otg driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index b38b51aaf7e2fc2d2bad929c165fcb68b3c1bf17..7dfbad9a60196dcab9881345041a6c45b285c481 100644 (file)
@@ -1,7 +1,7 @@
-From 85e2240b7c7cdcaf410a3746c07ceea0504fcf21 Mon Sep 17 00:00:00 2001
+From 5ec663250bcf18ee6d5792ab03ca49b15e2ea882 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 1 May 2013 19:54:32 +0100
-Subject: [PATCH 005/148] bcm2708 watchdog driver
+Subject: [PATCH 005/171] bcm2708 watchdog driver
 
 Signed-off-by: popcornmix <popcornmix@gmail.com>
 ---
index 6ce2ae6cbba1d627ed4b71dd0ddac572fb6e4b9e..65006d02f554fb5c9dc12df38d6a4a3960518663 100644 (file)
@@ -1,7 +1,7 @@
-From 4c7a97f1aaca30131495af59d21e1ba1f4be79d0 Mon Sep 17 00:00:00 2001
+From e41668dfdc984723c914401293db5757f5981330 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 17 Jun 2015 17:06:34 +0100
-Subject: [PATCH 006/148] bcm2708 framebuffer driver
+Subject: [PATCH 006/171] bcm2708 framebuffer driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 402b89a3f9f7c0480bf9554a0dec5cab3292f4ae..9f225878b6f8dbeeb6356908a49680eb2028b19d 100644 (file)
@@ -1,7 +1,7 @@
-From 8ac096712e565eea7627dbba7b72c0d13e9798b0 Mon Sep 17 00:00:00 2001
+From 04a4ceef489437512b4d40071e049950d56fbb27 Mon Sep 17 00:00:00 2001
 From: Florian Meier <florian.meier@koalo.de>
 Date: Fri, 22 Nov 2013 14:22:53 +0100
-Subject: [PATCH 007/148] dmaengine: Add support for BCM2708
+Subject: [PATCH 007/171] dmaengine: Add support for BCM2708
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index db4680a0317bdcb3593c6f3d81ae632b3da3fefd..0d1ddb76843be4826535e6f0463db2ad07e9ff2a 100644 (file)
@@ -1,7 +1,7 @@
-From d95bfdd2012a3dc5ae6feea819121d11ead9dbfc Mon Sep 17 00:00:00 2001
+From 3b0b17e88492b2b230b8ebfbee410f1ce1bd9472 Mon Sep 17 00:00:00 2001
 From: gellert <gellert@raspberrypi.org>
 Date: Fri, 15 Aug 2014 16:35:06 +0100
-Subject: [PATCH 008/148] MMC: added alternative MMC driver
+Subject: [PATCH 008/171] MMC: added alternative MMC driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index d4fc4e606be8d2bd11c49f75671413ec5dbdf32e..1f8d0b1ba4787ddabdbcdb74f518f3fac3a5dd1e 100644 (file)
@@ -1,7 +1,7 @@
-From 216f8f57dfe55688478495957bfda34d66cde9df Mon Sep 17 00:00:00 2001
+From 1f881b06a8bc697d0e662687152fdc9309ff051a Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 25 Mar 2015 17:49:47 +0000
-Subject: [PATCH 009/148] Adding bcm2835-sdhost driver, and an overlay to
+Subject: [PATCH 009/171] Adding bcm2835-sdhost driver, and an overlay to
  enable it
 
 BCM2835 has two SD card interfaces. This driver uses the other one.
index 1ef245b54c060f280e328f1f4a318e0bd8ba94f9..afea233c14d8e94ef85c31981797570715daad2a 100644 (file)
@@ -1,7 +1,7 @@
-From 656283956919c31ba61b1ebbb28531b408ad9cd5 Mon Sep 17 00:00:00 2001
+From 58f193da0a65393b6e4415529c93e443c0218cd1 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 3 Jul 2013 00:31:47 +0100
-Subject: [PATCH 010/148] cma: Add vc_cma driver to enable use of CMA
+Subject: [PATCH 010/171] cma: Add vc_cma driver to enable use of CMA
 
 Signed-off-by: popcornmix <popcornmix@gmail.com>
 
index 230eaec7e53c9067b6b478a7d137e661c57ac1a7..7e6555dc818318222e616077acf6c6be58e0b2d2 100644 (file)
@@ -1,7 +1,7 @@
-From fdd1856ca99e00dcc9edf4373ffd7e6e080b4293 Mon Sep 17 00:00:00 2001
+From 9479010a140e02e7fadc9d7276368ad31cf09e90 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 26 Mar 2012 22:15:50 +0100
-Subject: [PATCH 011/148] bcm2708: alsa sound driver
+Subject: [PATCH 011/171] bcm2708: alsa sound driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index d34d69714598039a3755f2d7ab77349ceb7e4e23..ba6c278205bb0a9dc02762ed5cc8adeb8af56964 100644 (file)
@@ -1,7 +1,7 @@
-From 48dac350e45f5e45aa29fedb1b79247f9b771233 Mon Sep 17 00:00:00 2001
+From 178b1b7f58f59dfa28882c090a5481b01229175c Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 2 Jul 2013 23:42:01 +0100
-Subject: [PATCH 012/148] bcm2708 vchiq driver
+Subject: [PATCH 012/171] bcm2708 vchiq driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 646afff12dbfb3811aa3cfc7a103ec8fdfd1afca..ecff3fa5f7bbb8b30521b510acc39096e8362e11 100644 (file)
@@ -1,7 +1,7 @@
-From af60d6d916093924188d0d532dbe181fe58b4e0d Mon Sep 17 00:00:00 2001
+From 7855d7e7caa631b3070612353b823ac4fafad349 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 17 Jun 2015 16:07:06 +0100
-Subject: [PATCH 013/148] vc_mem: Add vc_mem driver
+Subject: [PATCH 013/171] vc_mem: Add vc_mem driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index c6fb14a1c701f1095ddaa71953f8ce2b4d0f55dd..448ce00463a024dce3841629ab53f3c6f1025d45 100644 (file)
@@ -1,7 +1,7 @@
-From 3ba2f11104537f40460f840d40a2cb3427812310 Mon Sep 17 00:00:00 2001
+From a791bc11b84ba34966f21cec50e3bed1a7b5a0f1 Mon Sep 17 00:00:00 2001
 From: Tim Gover <tgover@broadcom.com>
 Date: Tue, 22 Jul 2014 15:41:04 +0100
-Subject: [PATCH 014/148] vcsm: VideoCore shared memory service for BCM2835
+Subject: [PATCH 014/171] vcsm: VideoCore shared memory service for BCM2835
 
 Add experimental support for the VideoCore shared memory service.
 This allows user processes to allocate memory from VideoCore's
index cce4a761aebede6d7b3e748fa57a7ff34a85a923..8bc02eb004f5bd8b489e0df4e2ef7187db3fc3ce 100644 (file)
@@ -1,7 +1,7 @@
-From b1a1f2fb6ed4ccaf466754512e545cbd5cf7ce3b Mon Sep 17 00:00:00 2001
+From 53bbc98101781c4c4a6a26e987439088423e1d5e Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 3 Jul 2013 00:51:55 +0100
-Subject: [PATCH 015/148] Add hwrng (hardware random number generator) driver
+Subject: [PATCH 015/171] Add hwrng (hardware random number generator) driver
 
 ---
  drivers/char/hw_random/Kconfig       |  13 +++-
index 496d952723b0319f6ce983f2dd7b7399a9e054b1..fd176d3b9e38d0359268cea37ddfadcbeabaaf37 100644 (file)
@@ -1,7 +1,7 @@
-From 5d006d177c4f6071bfb05594d600eecb35a1e9d3 Mon Sep 17 00:00:00 2001
+From 152c53ac6dfbebe4702389526cd04a995a20f71a Mon Sep 17 00:00:00 2001
 From: Aron Szabo <aron@aron.ws>
 Date: Sat, 16 Jun 2012 12:15:55 +0200
-Subject: [PATCH 016/148] lirc: added support for RaspberryPi GPIO
+Subject: [PATCH 016/171] 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
index 725bea8aab343c8659bc33f98ec343fa4eb49aec..833f2aece15d86edec2b84d77b87920aab498855 100644 (file)
@@ -1,7 +1,7 @@
-From 327ed0ed75f77f72f17e0c14bbcd30cdab584817 Mon Sep 17 00:00:00 2001
+From dd3d655617225b79fe9ae53075800fc05c17afca Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 3 Jul 2013 00:49:20 +0100
-Subject: [PATCH 017/148] Add cpufreq driver
+Subject: [PATCH 017/171] Add cpufreq driver
 
 Signed-off-by: popcornmix <popcornmix@gmail.com>
 ---
index 86a3270712c27d87d5c5678c9006229fc64b6a71..d63ff3ca0f9898d32e42ca56cb6881c4263e9560 100644 (file)
@@ -1,7 +1,7 @@
-From 40d8a3f8af68f312479b38b0e704b4fe57c97f4c Mon Sep 17 00:00:00 2001
+From f9f02cbb208f7b5b91851cbec11202cc2f1e4879 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 26 Mar 2013 19:24:24 +0000
-Subject: [PATCH 018/148] Added hwmon/thermal driver for reporting core
+Subject: [PATCH 018/171] Added hwmon/thermal driver for reporting core
  temperature. Thanks Dorian
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
index 0c02b84182206a924a0761b31b98f878d026d795..852e071e55b8f078d334550c97c758dfab9dd4a5 100644 (file)
@@ -1,7 +1,7 @@
-From f35d4ef360d9428cfe544b75ca3aedbf0a19f503 Mon Sep 17 00:00:00 2001
+From bdf3fc107c0849c132c643f5d88409ab170b06cf Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 17 Jun 2015 15:41:33 +0100
-Subject: [PATCH 019/148] Add Chris Boot's spi driver.
+Subject: [PATCH 019/171] Add Chris Boot's spi driver.
 
 spi: bcm2708: add device tree support
 
index ab823d06d8b4198bb9680a7a84e66a974a9b4c5f..63dd548d0f6bd310e89a78e111ca46fb93ff2bfc 100644 (file)
@@ -1,7 +1,7 @@
-From cc02f1ee1ee91b686290e05cf53df8bc83d03299 Mon Sep 17 00:00:00 2001
+From 33747296c5a59d9a21b6721d4bdfd200efcfede8 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 17 Jun 2015 15:44:08 +0100
-Subject: [PATCH 020/148] Add Chris Boot's i2c driver
+Subject: [PATCH 020/171] Add Chris Boot's i2c driver
 
 i2c-bcm2708: fixed baudrate
 
index f80484ca1203d340538a64c765e6a9e179bf99df..b5f1ca07ee98ce3d762bc3b8a49f060e65eb54db 100644 (file)
@@ -1,7 +1,7 @@
-From 6326185c97e8da25bcd0acacb4a0e9b388f6a76f Mon Sep 17 00:00:00 2001
+From 9860807d0dfd9ee237618f7bc298337491412c6e Mon Sep 17 00:00:00 2001
 From: Vincent Sanders <vincent.sanders@collabora.co.uk>
 Date: Wed, 30 Jan 2013 12:45:18 +0000
-Subject: [PATCH 021/148] bcm2835: add v4l2 camera device
+Subject: [PATCH 021/171] bcm2835: add v4l2 camera device
 
 - Supports raw YUV capture, preview, JPEG and H264.
 - Uses videobuf2 for data transfer, using dma_buf.
index 2392598e20703c950c336dcb635c0fb488523771..ae314a75fe85bedfa6936c941f4622a7318723d3 100644 (file)
@@ -1,7 +1,7 @@
-From 1383a48ac698b4253bb3dfac6a7407f58cddfa37 Mon Sep 17 00:00:00 2001
+From dc3b7a37d88e3072e1aa50569f8d565325450886 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 23 Jan 2015 14:48:55 +0000
-Subject: [PATCH 022/148] scripts/dtc: Update to upstream version with overlay
+Subject: [PATCH 022/171] scripts/dtc: Update to upstream version with overlay
  patches
 
 ---
index f4447186bfff5ff541d4eee9ceaa595e23ba2d10..33b76badf3d3caad31070d5940376ae7bb7178eb 100644 (file)
@@ -1,7 +1,7 @@
-From 9c388113f17ae4ea0c516d753d5cf3f69ceb0c87 Mon Sep 17 00:00:00 2001
+From dbdb2233c99ddb69a4b2143bae3450914d387fc1 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 11 May 2015 09:00:42 +0100
-Subject: [PATCH 023/148] scripts: Add mkknlimg and knlinfo scripts from tools
+Subject: [PATCH 023/171] scripts: Add mkknlimg and knlinfo scripts from tools
  repo
 
 The Raspberry Pi firmware looks for a trailer on the kernel image to
index 5d74e3fa8349b68f62503b5066256ca446dbb94f..e54e14d5fc09a226528ec74df7e8c8bc684a9528 100644 (file)
@@ -1,7 +1,7 @@
-From 2d9c312e5b7a52fc0e311f909bb475ecc68b1199 Mon Sep 17 00:00:00 2001
+From 451f30961d360c125bb9000e57f59ef3e0569b53 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 5 Dec 2014 17:26:26 +0000
-Subject: [PATCH 024/121] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
+Subject: [PATCH 024/171] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
 
 ---
  drivers/of/fdt.c | 29 ++++++++++++++++++++++++-----
index d906f6af21f1703b821133e14cffbd7ec3755694..066cdb40d9db14981c098ff3c5264ff620c4aade 100644 (file)
@@ -1,7 +1,7 @@
-From c18bed87cf9c823818221355bbe3508a60221080 Mon Sep 17 00:00:00 2001
+From 5c77587f9e377f9e30dfca468bee4532a3a10229 Mon Sep 17 00:00:00 2001
 From: notro <notro@tronnes.org>
 Date: Wed, 9 Jul 2014 14:46:08 +0200
-Subject: [PATCH 025/148] BCM2708: Add core Device Tree support
+Subject: [PATCH 025/171] BCM2708: Add core Device Tree support
 
 Add the bare minimum needed to boot BCM2708 from a Device Tree.
 
index 8af6d2ad5412bcc90f80fbb593b86398d4330a27..81d38a3d738c7f385f04b20354a0b8fe360969d9 100644 (file)
@@ -1,7 +1,7 @@
-From b957660f910ddcf5c7c43ebd20c347d3ef5c220f Mon Sep 17 00:00:00 2001
+From 7099f200c096aaf4cf79e5bfa41ce1e016e607ca Mon Sep 17 00:00:00 2001
 From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
 Date: Mon, 17 Jun 2013 13:32:11 +0300
-Subject: [PATCH 026/148] fbdev: add FBIOCOPYAREA ioctl
+Subject: [PATCH 026/171] fbdev: add FBIOCOPYAREA ioctl
 
 Based on the patch authored by Ali Gholami Rudi at
     https://lkml.org/lkml/2009/7/13/153
index f67b9997f493e1984a47aa5899754b006cb10135..8e4c07cacb41dce1df2c3b80c2bfc3cefb087ae9 100644 (file)
@@ -1,7 +1,7 @@
-From d8546609674b9071d86c884a750a99be111ff927 Mon Sep 17 00:00:00 2001
+From a82f0ad663b1f3964b5011201b23dd129240bf9f Mon Sep 17 00:00:00 2001
 From: Harm Hanemaaijer <fgenfb@yahoo.com>
 Date: Thu, 20 Jun 2013 20:21:39 +0200
-Subject: [PATCH 029/148] Speed up console framebuffer imageblit function
+Subject: [PATCH 029/171] 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
index 8ef4e905fe6ffd0a85cfffc1d0ffdb5a73524500..b1311e2539cbf8ee32c6e6bcebe8bac4eea02baa 100644 (file)
@@ -1,7 +1,7 @@
-From aa320d01565ccd90b5e6954b63724076cba88ca5 Mon Sep 17 00:00:00 2001
+From f6fffdcafda0f821fea364d437877a9b6d35c3e0 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 26 Mar 2013 17:26:38 +0000
-Subject: [PATCH 030/148] Allow mac address to be set in smsc95xx
+Subject: [PATCH 030/171] Allow mac address to be set in smsc95xx
 
 Signed-off-by: popcornmix <popcornmix@gmail.com>
 ---
index 34136abe83074adb187b61345a3fd622c227b65a..bb38e3f202a023aada180d4f32bffe54d8bc867c 100644 (file)
@@ -1,7 +1,7 @@
-From 4a703aa1cc152189682c173bb4d89ef8f9da6c21 Mon Sep 17 00:00:00 2001
+From 8e0d9ff1afc5b595eebf92b305e3e19af3fe06d9 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 8 May 2013 11:46:50 +0100
-Subject: [PATCH 031/148] enabling the realtime clock 1-wire chip DS1307 and
+Subject: [PATCH 031/171] 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
index 4dd51bbabaa478806a00351abbca9770658b75f3..c441260997ba0c4b8a4e032f329387c7a941ee50 100644 (file)
@@ -1,7 +1,7 @@
-From 7df25b626767cc1af02e6a3d1168796638616c96 Mon Sep 17 00:00:00 2001
+From 281e90871309b0d1a113c055c86757027de22c8b Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 3 Jul 2013 00:54:08 +0100
-Subject: [PATCH 032/148] Added Device IDs for August DVB-T 205
+Subject: [PATCH 032/171] Added Device IDs for August DVB-T 205
 
 ---
  drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
index 0343fb1dc8b16cab4e68612f81b55b0dcfc3894e..2a2f9b3980851e447f21724273418ef1a91baade 100644 (file)
@@ -1,7 +1,7 @@
-From 7a190806d076ec3adaab102f8dd2cfaca16c1067 Mon Sep 17 00:00:00 2001
+From 3af3746a509957ae4a0daa7b4a561c2a97870916 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 18 Dec 2013 22:16:19 +0000
-Subject: [PATCH 033/148] config: Enable CONFIG_MEMCG, but leave it disabled
+Subject: [PATCH 033/171] config: Enable CONFIG_MEMCG, but leave it disabled
  (due to memory cost). Enable with cgroup_enable=memory.
 
 ---
index 65fdfd37d5e4b97e5d43860a67c395fda3a272b1..216fd79455721ae3d52f55f4d99e84f5bbe0160f 100644 (file)
@@ -1,7 +1,7 @@
-From 6fb867c30ac9a24482bcccd69c146d526c8e89ec Mon Sep 17 00:00:00 2001
+From b02ef86d5728e7aa67775fc9761f04a2439a6c3a Mon Sep 17 00:00:00 2001
 From: Florian Meier <florian.meier@koalo.de>
 Date: Fri, 22 Nov 2013 14:33:38 +0100
-Subject: [PATCH 034/148] ASoC: Add support for BCM2708
+Subject: [PATCH 034/171] ASoC: Add support for BCM2708
 
 This driver adds support for digital audio (I2S)
 for the BCM2708 SoC that is used by the
index 53b8f487097ea1ea59bcccd79c598352b477125b..f8327fea343928f3466f7a98a4aef03d086892c0 100644 (file)
@@ -1,7 +1,7 @@
-From 6b65db90e60e189ae7fb310c73f203f422b50a5d Mon Sep 17 00:00:00 2001
+From 8c94146d33d522d6fbf5d2aff70676494631763b Mon Sep 17 00:00:00 2001
 From: Florian Meier <florian.meier@koalo.de>
 Date: Fri, 22 Nov 2013 14:59:51 +0100
-Subject: [PATCH 035/148] ASoC: Add support for PCM5102A codec
+Subject: [PATCH 035/171] ASoC: Add support for PCM5102A codec
 
 Some definitions to support the PCM5102A codec
 by Texas Instruments.
index a63bda2059a96aca59dff00530cb1d0d415c0228..e2bb20310035888163afd2653a83047f9c74f183 100644 (file)
@@ -1,7 +1,7 @@
-From 48e87b89080e40af51338d5966480753b09ef7d3 Mon Sep 17 00:00:00 2001
+From 5e5994dd4630230b7b044e458339180e873857ac Mon Sep 17 00:00:00 2001
 From: Florian Meier <florian.meier@koalo.de>
 Date: Fri, 22 Nov 2013 19:04:54 +0100
-Subject: [PATCH 036/148] BCM2708: Add I2S support to board file
+Subject: [PATCH 036/171] BCM2708: Add I2S support to board file
 
 Adds the required initializations for I2S
 to the board file of mach-bcm2708.
index 6c1e38eea83496c3262a6f90cd6fd23aa8e22f15..6415b7313a243fb7c0a73b2d8341649df58d42bc 100644 (file)
@@ -1,7 +1,7 @@
-From 0d1e38720f4aacf46480fdfb54b1d699ec08d619 Mon Sep 17 00:00:00 2001
+From fe18c4e02b8b0007e110b2029e021154b3ab2dd0 Mon Sep 17 00:00:00 2001
 From: Florian Meier <florian.meier@koalo.de>
 Date: Fri, 22 Nov 2013 19:19:08 +0100
-Subject: [PATCH 037/148] ASoC: Add support for HifiBerry DAC
+Subject: [PATCH 037/171] ASoC: Add support for HifiBerry DAC
 
 This adds a machine driver for the HifiBerry DAC.
 It is a sound card that can
index 6f5c239954a356ee60de135e96c631e998725b5e..f09e278403663a3e4ae5fe5dbd92057f7e7d5562 100644 (file)
@@ -1,7 +1,7 @@
-From 33a09a3e03ad860ab2783a2ba2f4b79f763ec756 Mon Sep 17 00:00:00 2001
+From e750b2fa5d490c5f0106f654d2270fae20ab7d18 Mon Sep 17 00:00:00 2001
 From: Florian Meier <florian.meier@koalo.de>
 Date: Fri, 22 Nov 2013 19:21:34 +0100
-Subject: [PATCH 038/148] BCM2708: Add HifiBerry DAC to board file
+Subject: [PATCH 038/171] BCM2708: Add HifiBerry DAC to board file
 
 This adds the initalization of the HifiBerry DAC
 to the mach-bcm2708 board file.
index 09ab274ddf052e6e47dffeaaec76e04fa592bb86..d9f847be6bf26d02d1db29153afd2f860d6ec6d2 100644 (file)
@@ -1,7 +1,7 @@
-From 2a71fe357bbabc53e589759ad980f9f4645f6d99 Mon Sep 17 00:00:00 2001
+From cebfb216daf7118a86d4b07086baedaa4ee298e7 Mon Sep 17 00:00:00 2001
 From: Florian Meier <florian.meier@koalo.de>
 Date: Fri, 6 Dec 2013 20:50:28 +0100
-Subject: [PATCH 039/148] ASoC: BCM2708: Add support for RPi-DAC
+Subject: [PATCH 039/171] ASoC: BCM2708: Add support for RPi-DAC
 
 This adds a machine driver for the RPi-DAC.
 
index f962993fc927a9d1fbec5d6497c1f2a4d300f221..19d8ecd661553147258eeadb7c7ef7852f300f11 100644 (file)
@@ -1,7 +1,7 @@
-From e6bf0295904cdcd9076615b25e3e9708a7aa26f4 Mon Sep 17 00:00:00 2001
+From 463e74adc05d41470cfecde946f98ebc59d89b4f Mon Sep 17 00:00:00 2001
 From: Daniel Matuschek <info@crazy-audio.com>
 Date: Wed, 15 Jan 2014 21:41:23 +0100
-Subject: [PATCH 040/148] ASoC: wm8804: Implement MCLK configuration options,
+Subject: [PATCH 040/171] 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
index 380055e219b6c08262a1cf403a67dc69007c4f45..5261db563ade7e187abb14d91522cf8a6e5b270f 100644 (file)
@@ -1,7 +1,7 @@
-From 3c00a5d6f700aadbddae2d1ce66bf1c005e57630 Mon Sep 17 00:00:00 2001
+From 7bcd053aa8b06e2be569213d0b7d0e72ab8da91e Mon Sep 17 00:00:00 2001
 From: Daniel Matuschek <info@crazy-audio.com>
 Date: Wed, 15 Jan 2014 21:42:08 +0100
-Subject: [PATCH 041/148] ASoC: BCM:Add support for HiFiBerry Digi. Driver is
+Subject: [PATCH 041/171] ASoC: BCM:Add support for HiFiBerry Digi. Driver is
  based on the patched WM8804 driver.
 
 Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
index 628d939559418ccdf99d227a02d32a8a58e52216..5f83d6dfae0874b76131d3c9b0a533f925025cc6 100644 (file)
@@ -1,7 +1,7 @@
-From ab2549a74dcee90dc017a08091ee4580550aa914 Mon Sep 17 00:00:00 2001
+From e47c3fdeecb7a3e138d44660de5ab2128a34265f Mon Sep 17 00:00:00 2001
 From: Daniel Matuschek <info@crazy-audio.com>
 Date: Thu, 16 Jan 2014 07:26:08 +0100
-Subject: [PATCH 042/148] BCM2708: Added support for HiFiBerry Digi board Board
+Subject: [PATCH 042/171] BCM2708: Added support for HiFiBerry Digi board Board
  initalization by I2C
 
 Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
index db857e18f9029cf04b08a537bd14984e312499b0..e3a4d09cca7135663684165832534d41c3524157 100644 (file)
@@ -1,7 +1,7 @@
-From 66e9a2c228b82d81b46de10621f4621098e169f9 Mon Sep 17 00:00:00 2001
+From 4e065559dadaff17498a017691adc096e7bbae2e Mon Sep 17 00:00:00 2001
 From: Daniel Matuschek <info@crazy-audio.com>
 Date: Thu, 16 Jan 2014 07:36:35 +0100
-Subject: [PATCH 043/148] ASoC: wm8804: Set idle_bias_off to false Idle bias
+Subject: [PATCH 043/171] ASoC: wm8804: Set idle_bias_off to false Idle bias
  has been change to remove warning on driver startup
 
 Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
index a030d41da2ad553833154a6dc14051cc07b36996..5fcfeebf311f4f778ced1e95a37af6b9d61a7bd6 100644 (file)
@@ -1,7 +1,7 @@
-From e2af7e8bdcf9e9ab3899eee75e821ba2976a86c6 Mon Sep 17 00:00:00 2001
+From 070ed9f4445bde2a425c65543278a89cbc68857c Mon Sep 17 00:00:00 2001
 From: Gordon Garrity <gordon@iqaudio.com>
 Date: Sat, 8 Mar 2014 16:56:57 +0000
-Subject: [PATCH 044/148] Add IQaudIO Sound Card support for Raspberry Pi
+Subject: [PATCH 044/171] Add IQaudIO Sound Card support for Raspberry Pi
 
 Set a limit of 0dB on Digital Volume Control
 
index de0eb960acb24fb1bd403d834b8e68cc29d3765a..590dd5bb368b30d0d8ec6ca0a303bb19b8c43be4 100644 (file)
@@ -1,7 +1,7 @@
-From 8cf49e40e46b9bef3ba7cb250153135329015a0e Mon Sep 17 00:00:00 2001
+From 60c815a4d391146705c0213642be0e3568ea1b7b Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 18 Jun 2014 13:42:01 +0100
-Subject: [PATCH 045/148] vmstat: Workaround for issue where dirty page count
+Subject: [PATCH 045/171] vmstat: Workaround for issue where dirty page count
  goes negative
 
 See:
index 4ce53d59dc05f0ef7997605ab5bdcaad4c45c598..e904f324d96f92605f77dcebc498667be6e9c46c 100644 (file)
@@ -1,7 +1,7 @@
-From ef61715b2dadf9e237c3d3efdff54838dafdc058 Mon Sep 17 00:00:00 2001
+From adb07aff7d57f6bf072cb98591015ed6f7556478 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 14 Jul 2014 22:02:09 +0100
-Subject: [PATCH 046/148] hid: Reduce default mouse polling interval to 60Hz
+Subject: [PATCH 046/171] hid: Reduce default mouse polling interval to 60Hz
 
 Reduces overhead when using X
 ---
index 3239253f3bc51775d12d24d7fc3c73cd9062dd23..aba36eb56633ec80193928cd897bf3d46a21fa63 100644 (file)
@@ -1,7 +1,7 @@
-From 2ed5cd5830ee0d32b50fdb9865c904897eed9bc3 Mon Sep 17 00:00:00 2001
+From 1408165cd6474613fb414f10d4c9a26f46c07c2b Mon Sep 17 00:00:00 2001
 From: Daniel Matuschek <info@crazy-audio.com>
 Date: Mon, 4 Aug 2014 10:06:56 +0200
-Subject: [PATCH 047/148] Added support for HiFiBerry DAC+
+Subject: [PATCH 047/171] Added support for HiFiBerry DAC+
 
 The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses
 a different codec chip (PCM5122), therefore a new driver is necessary.
index c34879fbce3280b933b2d4ab8637d5ad0ea43915..c1db16723fd5b1e6497a013b9c841f5017a6beea 100644 (file)
@@ -1,7 +1,7 @@
-From 304bf1caf8484bec3ae645839761b1ed320227c3 Mon Sep 17 00:00:00 2001
+From e4f72f2ce26695642af17308eb52c676aac0cbf8 Mon Sep 17 00:00:00 2001
 From: Daniel Matuschek <info@crazy-audio.com>
 Date: Mon, 4 Aug 2014 11:09:58 +0200
-Subject: [PATCH 048/148] Added driver for HiFiBerry Amp amplifier add-on board
+Subject: [PATCH 048/171] Added driver for HiFiBerry Amp amplifier add-on board
 
 The driver contains a low-level hardware driver for the TAS5713 and the
 drivers for the Raspberry Pi I2S subsystem.
index b069c108974f3fc45f7d23d92961157ed0455d21..cce07d1ed464905ad3543f26ebdc4e0442b8055b 100644 (file)
@@ -1,7 +1,7 @@
-From ed44696bbccff9cf2feede419b4e335f18e686ea Mon Sep 17 00:00:00 2001
+From b70b00c9ffe01ba04c66fac70abdf04ad72ffb1d Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 13 Apr 2015 19:14:18 +0100
-Subject: [PATCH 049/148] bcm2708: Allow option card devices to be configured
+Subject: [PATCH 049/171] bcm2708: Allow option card devices to be configured
  via DT
 
 If the kernel is built with Device Tree support, and if a DT blob
index 674c768248ddea9262c640efd18dd83beca46524..4c108ef8fbce34b8104bbd8ea8f1080b1ec02119 100644 (file)
@@ -1,7 +1,7 @@
-From 7549b31790752c201683aa1d3839eae680b88ba6 Mon Sep 17 00:00:00 2001
+From e5d0825e8b8af3bd83248b5227f819a243dc6e44 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 13 Apr 2015 18:45:39 +0100
-Subject: [PATCH 050/148] Adding Device Tree support for some RPi audio cards
+Subject: [PATCH 050/171] Adding Device Tree support for some RPi audio cards
 
 ---
  arch/arm/mach-bcm2709/bcm2709.c   | 143 ++++++++++++++++++++++++++++++++++++++
index 65951939310f0275a8a3eb34d376bf5825523b2b..22c8d1620713be5aeb15a32dca7beadb1ab9ed2a 100644 (file)
@@ -1,7 +1,7 @@
-From 98aa7a02be7161b743f1def20715d9c4e21e2a1e Mon Sep 17 00:00:00 2001
+From 9ec46a1866cc3e5f1f672fbf5d8763d28f4eba61 Mon Sep 17 00:00:00 2001
 From: Timo Kokkonen <tjko@iki.fi>
 Date: Wed, 29 Oct 2014 23:30:30 -0700
-Subject: [PATCH 051/148] Added support to reserve/enable a GPIO pin to be used
+Subject: [PATCH 051/171] Added support to reserve/enable a GPIO pin to be used
  from pps-gpio module (LinuxPPS). Enable PPS modules in default config for
  RPi.
 
index 28757350295a93dd2ac28ba51367b3b9e5f493bd..bd935b28c619ba0f10f5f1368ae51b99168b4692 100644 (file)
@@ -1,7 +1,7 @@
-From 3dc6b954bfb66e359c10a2e6c947b7eb3d9d93b3 Mon Sep 17 00:00:00 2001
+From fd5059a51e8a6e1ee8898d441496902ef25aa5d1 Mon Sep 17 00:00:00 2001
 From: Ryan Coe <bluemrp9@gmail.com>
 Date: Sat, 31 Jan 2015 18:25:49 -0700
-Subject: [PATCH 052/148] Update ds1307 driver for device-tree support
+Subject: [PATCH 052/171] Update ds1307 driver for device-tree support
 
 Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
 ---
index d6a4e077fc0e9fa2e5fc978e6f668bf8f73c6778..31498d5276288dcf6bbcf79bec6e1243234953ab 100644 (file)
@@ -1,7 +1,7 @@
-From 175e672036450144fc2e984a22dc26dce271ca82 Mon Sep 17 00:00:00 2001
+From ade319d70297e1258ae65ff733ae56b6ad51ec96 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 6 Feb 2015 13:50:57 +0000
-Subject: [PATCH 053/148] BCM270x_DT: Add pwr_led, and the required "input"
+Subject: [PATCH 053/171] BCM270x_DT: Add pwr_led, and the required "input"
  trigger
 
 The "input" trigger makes the associated GPIO an input.  This is to support
index 5415e27a94ec0e6ad1513fc3f657bb7dbd5e9067..c29f189f7c7e7bb2821147eb86df2e48e26144ef 100644 (file)
@@ -1,7 +1,7 @@
-From 39a6ff9b1ecb74c734606429647a9d783c7504f1 Mon Sep 17 00:00:00 2001
+From 06384c65ff1a351b024c19d4bc0febaf8fcead5d Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Fri, 20 Jun 2014 17:19:27 +0100
-Subject: [PATCH 054/148] bcm2709: Simplify and strip down IRQ handler
+Subject: [PATCH 054/171] bcm2709: Simplify and strip down IRQ handler
 
 ---
  arch/arm/include/asm/entry-macro-multi.S         |   2 +
index 516a2804282b15308542fec64c7ee5896d3a5a4f..3faf453eae7046ac0de5980cc65b8cb5368684fc 100644 (file)
@@ -1,7 +1,7 @@
-From d34fbe19c2d2c7bb36c2f6432529f8404144a135 Mon Sep 17 00:00:00 2001
+From 461dee6548a8872f4325c2a5b06be89abec33293 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Thu, 12 Feb 2015 11:17:53 +0000
-Subject: [PATCH 055/148] Fix LED "input" trigger implementation for 3.19
+Subject: [PATCH 055/171] Fix LED "input" trigger implementation for 3.19
 
 ---
  drivers/leds/leds-gpio.c             | 10 +++++++++-
index eda2d272bfc90ebe616471700f9b3310567f58d6..b6a77c224f30f89e0010f1bd398ac1563374bd95 100644 (file)
@@ -1,7 +1,7 @@
-From 430d332d3e87818f380939f70e9f6ad1d7ee4a56 Mon Sep 17 00:00:00 2001
+From 4c6915169fd00a9e67f75ebb4cd06b857c85e14f Mon Sep 17 00:00:00 2001
 From: notro <notro@tronnes.org>
 Date: Thu, 10 Jul 2014 13:59:47 +0200
-Subject: [PATCH 056/148] pinctrl-bcm2835: Set base to 0 give expected gpio
+Subject: [PATCH 056/171] pinctrl-bcm2835: Set base to 0 give expected gpio
  numbering
 
 Signed-off-by: Noralf Tronnes <notro@tronnes.org>
index e9538c0248b9b07d37050c5f1f5c4598b86d7757..02ff6fb34288f74693062d40a68c140b64805d4f 100644 (file)
@@ -1,7 +1,7 @@
-From 6a57f03cd6d659fb9851d9da5c56d2273de441b1 Mon Sep 17 00:00:00 2001
+From 9c59564e8d49582902e182a63eb7874da8bd37ac Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 4 Feb 2015 10:02:24 +0000
-Subject: [PATCH 057/148] pinctrl-bcm2835: bcm2835_gpio_direction_output must
+Subject: [PATCH 057/171] pinctrl-bcm2835: bcm2835_gpio_direction_output must
  set the value
 
 ---
index bf46ca19b40677a64662f0fa89468c74074eb143..b89350a219da1391c825848204d43885c372b260 100644 (file)
@@ -1,7 +1,7 @@
-From cb824c3bbea4e7a8d970f2b0b6739bb6c739400e Mon Sep 17 00:00:00 2001
+From 713683712ac68c709d93bd0f22b3bfb69a5f6f24 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 24 Feb 2015 13:40:50 +0000
-Subject: [PATCH 058/148] pinctrl-bcm2835: Fix interrupt handling for GPIOs
+Subject: [PATCH 058/171] pinctrl-bcm2835: Fix interrupt handling for GPIOs
  28-31 and 46-53
 
 Contrary to the documentation, the BCM2835 GPIO controller actually has
index afeeaa24d2cb8f57e3664b4285066228b16883c7..6fbdd2300f04b3d3779caf8c3f564c9f1a2b4ffe 100644 (file)
@@ -1,7 +1,7 @@
-From 7b6f8a3a905ffa22aea67b0e0c2ad5551598e01f Mon Sep 17 00:00:00 2001
+From aed134d5558d95d0dd7e9ed9946469df3aaffc88 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Thu, 26 Feb 2015 09:58:22 +0000
-Subject: [PATCH 059/148] pinctrl-bcm2835: Only request the interrupts listed
+Subject: [PATCH 059/171] pinctrl-bcm2835: Only request the interrupts listed
  in the DTB
 
 Although the GPIO controller can generate three interrupts (four counting
index 9e12b3c54d9785e468a2c7420ed9955961c60c24..85bf00f7590f56144b78ad0562343415f3f9eb04 100644 (file)
@@ -1,7 +1,7 @@
-From c00a18aab58f8f35d01a203d6a6812e9d9c27aad Mon Sep 17 00:00:00 2001
+From 17b8fc6380028724a3c1e67b132818a3ad9d06d3 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 27 Feb 2015 15:10:24 +0000
-Subject: [PATCH 060/148] enc28j60: Add device tree compatible string and an
+Subject: [PATCH 060/171] enc28j60: Add device tree compatible string and an
  overlay
 
 ---
index 7eef78df064f8e5fa5915d79f9d5cfa971fefb69..80daeb3bd9355bea2587da221cbfe8f2f5d705dc 100644 (file)
@@ -1,7 +1,7 @@
-From 09dce3fc3ac247ed3f09649d03498b50e7bda3f7 Mon Sep 17 00:00:00 2001
+From 45764fde4d7a1651812511d66cb5c888c8f90b1c Mon Sep 17 00:00:00 2001
 From: Waldemar Brodkorb <wbrodkorb@conet.de>
 Date: Wed, 25 Mar 2015 09:26:17 +0100
-Subject: [PATCH 061/148] Add driver for rpi-proto
+Subject: [PATCH 061/171] Add driver for rpi-proto
 
 Forward port of 3.10.x driver from https://github.com/koalo
 We are using a custom board and would like to use rpi 3.18.x
index eb5691986395d9439b1cee51f81c5183700141f6..9936686c5fbb7efe6aad8e2a89ddd1633231d368 100644 (file)
@@ -1,7 +1,7 @@
-From 6bebfa1c83eaef7e74130d772af46882136fe7e6 Mon Sep 17 00:00:00 2001
+From 4ca7cab423cf8252fd5c3f70e0e172b08f30eab6 Mon Sep 17 00:00:00 2001
 From: Clive Messer <clive.m.messer@gmail.com>
 Date: Thu, 2 Apr 2015 12:22:55 +0100
-Subject: [PATCH 062/148] Add Device Tree support for RPi-DAC.
+Subject: [PATCH 062/171] Add Device Tree support for RPi-DAC.
 
 ---
  sound/soc/bcm/rpi-dac.c     | 21 +++++++++++++++++++++
index 549b6eb07c7b88ff613692835d608695808243dc..e7ebcad0a464acf6989ff44596c755df509cc0dc 100644 (file)
@@ -1,7 +1,7 @@
-From 587f77c07d823708192c2d3d9232d9bdd826b845 Mon Sep 17 00:00:00 2001
+From 634fa57de42fce5ed25f81b2e2b59f8edd64620f Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 13 Apr 2015 17:16:29 +0100
-Subject: [PATCH 063/148] config: Add default configs
+Subject: [PATCH 063/171] config: Add default configs
 
 ---
  arch/arm/configs/bcm2709_defconfig | 1204 ++++++++++++++++++++++++++++++++++++
index ea05503884aac23ab4c0ff5420c88f6f9ae6b776..3187e924d560694598e653ed1d52a4cf6e10633c 100644 (file)
@@ -1,7 +1,7 @@
-From 3c0758bef1d20342889a1b8f2a61e1911eef9f5d Mon Sep 17 00:00:00 2001
+From 0bc4283840ab64da84c8853ffe625f85d4c1ab52 Mon Sep 17 00:00:00 2001
 From: Steve Glendinning <steve.glendinning@smsc.com>
 Date: Thu, 19 Feb 2015 18:47:12 +0000
-Subject: [PATCH 064/148] smsx95xx: fix crimes against truesize
+Subject: [PATCH 064/171] smsx95xx: fix crimes against truesize
 
 smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings.
 
index d1847bba8bf2777d6935697f0076d61c55b7468c..6d40f25fd705e165721b746ea64e76dbd86ceaf2 100644 (file)
@@ -1,7 +1,7 @@
-From 167467c3b8bf94b09d40e60267454dacb90ec8ea Mon Sep 17 00:00:00 2001
+From 5339a416569f6f751859ca0534e8571f63e88138 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Fri, 17 Apr 2015 16:58:45 +0100
-Subject: [PATCH 065/148] smsc95xx: Disable turbo mode by default
+Subject: [PATCH 065/171] smsc95xx: Disable turbo mode by default
 
 ---
  drivers/net/usb/smsc95xx.c | 2 +-
index b15e5b8c8af2ff686d5da913e367d7f297c7d15b..16cf17d20247d40ac7c2c2b9a2b543d3a25e6f47 100644 (file)
@@ -1,7 +1,7 @@
-From 3394c3b27330d5d20e11d02210b4e63a53cd22e0 Mon Sep 17 00:00:00 2001
+From 15a557851ec3e164a5f766543c133b0bbae1e988 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 17 Apr 2015 19:30:22 +0100
-Subject: [PATCH 066/148] Add blk_pos parameter to mmc multi_io_quirk callback
+Subject: [PATCH 066/171] Add blk_pos parameter to mmc multi_io_quirk callback
 
 ---
  drivers/mmc/card/block.c          | 1 +
index ea604675a974131d8ab47a4e379fd525279ad2c6..185a8c514bae027583c45f252d6b38a60daae622 100644 (file)
@@ -1,7 +1,7 @@
-From b64bc32acd5a5c13259516a95ae1564ac4b2f1cb Mon Sep 17 00:00:00 2001
+From 9ebff814cb85c6a89d814719ddbd8a173ae00096 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Wed, 29 Apr 2015 17:24:02 +0200
-Subject: [PATCH 067/148] bcm2835: bcm2835_defconfig
+Subject: [PATCH 067/171] bcm2835: bcm2835_defconfig
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index ce872639bb8ede15dcdc0c6ec46980075f49030a..5b909c87e86b20fd8680c13a487a98a8b34d5400 100644 (file)
@@ -1,7 +1,7 @@
-From 95bce14bde6d7235c1852cc555624d1f8c110f69 Mon Sep 17 00:00:00 2001
+From ff16594cfebb06205fc70fd8d14de57acae92502 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 1 May 2015 23:00:15 +0200
-Subject: [PATCH 068/148] BCM270x_DT: Add mailbox bcm2708-vcio
+Subject: [PATCH 068/171] BCM270x_DT: Add mailbox bcm2708-vcio
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 0a8bad84223c690daaa062ec05589e6353f6b856..cd13ccd3b532348bd9a3a2b78131727699f55830 100644 (file)
@@ -1,7 +1,7 @@
-From 510d194d2dbfafc448fc82f9d74a676f75e96323 Mon Sep 17 00:00:00 2001
+From 899b0e6b639a2f2ae386ef314a25388903fd40c0 Mon Sep 17 00:00:00 2001
 From: Gordon Hollingworth <gordon@raspberrypi.org>
 Date: Tue, 12 May 2015 14:47:56 +0100
-Subject: [PATCH 069/148] rpi-ft5406: Add touchscreen driver for pi LCD display
+Subject: [PATCH 069/171] rpi-ft5406: Add touchscreen driver for pi LCD display
 
 ---
  drivers/input/touchscreen/Kconfig             |   7 +
index 1385d1c0ca54b51ac1c183fb6f9a51aa04636c9b..001d0289573571978bd9ae7fd09539b35dc13057 100644 (file)
@@ -1,7 +1,7 @@
-From e8c84e58d7e57adb7cd10dd471222eb944b3bc62 Mon Sep 17 00:00:00 2001
+From 275c3679e7e3be706d11e5b60a1c75249b108343 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 13 Oct 2014 11:47:53 +0100
-Subject: [PATCH 070/148] Improve __copy_to_user and __copy_from_user
+Subject: [PATCH 070/171] Improve __copy_to_user and __copy_from_user
  performance
 
 Provide a __copy_from_user that uses memcpy. On BCM2708, use
index dae3d097a81e4515fa7fc48cb844175b043d33e5..1564477a93b53e561e654bf4794d816ea640dfc2 100644 (file)
@@ -1,7 +1,7 @@
-From 628dbab26b97ba2ea43791e2f1587115dc4e224b Mon Sep 17 00:00:00 2001
+From 1236bce6c9de357503fc9a8546288c765a94d00c Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 27 May 2015 17:22:15 +0100
-Subject: [PATCH 071/148] bcm2835-audio: Create the platform device if the DT
+Subject: [PATCH 071/171] bcm2835-audio: Create the platform device if the DT
  node is disabled
 
 For backwards compatibility, allow the built-in ALSA driver to be enabled
index 086a75b15db908ba0d9039374ed89e9455ce298d..f637fe91dd8decbddac22768865cfc9965fe9b03 100644 (file)
@@ -1,7 +1,7 @@
-From 577a59069e50c2c675d7be5c024a1501f24271a4 Mon Sep 17 00:00:00 2001
+From ceb4d98acd8bb3f0934c8519769d4b7258b648dd Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Wed, 3 Jun 2015 12:26:13 +0200
-Subject: [PATCH 072/148] ARM: bcm2835: Set Serial number and Revision
+Subject: [PATCH 072/171] ARM: bcm2835: Set Serial number and Revision
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 7ba10573d8e46ab0a646910cf9b55113dabdafd3..f99e1dbc948b0f027129c35f0a36df0a03ba79f2 100644 (file)
@@ -1,7 +1,7 @@
-From 2b0194651fab870c094638cbda17b36d43353e2e Mon Sep 17 00:00:00 2001
+From 6c898089019ae79598f0d7608cc63a60c3964aca Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 16 Jun 2015 17:47:27 +0100
-Subject: [PATCH 073/148] platform: Add force_core command line setting to boot
+Subject: [PATCH 073/171] platform: Add force_core command line setting to boot
  from a different core number
 
 ---
index 878bcfb264362f398c15305465833e3ac0af6f8d..a32d16dd3f6a9b973fe2ce10f1f4b5ed902d42f7 100644 (file)
@@ -1,7 +1,7 @@
-From 84aca867e5cb35ba0abdcd4a9963a55e64c31c56 Mon Sep 17 00:00:00 2001
+From 70bc0daf8746308750f5f50e2b35780af0600064 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Thu, 18 Jun 2015 17:46:17 +0100
-Subject: [PATCH 074/148] mach-bcm270x: Enable the building of pinctrl-bcm2835
+Subject: [PATCH 074/171] mach-bcm270x: Enable the building of pinctrl-bcm2835
 
 ---
  drivers/pinctrl/Makefile | 1 +
index 18d8e5a5b7f32f0eac4457a87516983ac629746f..0a3f7f81e808bf8683fa3df1b8af325e1edbc8f0 100644 (file)
@@ -1,7 +1,7 @@
-From 10b20886a5c2f337e6607f8bd24dff7fdaa1186d Mon Sep 17 00:00:00 2001
+From 4bf502d06dbd4c7f4bb89e3ba1a6306c39d1710a Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 19 Jun 2015 16:41:39 +0100
-Subject: [PATCH 075/148] BCM270X_DT: Document the i2s-mmap overlay
+Subject: [PATCH 075/171] BCM270X_DT: Document the i2s-mmap overlay
 
 ---
  arch/arm/boot/dts/overlays/README | 6 ++++++
index 859dc030e3636f53e341fb79ad7330260725e03e..cf7589754936f069d981ede8c28523215063149a 100644 (file)
@@ -1,7 +1,7 @@
-From 23d5b7edb052559fcac15a305d3f665aa432831c Mon Sep 17 00:00:00 2001
+From 16e7c9f047567799b3309217c44ac071b4677c63 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 17 Jun 2015 11:36:53 +0100
-Subject: [PATCH 076/148] bcm2835-sdhost: Improve error handling and recovery
+Subject: [PATCH 076/171] bcm2835-sdhost: Improve error handling and recovery
 
 1) Expose the hw_reset method to the MMC framework, removing many
    internal calls by the driver.
index ec668dea589b609fdefadd5b8760fc22268d909a..292cfedff18a69da727e1a639b0ec869a38c673f 100644 (file)
@@ -1,7 +1,7 @@
-From dc305fc3389b68e35f7ef905884073eb947e52f3 Mon Sep 17 00:00:00 2001
+From 4a41e2e553ae0fe0766aa54108da5661b305ee05 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Thu, 4 Jun 2015 13:11:46 -0700
-Subject: [PATCH 077/148] ARM: bcm2835: Add the Raspberry Pi firmware driver
+Subject: [PATCH 077/171] ARM: bcm2835: Add the Raspberry Pi firmware driver
 
 This gives us a function for making mailbox property channel requests
 of the firmware, which is most notable in that it will let us get and
index 3597bf93bdcc9bd00f662e3fee35c620ca7407f5..67fb65792daf5efb7140d4068de8b630ef92550c 100644 (file)
@@ -1,7 +1,7 @@
-From 4c2c484dd79a0a4f56e31d228cebf9735ce1a9ac Mon Sep 17 00:00:00 2001
+From b0c824459ac639a528c6d1cfcbafdb9d88ec303b Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Sun, 22 Mar 2015 13:33:23 +0000
-Subject: [PATCH 078/148] config: Enable ZSMALLOC, ZRAM and PGTABLE_MAPPING
+Subject: [PATCH 078/171] config: Enable ZSMALLOC, ZRAM and PGTABLE_MAPPING
 
 ---
  arch/arm/configs/bcm2709_defconfig | 4 ++++
index 7db1853635d9991671e6b3b386dc34884f77e1f5..ec90d03d6a52a7860a075da26456440559eb3e24 100644 (file)
@@ -1,7 +1,7 @@
-From 81aedd19fa0515db2fbb474951be86ca692c394e Mon Sep 17 00:00:00 2001
+From 0d1f25af42a19f652489abfb637a9e05920115fe Mon Sep 17 00:00:00 2001
 From: Gordon Hollingworth <gordon@fiveninjas.com>
 Date: Mon, 22 Jun 2015 16:27:07 +0100
-Subject: [PATCH 079/148] Add rpi-ft5406 overlay Add rpi-ft5406 driver as
+Subject: [PATCH 079/171] Add rpi-ft5406 overlay Add rpi-ft5406 driver as
  module
 
 ---
index b4cedef0962e22d0e8d362418ddf79277c3dc0ca..8f62474477eb20662a2ada7ae19c4d178908b0e8 100644 (file)
@@ -1,7 +1,7 @@
-From 94b88ebdb90e6b3ae6eca18355a2ff318041318f Mon Sep 17 00:00:00 2001
+From 0e76c9361112e7a88d08b3bf3d23c6ba936de01e Mon Sep 17 00:00:00 2001
 From: Gordon Hollingworth <gordon@fiveninjas.com>
 Date: Tue, 23 Jun 2015 09:53:40 +0100
-Subject: [PATCH 080/148] Fix driver detection failure Check that the buffer
+Subject: [PATCH 080/171] Fix driver detection failure Check that the buffer
  response is non-zero meaning the touchscreen was detected
 
 ---
index 905993130b8c85bdf54df5291ba290929cf635f9..17220c918c0c886f37afda7454f9c74a403c10a1 100644 (file)
@@ -1,7 +1,7 @@
-From 5c2ff90c5b6087442f8ba6a9f7bc6557b6db62e8 Mon Sep 17 00:00:00 2001
+From 1bf89f45672e473ad8b24207714b1dad0cb6eaf9 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 23 Jun 2015 13:24:01 +0100
-Subject: [PATCH 081/148] config: Enable 8250 serial port
+Subject: [PATCH 081/171] config: Enable 8250 serial port
 
 ---
  arch/arm/configs/bcm2709_defconfig | 7 +++++++
index cddc679a0baf7f88269f78f7dcae694e5526bd84..28f25d3c1bef9c1405eb3d996debb0fa05e9cd1b 100644 (file)
@@ -1,7 +1,7 @@
-From 2272606d5aee8fc6f420f3edce8c0ef9f11dc1f0 Mon Sep 17 00:00:00 2001
+From dd5ba35cd8aa9cda437ea874aaf3f21c7397fb54 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 23 Jun 2015 14:10:58 +0100
-Subject: [PATCH 082/148] config: Enable POWER_RESET_GPIO
+Subject: [PATCH 082/171] config: Enable POWER_RESET_GPIO
 
 ---
  arch/arm/configs/bcm2709_defconfig | 2 ++
index e035f4b543419d1f497f8e21c9d20ac22a0fe4b0..d5518fea321a467aeb289d75b5a8b6be88600079 100644 (file)
@@ -1,7 +1,7 @@
-From 9fa64d590a4f206f604b4b78bf61fc17c94e1d5d Mon Sep 17 00:00:00 2001
+From 4e5881da660ecbdb759d1730defdc091999b1893 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Fri, 26 Jun 2015 17:37:38 +0100
-Subject: [PATCH 083/148] bcm2708-vcio: Remove restriction of only a single
+Subject: [PATCH 083/171] bcm2708-vcio: Remove restriction of only a single
  instance being open
 
 We need more than one process to be able to use mailbox interface (e.g. HW cursor in fbturbo and hello_fft).
index d6276ce05a0155cc209a12a8a75734bde31a8edb..f8deea01b886966c9e3becf2cf109906fa1e1ac1 100644 (file)
@@ -1,7 +1,7 @@
-From de3f225e647da316e52ed34b4129a6b512f2892f Mon Sep 17 00:00:00 2001
+From 4a613efefd7ee59661a1f73fd9ebd5656ed33bd2 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 26 Jun 2015 08:39:19 +0100
-Subject: [PATCH 084/148] BCM270X_DT: Create a "core" clock, use it for SPI and
+Subject: [PATCH 084/171] BCM270X_DT: Create a "core" clock, use it for SPI and
  sdhost
 
 ---
index be3be78dd31029d34751ff8b2ab80c54c3e31d0c..694e68ab8d7b2d2460722f729d2098c9f5beb99b 100644 (file)
@@ -1,7 +1,7 @@
-From 016d0929fffe98d94188cff48aa4454e78942855 Mon Sep 17 00:00:00 2001
+From 124d2c655233f0b53ec262321586f0500f4eb610 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 24 Jun 2015 09:24:31 +0100
-Subject: [PATCH 085/148] BCM270X_DT: Add MCP7941X to i2c-rtc overlay
+Subject: [PATCH 085/171] BCM270X_DT: Add MCP7941X to i2c-rtc overlay
 
 ---
  arch/arm/boot/dts/overlays/README              | 3 +++
index bc5eab30a3491b12bdc65ed3c9dcb1c3f02e03c1..d5fdd5431fdad9a770b529c6454a3a92fd502408 100644 (file)
@@ -1,7 +1,7 @@
-From c9695bc0ae507aceb723b385eaf8733b9b8a3c45 Mon Sep 17 00:00:00 2001
+From f820aa6457e3c07a1a994a68c67e044810c482ae Mon Sep 17 00:00:00 2001
 From: P33M <P33M@github.com>
 Date: Wed, 24 Jun 2015 11:23:06 +0100
-Subject: [PATCH 086/148] dts/overlays: document DHT11 overlay
+Subject: [PATCH 086/171] dts/overlays: document DHT11 overlay
 
 ---
  arch/arm/boot/dts/overlays/README | 8 ++++++++
index 04e3c582062164283b3f9be15e4a04d663e50354..d3395d0c1dac7f4927afdcf8ca68120f8c72c4b3 100644 (file)
@@ -1,7 +1,7 @@
-From f8d5316066987cfd355c2da083a411ff41515ed4 Mon Sep 17 00:00:00 2001
+From 54167a0f6d3ccb6a507eb270a52d17ef9f3723ec Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Thu, 25 Jun 2015 12:16:11 +0100
-Subject: [PATCH 087/148] gpio-poweroff: Allow it to work on Raspberry Pi
+Subject: [PATCH 087/171] gpio-poweroff: Allow it to work on Raspberry Pi
 
 The Raspberry Pi firmware manages the power-down and reboot
 process. To do this it installs a pm_power_off handler, causing
index c9b36ca44032800428533cee7881d6162dc7412c..099a626d7ba925144cdb3efe37eff022c6800fc3 100644 (file)
@@ -1,7 +1,7 @@
-From 23fdc62943363c31ca68bde9e7598fcee9b27cbf Mon Sep 17 00:00:00 2001
+From afb4d6a911d50ca4a64371a64650c4a89181fa70 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 17 Jun 2015 17:10:40 +0100
-Subject: [PATCH 088/148] BCM270x_DT: Default Compute Module i2c, i2s and spi
+Subject: [PATCH 088/171] BCM270x_DT: Default Compute Module i2c, i2s and spi
  support
 
 ---
index b7508a2a37bccc224ab9d647468dd7cbd489d31f..0e1782cce3075b3ba6df0c43471642ba46008d2b 100644 (file)
@@ -1,7 +1,7 @@
-From e9b92372565ede53c177c0edb5417d59c5c5b732 Mon Sep 17 00:00:00 2001
+From 0bdd14471d586c546f3bfcbf062fbdbe92500aff Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 22 Jun 2015 14:21:55 +0100
-Subject: [PATCH 089/148] BCM270X_DT: Sort nodes by bus address, and
+Subject: [PATCH 089/171] BCM270X_DT: Sort nodes by bus address, and
  consolidate aliases
 
 ---
index 44b9b8129ac84e0c5195e90bc674e49048824c47..dcd57fbef78ff4a97220f238333c7d5895e94b56 100644 (file)
@@ -1,7 +1,7 @@
-From fe34b48346183c588118ffe74360b2bc341a51e4 Mon Sep 17 00:00:00 2001
+From 779a2505afac554e6ebb5d0cd3979df9a10fbba9 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 22 Jun 2015 14:23:03 +0100
-Subject: [PATCH 090/148] i2c-bcm2708/BCM270X_DT: Add support for I2C2
+Subject: [PATCH 090/171] i2c-bcm2708/BCM270X_DT: Add support for I2C2
 
 The third I2C bus (I2C2) is normally reserved for HDMI use. Careless
 use of this bus can break an attached display - use with caution.
index a67d642f93a494f794138b8079c68d7beb3678b8..71648dfdfa89183ff270a730b4a1c587ec241c65 100644 (file)
@@ -1,7 +1,7 @@
-From 66fd44f83b2525c3ced483c041b5d23d6f0c8a9b Mon Sep 17 00:00:00 2001
+From d4f2ba8b1bb04c7d98c438d1b0fa698c3d15c377 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 29 Jun 2015 12:14:02 +0100
-Subject: [PATCH 091/148] BCM270X_DT: Correct the lirc-rpi overlay
+Subject: [PATCH 091/171] BCM270X_DT: Correct the lirc-rpi overlay
  documentation
 
 The polarity of the "sense" parameter was inverted with respect to reality.
index f67ba09906d9048f017dcb5119316787ec085d78..106415e5e82f61ceb8003c8b8b4bf66e194d21b1 100644 (file)
@@ -1,7 +1,7 @@
-From cf43a49e4ace4cbf98e135db16d47b4ee1378273 Mon Sep 17 00:00:00 2001
+From da37f481a3f0b884c3ef6dc2a8d57beb85bc9978 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Thu, 25 Jun 2015 08:47:09 +0100
-Subject: [PATCH 092/148] bcm2835-sdhost: Further improve overclock back-off
+Subject: [PATCH 092/171] bcm2835-sdhost: Further improve overclock back-off
 
 ---
  drivers/mmc/host/bcm2835-sdhost.c | 144 +++++++++++++++++++++-----------------
index 248f5246a19878760550d901372cd7f4a4ec7fe5..92411922dc2aec1d686f9506a82d4e77d8a5a163 100644 (file)
@@ -1,7 +1,7 @@
-From 7d7e3c816b4ea9993e03d6ca1c4f4093572b25a8 Mon Sep 17 00:00:00 2001
+From 1c2ab70602031acf8dee59ab16f46a24b71f5fb0 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 30 Jun 2015 10:28:59 +0100
-Subject: [PATCH 093/148] i2c-bcm2708: Increase timeouts to allow larger
+Subject: [PATCH 093/171] i2c-bcm2708: Increase timeouts to allow larger
  transfers
 
 Use the timeout value provided by the I2C_TIMEOUT ioctl when waiting
index ac7cb2fdd0d210bf708afe9fea52fd73b63d1efd..01257ed08d68e83ed4ea2cd04c106985d7bbd7da 100644 (file)
@@ -1,7 +1,7 @@
-From bb1fa51567d23d5ff27e4011257ee25bb97675d8 Mon Sep 17 00:00:00 2001
+From 1afcb794cb00c4fffa69f52b303970d785ace445 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 30 Jun 2015 10:33:52 +0100
-Subject: [PATCH 094/148] spi-bcm2708: Increase timeout from 150ms to 1s
+Subject: [PATCH 094/171] spi-bcm2708: Increase timeout from 150ms to 1s
 
 See: https://github.com/raspberrypi/linux/issues/260
 ---
index 4e1ba944eb74bc9ef192c4f9b4aa6e2a750a10d7..e43cdb480aacfd010c78dc204bf112f9509a7ed9 100644 (file)
@@ -1,7 +1,7 @@
-From 83a08affef9c792cbb0e986909e734ef9932a12e Mon Sep 17 00:00:00 2001
+From 569d970e387865052fe7e4c3dc0707efeb916af8 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 15 Jun 2015 09:59:38 +0100
-Subject: [PATCH 095/148] bcm2708-spi: Don't use static pin configuration with
+Subject: [PATCH 095/171] bcm2708-spi: Don't use static pin configuration with
  DT
 
 Also remove superfluous error checking - the SPI framework ensures the
index eadaeaebb5bce52df07001ab671199b7b1fb1fde..8c483cc9086eaee4ea710508da5a7b8d7bba6c2c 100644 (file)
@@ -1,7 +1,7 @@
-From 93ad20e6fe455b39b7bc0c970435a414ca49f09c Mon Sep 17 00:00:00 2001
+From 4d8a21adf20d84a9d5792e2f1fba32ecdd33872a Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 15 Jun 2015 10:10:59 +0100
-Subject: [PATCH 096/148] bcm2708-i2s: Don't use static pin configuration with
+Subject: [PATCH 096/171] bcm2708-i2s: Don't use static pin configuration with
  DT
 
 ---
index 0872eef252cc1308f941d9ff6bf1036ae42de73c..856658402a351d52c092f2ac1e6de67bc6bbde16 100644 (file)
@@ -1,7 +1,7 @@
-From 376c2c5f17f41d25e0da6c42544bd337b219af82 Mon Sep 17 00:00:00 2001
+From 3e379748c62a7b9b70d790bdd192ac9a3a8b6586 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 30 Jun 2015 14:12:42 +0100
-Subject: [PATCH 097/148] serial: 8250: Don't crash when nr_uarts is 0
+Subject: [PATCH 097/171] serial: 8250: Don't crash when nr_uarts is 0
 
 ---
  drivers/tty/serial/8250/8250_core.c | 2 ++
index 27e24406b979dcdd67a69a7255dd7e3f9e5c6ae7..ccf68356961c0600f5089c079e242177ef6a002e 100644 (file)
@@ -1,7 +1,7 @@
-From 00a68898d386e94e95cadca325b152b2094909d7 Mon Sep 17 00:00:00 2001
+From 98e84cdbce80fe8a8177fb1f42800af76b3da9ac Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 26 Jun 2015 08:50:11 +0100
-Subject: [PATCH 098/148] BCM270X_DT: Add overlay to enable uart1
+Subject: [PATCH 098/171] BCM270X_DT: Add overlay to enable uart1
 
 N.B. The UART1 clock is derived from the core clock. The firmware
 will update clock-frequency if core_freq is set, but be aware
index 90739e2a081a5389f71ade9a92540068e275aa32..f414d10abdf696d966d96344bbd54e1bac549ab3 100644 (file)
@@ -1,7 +1,7 @@
-From f2758fa42f4dc6a584648ce4fdaeab1ba2956cab Mon Sep 17 00:00:00 2001
+From 9ba47405b715872da8e0704767563da5f377f59a Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 24 Jun 2015 14:10:44 +0100
-Subject: [PATCH 099/148] spi-bcm2835: Support pin groups other than 7-11
+Subject: [PATCH 099/171] spi-bcm2835: Support pin groups other than 7-11
 
 The spi-bcm2835 driver automatically uses GPIO chip-selects due to
 some unreliability of the native ones. In doing so it chooses the
index 105819e93a4f35c521e2671b68436761288480a6..905328d980daa77bacfa343077de6b1bdb6991a3 100644 (file)
@@ -1,7 +1,7 @@
-From 7b204cc61246f8d36e5c26782ed6db027ece669c Mon Sep 17 00:00:00 2001
+From dcdcf9bbe4b8129ec95d3b49469512df565575cb Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 30 Jun 2015 17:37:38 +0100
-Subject: [PATCH 100/148] BCM270X_DT: Change pio_limit of sdhost driver to 1
+Subject: [PATCH 100/171] BCM270X_DT: Change pio_limit of sdhost driver to 1
 
 ---
  arch/arm/boot/dts/overlays/sdhost-overlay.dts | 2 +-
index 79d40ecbabf09e4bf097aad3a09d702c3f44537e..d034a50d2a4c7e4cb75f4c9a2b97946131996a0c 100644 (file)
@@ -1,7 +1,7 @@
-From 7b1af4332860714520c332a83e05654a5cee1478 Mon Sep 17 00:00:00 2001
+From c4b4cd3f5e0c6be67124fac4a7bbb5fb45de616c Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 1 Jul 2015 12:51:52 +0100
-Subject: [PATCH 101/148] bcm2835-sdhost: Clear HBLC for PIO mode
+Subject: [PATCH 101/171] bcm2835-sdhost: Clear HBLC for PIO mode
 
 Also update pio_limit default in overlay README.
 ---
index 19efe86ff3e96fc1b0a1d88574372aee71fb0ebe..fc898e633b5b98b49a7cb0d8646765a23c6cf270 100644 (file)
@@ -1,7 +1,7 @@
-From ee7ce47e28ef800120d1d52bf2aa72cb26192855 Mon Sep 17 00:00:00 2001
+From 078b8d9d1396bfb7c39b0e6a083ebf4818175f22 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 3 Jul 2015 12:21:01 +0100
-Subject: [PATCH 102/148] BCM270X_DT: I2S needs function Alt2
+Subject: [PATCH 102/171] BCM270X_DT: I2S needs function Alt2
 
 ---
  arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 2 +-
index 11e1f0f7ae575d12d935b00fe99e0b44b80f4aaa..ba5531ea167fdfce46f215f3b5088e1d5dd73ca7 100644 (file)
@@ -1,7 +1,7 @@
-From 662a767720003f3283d5222c32e2084b10868069 Mon Sep 17 00:00:00 2001
+From 9b4cdc0c703e872255cd735f4ab4d7be10ab5494 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:16:15 +0200
-Subject: [PATCH 103/148] configs: Incorporate v4.1 dependency changes
+Subject: [PATCH 103/171] configs: Incorporate v4.1 dependency changes
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 4e5d9c5d661c74b19ef06a42caccaa624955e7d3..cc7e4646d4efc95e75b24d4661b97e1ed775b978 100644 (file)
@@ -1,7 +1,7 @@
-From c08762271e447e9a58c5d8bec603aabfd5b0b016 Mon Sep 17 00:00:00 2001
+From 6b3b5732e77d6a36e9b09b59ccac0f63f2fa3ea3 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 3 Jul 2015 15:47:33 +0100
-Subject: [PATCH 104/148] bcmrpi_defconfigs: Add SND_SOC_WM8804_I2C (for
+Subject: [PATCH 104/171] bcmrpi_defconfigs: Add SND_SOC_WM8804_I2C (for
  HifiBerry Digi)
 
 4.1 has split out support for the I2C and SPI variants, so it now
index de03d25498105a9fb4dccf9857dd02c3afcd8faa..19d3762c03c3b606597f7f1fdf7f2b79cbf1438c 100644 (file)
@@ -1,7 +1,7 @@
-From b15b535e7efb3bf2cb60f4194fa2503203d7ace5 Mon Sep 17 00:00:00 2001
+From d55d55f560367a7392b531130b87d15ec12576ec Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Sat, 4 Jul 2015 19:55:23 +0100
-Subject: [PATCH 105/148] squash: BCM270X_DT: I2S only needs Alt2 on 28-31
+Subject: [PATCH 105/171] squash: BCM270X_DT: I2S only needs Alt2 on 28-31
 
 See: https://github.com/raspberrypi/linux/issues/1046
 ---
index 81c02423c4a8566d959008fb9b79ca3e6f5f41ff..110d49b7a9cc08b5a848505ea9470ecbcd2a3432 100644 (file)
@@ -1,7 +1,7 @@
-From cc9c5f1595655eee24d4e08d86a1760dc8c7ef36 Mon Sep 17 00:00:00 2001
+From fa6257d47be3fff4cf93de15a0bb59223d6a81b5 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 8 Jul 2015 14:48:57 +0100
-Subject: [PATCH 106/148] vchiq_arm: Two cacheing fixes
+Subject: [PATCH 106/171] vchiq_arm: Two cacheing fixes
 
 1) Make fragment size vary with cache line size
 Without this patch, non-cache-line-aligned transfers may corrupt
index cfeaa321d159d2dbdcadde4aa852be8a6428e35e..1f949b924fb3daaa0274bc2972b866c51f493470 100644 (file)
@@ -1,7 +1,7 @@
-From ee874bae0042910abccd54b90e411a852b4569ef Mon Sep 17 00:00:00 2001
+From 4cbd4845d011a08deb7d68956931f26011f3221e Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 30 Jun 2015 09:10:36 +0100
-Subject: [PATCH 107/148] BCM270X_DT: Overlay for the Fen Logic VGA666 board
+Subject: [PATCH 107/171] BCM270X_DT: Overlay for the Fen Logic VGA666 board
 
 The VGA666 board requires GPIOs 2-21 (so no I2C or UART). Using the
 overlay (instead of a custom dt-blob.bin) has the advantage that it will
index d161740930caa19131b125004f2917894f29104d..ea88a5f06cc9e8fa50149374e5d81fd0b7a8891d 100644 (file)
@@ -1,7 +1,7 @@
-From ecc55e30f8eab5fd63c50ff3276ccb77d7d0ce76 Mon Sep 17 00:00:00 2001
+From e3159f966a0094f895f488e799d697110f121f8c Mon Sep 17 00:00:00 2001
 From: petit-miner <cooker5000@gmail.com>
 Date: Fri, 10 Jul 2015 13:59:18 +0200
-Subject: [PATCH 108/148] Added support for 2 mcp2515 CAN Bus IC
+Subject: [PATCH 108/171] Added support for 2 mcp2515 CAN Bus IC
 
 See: https://github.com/raspberrypi/linux/issues/1018
      https://github.com/raspberrypi/linux/pull/1049
index 12818cee3522b455c306bd14b08dce8a3a77098c..ea455e26d87b3ddd4b48d5a4aa887a52ef18e57e 100644 (file)
@@ -1,7 +1,7 @@
-From 97b130d04ed860f89812755c8d576a548b13bd3b Mon Sep 17 00:00:00 2001
+From bde9f0667ad91c2846cd1d392b5a653c196d0834 Mon Sep 17 00:00:00 2001
 From: Lubomir Rintel <lkundrak@v3.sk>
 Date: Tue, 5 May 2015 13:27:45 -0700
-Subject: [PATCH 109/148] mailbox: Enable BCM2835 mailbox support
+Subject: [PATCH 109/171] mailbox: Enable BCM2835 mailbox support
 
 This mailbox driver provides a single mailbox channel to write 32-bit
 values to the VPU and get a 32-bit response.  The Raspberry Pi
index 98a12c89355391c8371c9bd05a821641af7aa1be..57d5b6a3539bdd95c5c9bd4c7c4998c44c17089f 100644 (file)
@@ -1,7 +1,7 @@
-From 38a0a5c357245cfe2b359277bc38509fa05c268d Mon Sep 17 00:00:00 2001
+From 012a954f49e5f22ead03df42c2775e2937824462 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Wed, 13 May 2015 13:10:32 -0700
-Subject: [PATCH 110/148] mailbox/bcm2835: Fix mailbox full detection.
+Subject: [PATCH 110/171] mailbox/bcm2835: Fix mailbox full detection.
 
 With the VC reader blocked and the ARM writing, MAIL0_STA reads empty
 permanently while MAIL1_STA goes from empty (0x40000000) to non-empty
index 332162149f973b4b495e4c31a0f026977778e903..be65103e16c0d597fe432a5b118317fc4e652173 100644 (file)
@@ -1,7 +1,7 @@
-From 593a12b7b0e1daaf0cd335a309bd18e68502daab Mon Sep 17 00:00:00 2001
+From f4e7bad1fa582b3e9890bc0a2de7696c7df5b9b1 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:19:30 +0200
-Subject: [PATCH 111/148] mailbox: bcm2835: Support ARCH_BCM270x
+Subject: [PATCH 111/171] mailbox: bcm2835: Support ARCH_BCM270x
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 4a456a952a2f98fb479ac57357cf6315aac89104..9cee8871a5c73bf9f12a8c66951f875afd48445c 100644 (file)
@@ -1,7 +1,7 @@
-From fe1043e681b28b6fb83c3ce49b3f15e783e84569 Mon Sep 17 00:00:00 2001
+From b1dd56c4c3f12e51f68618b1ffe80e6556bfa1bb Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Thu, 4 Jun 2015 13:11:47 -0700
-Subject: [PATCH 112/148] ARM: bcm2835: Add the firmware driver information to
+Subject: [PATCH 112/171] ARM: bcm2835: Add the firmware driver information to
  the RPi DT
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
index 53389732d1a16bb66be291ef1fabe358440e4b64..44fe17511ebd1f9876357f4b1c7928d5884a6486 100644 (file)
@@ -1,7 +1,7 @@
-From e7866e5a684f398a01abe84ceaebe0411976f3e9 Mon Sep 17 00:00:00 2001
+From 1bc4dbe1171d83354e7d5148181eeee5f035ae77 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:21:20 +0200
-Subject: [PATCH 113/148] firmware: bcm2835: Add missing property tags
+Subject: [PATCH 113/171] firmware: bcm2835: Add missing property tags
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 66d569818793fc7fc15dd767994c51c4d86ea7c0..406668286a6d989c8169c5b21115587d0a728cbe 100644 (file)
@@ -1,7 +1,7 @@
-From 6f0c28f26878f1d675dd660cfaed32822817d4d8 Mon Sep 17 00:00:00 2001
+From 557c84f3819fd730a006af48f582bc7afd2a7bf6 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:25:01 +0200
-Subject: [PATCH 114/148] firmware: bcm2835: Support ARCH_BCM270x
+Subject: [PATCH 114/171] firmware: bcm2835: Support ARCH_BCM270x
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index be705fef11db9b61a2de17ebcfd710026ed54fe2..bf620da696701ff90c6cd2853518dd460aaefbb2 100644 (file)
@@ -1,7 +1,7 @@
-From 40aa3c4f0c430cd5c574498f4d1d5e9f0bc1cf11 Mon Sep 17 00:00:00 2001
+From cb10982feb7da52315426d1a9980d49482071bb0 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:26:10 +0200
-Subject: [PATCH 115/148] firmware: bcm2835: Support legacy mailbox API
+Subject: [PATCH 115/171] firmware: bcm2835: Support legacy mailbox API
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 22fe21bed9b58716fa5279131dda47121a46552f..f87110263c1bc5f6e6ad5766f476d7dff13c195c 100644 (file)
@@ -1,7 +1,7 @@
-From 9b55578b9e72480f02b317b323b016b250554863 Mon Sep 17 00:00:00 2001
+From b04146cc3b6a76d6ab67068803a86ffdc8dcea0b Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:27:06 +0200
-Subject: [PATCH 116/148] char: broadcom: Add vcio module
+Subject: [PATCH 116/171] char: broadcom: Add vcio module
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index b13113cdd80db4c0c836d263fcbbb4e18e38d74a..dbae603e16799451baf443b70a2b8afde38e6193 100644 (file)
@@ -1,7 +1,7 @@
-From 96b48f6ba14e6e422f1c1d8a4e193ac1e9922c37 Mon Sep 17 00:00:00 2001
+From 50b7d8253ebbadbe4358f76f7ace99da821bd14b Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:37:19 +0200
-Subject: [PATCH 117/148] BCM270x: Switch to firmware driver
+Subject: [PATCH 117/171] BCM270x: Switch to firmware driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 436e14e4684c888dd6940cbd8bdd48351a5fc8df..b9c356c8b3c5a2a4ab3dbaf5974e5098722f88f8 100644 (file)
@@ -1,7 +1,7 @@
-From 8b67d17c70ce88f2ed14aec439e457accce0b37a Mon Sep 17 00:00:00 2001
+From d3412121ceefb00ff13d2f353bd6f5f15c2c3629 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 26 Jun 2015 14:39:21 +0200
-Subject: [PATCH 118/148] bcm2835: Switch to firmware driver
+Subject: [PATCH 118/171] bcm2835: Switch to firmware driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index d95e564acbd43220f1e1dc215943de8b43f03d15..3dd44c041bb8beeef67183b97f8bbd9ecf7628c3 100644 (file)
@@ -1,14 +1,14 @@
-From 35f9c869b55fa358e089d4394205082c5c825a27 Mon Sep 17 00:00:00 2001
+From ea390b711a1c1ceaf30d7a44a6b1eb59249456b6 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <pelwell@users.noreply.github.com>
 Date: Mon, 13 Jul 2015 13:25:31 +0100
-Subject: [PATCH 119/148] Merge pull request #1059 from pelwell/rpi-4.0.y
+Subject: [PATCH 119/171] Merge pull request #1059 from pelwell/rpi-4.0.y
 
 w1_therm: Back-port locking improvements from 4.2-rc1
 ---
- Documentation/ABI/stable/sysfs-driver-w1_ds28ea00 |   6 +
- Documentation/w1/slaves/w1_therm                  |  11 +-
- drivers/w1/slaves/w1_therm.c                      | 162 ++++++++++++++++++++--
- 3 files changed, 163 insertions(+), 16 deletions(-)
+ Documentation/ABI/stable/sysfs-driver-w1_ds28ea00 |   6 ++
+ Documentation/w1/slaves/w1_therm                  |  11 ++-
+ drivers/w1/slaves/w1_therm.c                      | 102 +++++++++++++++++++++-
+ 3 files changed, 117 insertions(+), 2 deletions(-)
  create mode 100644 Documentation/ABI/stable/sysfs-driver-w1_ds28ea00
 
 --- /dev/null
index f512ddf336febcaad10cbbc5f3815c1784d25317..4a0136c51213475985dc922a6b09a39df146db49 100644 (file)
@@ -1,7 +1,7 @@
-From dd3754783c478d9d4bb5cfc760194362ad195feb Mon Sep 17 00:00:00 2001
+From bf0e599855469ed27afeb8be37b7af8abe12610b Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 14 Jul 2015 11:11:51 +0100
-Subject: [PATCH 120/148] vchiq_arm: Sort out the vmalloc case
+Subject: [PATCH 120/171] vchiq_arm: Sort out the vmalloc case
 
 See: https://github.com/raspberrypi/linux/issues/1055
 ---
index d662445df3b6b685ef3d4ee38c347f8873b34a43..5db9588bc49f7186abb51fef645d7670a58a9bd8 100644 (file)
@@ -1,7 +1,7 @@
-From df38d99d8ba198b91a60b770a2e6bc8fa8a444df Mon Sep 17 00:00:00 2001
+From dcf79d117cc9268217f75b59eda5cfdd9c4a9308 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 14 Jul 2015 10:26:09 +0100
-Subject: [PATCH 121/148] spidev: Add "spidev" compatible string to silence
+Subject: [PATCH 121/171] spidev: Add "spidev" compatible string to silence
  warning
 
 See: https://github.com/raspberrypi/linux/issues/1054
index 59c1c7d2263b16299d2bf5136f6f9b0b4d9685a3..1df76e87b8eca7e06a0498858cc3e3fcdebc902d 100644 (file)
@@ -1,7 +1,7 @@
-From 910b89499e2db97931afa64b0db1b7d7640af3db Mon Sep 17 00:00:00 2001
+From 78ec7eb29bc516a9489684ff09d716823c9707ea Mon Sep 17 00:00:00 2001
 From: Phil Elwell <pelwell@users.noreply.github.com>
 Date: Tue, 14 Jul 2015 14:32:47 +0100
-Subject: [PATCH 122/148] Merge pull request #1043 from XECDesign/sense-4.0
+Subject: [PATCH 122/171] Merge pull request #1043 from XECDesign/sense-4.0
 
 mfd: Add Raspberry Pi Sense HAT core driver
 ---
index fa803bac43f5cc8e75cacc7cfd3146aa469df869..9fcbc9fb493632f768bd7d34d8d6c705fb78c02c 100644 (file)
@@ -1,7 +1,7 @@
-From b0482b8fe870cfc43e4f9a00470b267f27900ce7 Mon Sep 17 00:00:00 2001
+From eb6239a15073913d0e1bdef984f0fc0196d724e6 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 15 Jul 2015 13:46:08 +0100
-Subject: [PATCH 123/148] leds-gpio: Implement the brightness_get method
+Subject: [PATCH 123/171] leds-gpio: Implement the brightness_get method
 
 The power LED uses some clever logic that means it is driven
 by a voltage measuring circuit when configured as input, otherwise
index a952b1f5707bdd04038f6473813bc0b801e89cb0..440188cbb9558d971868f44e0ee52fc8cdfe8f2b 100644 (file)
@@ -1,7 +1,7 @@
-From 176730440c132bf74f6f7a7e34b6b9b087e1b55f Mon Sep 17 00:00:00 2001
+From 641ac228b60a8f279a82302bd21434241c8b5253 Mon Sep 17 00:00:00 2001
 From: Robert Tiemann <rtie@gmx.de>
 Date: Fri, 17 Jul 2015 09:50:55 +0200
-Subject: [PATCH 124/148] dmaengine: bcm2708-dmaengine: Fix memory leak when
+Subject: [PATCH 124/171] dmaengine: bcm2708-dmaengine: Fix memory leak when
  stopping a running transfer
 
 ---
index 4b78c055a793b5c7e2fd2f5623e3541d2d7d1427..4a6631e3ab134d35f10b8444789a1035e4f2a04c 100644 (file)
@@ -1,7 +1,7 @@
-From 7906fa935ee088391c6a3092374e477f51e799cd Mon Sep 17 00:00:00 2001
+From 5a632aea29485cab29a3882cdef4840bfea0dfad Mon Sep 17 00:00:00 2001
 From: Robert Tiemann <rtie@gmx.de>
 Date: Mon, 20 Jul 2015 11:01:13 +0200
-Subject: [PATCH 125/148] BCM270X_DT: Fix I2S register map
+Subject: [PATCH 125/171] BCM270X_DT: Fix I2S register map
 
 ---
  arch/arm/boot/dts/bcm2708_common.dtsi | 4 ++--
index 1bafc8225b281d8dad66f9a4273367205a3a64f1..d3ec496961d6354080e40959fc7d369bec5292fc 100644 (file)
@@ -1,7 +1,7 @@
-From f0618c918f9debe6e75a6b17d06268f264166965 Mon Sep 17 00:00:00 2001
+From 717b0ba4c783ec760698843cfaca991917a6b018 Mon Sep 17 00:00:00 2001
 From: Robert Tiemann <rtie@gmx.de>
 Date: Mon, 20 Jul 2015 11:01:25 +0200
-Subject: [PATCH 126/148] BCM2835_DT: Fix I2S register map
+Subject: [PATCH 126/171] BCM2835_DT: Fix I2S register map
 
 ---
  Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt   | 4 ++--
index e47fb736fcdbf85245ca5daf1648656546799c34..af4a02d039c8721962d066017750f9613e4bd1bb 100644 (file)
@@ -1,7 +1,7 @@
-From 167dc102f310fd58c9b5143f8a5c4cce65d51b69 Mon Sep 17 00:00:00 2001
+From 5009252fba13a69b9962a8ac38b909c60ea1af17 Mon Sep 17 00:00:00 2001
 From: David Frey <david.frey@sensirion.com>
 Date: Tue, 14 Jul 2015 15:57:36 +0200
-Subject: [PATCH 127/148] config: Enable SHT drivers for raspberry pi
+Subject: [PATCH 127/171] config: Enable SHT drivers for raspberry pi
 
 The SHT temperature and humidity sensors are often used in weather
 station projects.
index 0d2796cad5c8062470d4a737f9f771008ce85d4a..f4c92d0fcb6f987af2402910c9844608080b10a0 100644 (file)
@@ -1,7 +1,7 @@
-From 6c9ebd30d2a1c6ec36515b45235be02e61ced87e Mon Sep 17 00:00:00 2001
+From a5a93adfe8a9a39708386e7655e0a34c0a54046b Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 20 Jul 2015 14:07:14 +0100
-Subject: [PATCH 128/148] BCM270X_DT: Correct typo in overlays/README
+Subject: [PATCH 128/171] BCM270X_DT: Correct typo in overlays/README
 
 ---
  arch/arm/boot/dts/overlays/README | 2 +-
index 9f392ccd2dd9ebd43d5491c70a7e7b250d597933..c4787c9679906f805b0cec08f1ecd357b0a2bd4e 100644 (file)
@@ -1,7 +1,7 @@
-From fc3fb877e0c097321d9d8a2a4cb10d5c0d2fc6a0 Mon Sep 17 00:00:00 2001
+From a87e7abc9818c18b1fddd8748f2d5911392e9f6b Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 20 Jul 2015 10:53:26 +0100
-Subject: [PATCH 129/148] bcm2835-sdhost: Add the ERASE capability
+Subject: [PATCH 129/171] bcm2835-sdhost: Add the ERASE capability
 
 See: https://github.com/raspberrypi/linux/issues/1076
 ---
index 5e738bd2c5902059a9c327cdae09d24bcf89c408..9c4384c4d9d62571f852b73d38ae738545e8153e 100644 (file)
@@ -1,7 +1,7 @@
-From 34b107a036211e45ce06d2c1406fab77dc4ec3c7 Mon Sep 17 00:00:00 2001
+From 0bb775b407dab3bab972663ef47dde38b0d34c24 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 20 Jul 2015 17:32:18 +0100
-Subject: [PATCH 130/148] bcm2835-sdhost: Ignore CRC7 for MMC CMD1
+Subject: [PATCH 130/171] bcm2835-sdhost: Ignore CRC7 for MMC CMD1
 
 It seems that the sdhost interface returns CRC7 errors for CMD1,
 which is the MMC-specific SEND_OP_COND. Returning these errors to
index a35823db820289bc548585b988ca93402e4f12e9..4322f8d18ee8f7a960347bd5f3b290bef83dfbaa 100644 (file)
@@ -1,7 +1,7 @@
-From c9510f8f7162eb3f377ea9895cb6296cc81c0158 Mon Sep 17 00:00:00 2001
+From 35be60b77f30a3714e5cd42108bd819253fa12cd Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 20 Jul 2015 14:48:21 +0100
-Subject: [PATCH 131/148] BCM270X_DT: Add unit address to gpio node name
+Subject: [PATCH 131/171] BCM270X_DT: Add unit address to gpio node name
 
 ---
  arch/arm/boot/dts/bcm2708_common.dtsi | 2 +-
index 3c1f39988e59276a24e97652853d3fb00aa198db..237db4a9f32cdf6d411150edc457ae70f6f63044 100644 (file)
@@ -1,7 +1,7 @@
-From c9dce515346664285992ebac03a5fd9d63e9a964 Mon Sep 17 00:00:00 2001
+From 08b8ff16578a47be720dd09cb7324ff3e40c3caf Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 24 Jul 2015 10:36:32 +0100
-Subject: [PATCH 132/148] BCM270X_DT: Use i2c_arm for rtc and bmp085 overlays
+Subject: [PATCH 132/171] BCM270X_DT: Use i2c_arm for rtc and bmp085 overlays
 
 ---
  arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts | 2 +-
index abbc1438a85cd25905f56bea220739454dfdb487..6d83fd4a5f2fb8d78d3294a7d0d39526fbdc6abc 100644 (file)
@@ -1,7 +1,7 @@
-From 1126ca25bb63e74218db91e9abbe6bb4ba712f99 Mon Sep 17 00:00:00 2001
+From 95e74bed83011c25340e8d1b11d5dc95e8ff9bbc Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 24 Jul 2015 12:11:31 +0100
-Subject: [PATCH 133/148] BCM2708_DT: CM dtparams for audio, watchdog and RNG
+Subject: [PATCH 133/171] BCM2708_DT: CM dtparams for audio, watchdog and RNG
 
 ---
  arch/arm/boot/dts/bcm2708-rpi-cm.dtsi | 8 ++++----
index 5bf531c31296ca4b973362898d03faa680f0c7d9..8030328145eb695ee4fb0195f5fba207ac4487bd 100644 (file)
@@ -1,7 +1,7 @@
-From e3508264148f91aceb5f557d45eb29986c522f1e Mon Sep 17 00:00:00 2001
+From 91bfc5bf3bfb7830c1c35f8be90dc8c22156502d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Mon, 20 Jul 2015 12:13:18 +0200
-Subject: [PATCH 134/148] vchiq: Use firmware API
+Subject: [PATCH 134/171] vchiq: Use firmware API
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 6bb294be6f7710a17d2a497fee61ec88d43e52f6..395e896505c225e00e4e5ee86d0529665f10a108 100644 (file)
@@ -1,7 +1,7 @@
-From da339e29c12fc20d13610ed458082104b12e48f1 Mon Sep 17 00:00:00 2001
+From aaff8adb4df57975a4a1334bb274ffce42c071e2 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Mon, 20 Jul 2015 12:17:10 +0200
-Subject: [PATCH 135/148] thermal: bcm2835: Use firmware API
+Subject: [PATCH 135/171] thermal: bcm2835: Use firmware API
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 41a9a859a4103f3683b798aa4036a50aaedf45a7..0af25f36bf1994d40e5c17b915426a87b07e486b 100644 (file)
@@ -1,7 +1,7 @@
-From b5f2f604151dff8277c10cca8d3eab0ae9b55373 Mon Sep 17 00:00:00 2001
+From 020e1720dc926c944479da4ce0edd7508bc82d21 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Mon, 20 Jul 2015 12:18:36 +0200
-Subject: [PATCH 136/148] cpufreq: bcm2835: Use firmware API
+Subject: [PATCH 136/171] cpufreq: bcm2835: Use firmware API
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index d786ebd586ef7055f317a2779d4f89a653338b3a..c978c094c2ac4068271f35795d01bc6fb8cec8b8 100644 (file)
@@ -1,7 +1,7 @@
-From b436501db9136833c1e213d6efdb3b1c6e711bf1 Mon Sep 17 00:00:00 2001
+From f220fe12bab49d45cde9e00cd4aaf2f9bbc5ff5f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Mon, 20 Jul 2015 12:20:59 +0200
-Subject: [PATCH 137/148] fbdev: bcm2708: Use firmware API
+Subject: [PATCH 137/171] fbdev: bcm2708: Use firmware API
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index dbc387c2615edf26271da0707600438fcbf9abeb..34498685b726597b3152df179e2b079d861b9809 100644 (file)
@@ -1,7 +1,7 @@
-From 9be804b336947fd31728a74a34c7febf44d6b8a5 Mon Sep 17 00:00:00 2001
+From 687c5493ee74d58ee1084d3e01a534a1329f5f70 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Mon, 20 Jul 2015 12:27:17 +0200
-Subject: [PATCH 138/148] bcm2835: Add firmware property to affected devices
+Subject: [PATCH 138/171] bcm2835: Add firmware property to affected devices
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index eabd2cb0c48f3698ed63ec28b06b20d523f75473..4da7d907d38da7d0df608a75e5177f2fd4ad75a0 100644 (file)
@@ -1,7 +1,7 @@
-From 193a0cacacc91b8c5c3224d0090f342ccd64f45c Mon Sep 17 00:00:00 2001
+From 1c445d2c28dcbd90be62624bd9ae9bd88e564b96 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Tue, 21 Jul 2015 19:09:39 +0200
-Subject: [PATCH 139/148] rpi-ft5406: Use firmware API
+Subject: [PATCH 139/171] rpi-ft5406: Use firmware API
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index c29e9c2a5172e8493c75fb5a613e0d9d93fdd422..0d682740124ff40791280094db6f56c01f531485 100644 (file)
@@ -1,7 +1,7 @@
-From 062df639b84a36bd22559717b84524045025224c Mon Sep 17 00:00:00 2001
+From 0a90a21f533dbbf23a4b219cd9e8f8e3cfe7836a Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 12 Jun 2015 19:01:05 +0200
-Subject: [PATCH 140/148] irqchip: bcm2835: Add FIQ support
+Subject: [PATCH 140/171] irqchip: bcm2835: Add FIQ support
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 211cf0143a5f9f38b53b785a11c0ab110a79e1f6..9c99787487ecc8c9e983a182d826cb284c29a127 100644 (file)
@@ -1,7 +1,7 @@
-From 5b2e3f5dc51d75e3ed1aefc57f9520feadf63948 Mon Sep 17 00:00:00 2001
+From 509544e075da1920294a4e071bf2cc07e4175b25 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 24 Jul 2015 15:50:04 +0200
-Subject: [PATCH 141/148] dwc_otg: Add ARCH_BCM2835 support
+Subject: [PATCH 141/171] dwc_otg: Add ARCH_BCM2835 support
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 4d8b078d7dc84068192e40e18255642c51d28d52..801f31142e71807e6ab2ff003621c6a318c7c84d 100644 (file)
@@ -1,7 +1,7 @@
-From cdd86992209a3f4d5b896f05062a5550c39de95b Mon Sep 17 00:00:00 2001
+From 2a920968d6fe0e8e05664b11fa3185309a15ffc9 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 24 Jul 2015 15:50:24 +0200
-Subject: [PATCH 142/148] bcm2835: Use DWC_OTG
+Subject: [PATCH 142/171] bcm2835: Use DWC_OTG
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index bd2a7dc0066737367c4cf76f277b59b14d1eaf90..bf9e55fce7a6c354761b71e4f9b459a61bd72ea1 100644 (file)
@@ -1,7 +1,7 @@
-From 3817be453657d116131317525915d3e378d46fdc Mon Sep 17 00:00:00 2001
+From 47b2b8452f63267da699d5ca14fd5d2cec845b08 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 24 Jul 2015 19:33:16 +0200
-Subject: [PATCH 143/148] Fix RASPBERRYPI_FIRMWARE dependents
+Subject: [PATCH 143/171] Fix RASPBERRYPI_FIRMWARE dependents
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 3573d2828ad61619c1dd0a6a0b83d0ee8cbe8939..209b8adb300bcba1065006069e9102314b1f621b 100644 (file)
@@ -1,7 +1,7 @@
-From 5385d08b17b5eda5ed816978b29f50c6aad560ac Mon Sep 17 00:00:00 2001
+From 0ea3178f01b66564c3f68c0a2531e3d00a2ceb36 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 24 Jul 2015 19:33:46 +0200
-Subject: [PATCH 144/148] vc_mem: Remove unnecessary include
+Subject: [PATCH 144/171] vc_mem: Remove unnecessary include
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 651e674a84d932dea341cb55c4c2976c7dc72617..a45b47ce779e0e1774bfe70755930e8964230d58 100644 (file)
@@ -1,7 +1,7 @@
-From 6661f3e0e7db6a720e8b114510da8240d28db1ae Mon Sep 17 00:00:00 2001
+From 8486034f0a9ea21a67de2c996dfcf354229d1ef5 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 24 Jul 2015 19:34:06 +0200
-Subject: [PATCH 145/148] configs: Remove BCM2708_MBOX
+Subject: [PATCH 145/171] configs: Remove BCM2708_MBOX
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index f36c2d9dcb2da61cc1bb5d489ffaf38abcf70829..a5e0a3c0065a7bd7938134328a92958d508ef3cf 100644 (file)
@@ -1,7 +1,7 @@
-From 764892688e000751cdebf8fe20564b5fb1862ac1 Mon Sep 17 00:00:00 2001
+From 5df47c75bf7b4f3f913db669ccf5bb6da279751f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 24 Jul 2015 19:34:31 +0200
-Subject: [PATCH 146/148] bcm2708-vcio: Remove module
+Subject: [PATCH 146/171] bcm2708-vcio: Remove module
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index a5bcff50abb0235c1f7bf8fb488c2cffc849390d..aed71ac163f88144bc22644860a0cd94ce2d5950 100644 (file)
@@ -1,7 +1,7 @@
-From dc3946ac37e0c7aed74b0041f742a102d37af425 Mon Sep 17 00:00:00 2001
+From 345d2517a2e371b0b21c17f6667f68de602abdd2 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
 Date: Fri, 24 Jul 2015 19:34:55 +0200
-Subject: [PATCH 147/148] Revert "firmware: bcm2835: Support legacy mailbox
+Subject: [PATCH 147/171] Revert "firmware: bcm2835: Support legacy mailbox
  API"
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
index 076ff5a969c3fb27695d35141d1fdfbdc93feed4..76afdadd60c498a1eb72b802b7346e44a59b5c74 100644 (file)
@@ -1,7 +1,7 @@
-From 2a2dc4e5e4946e75b98c71eacc3660e913dbd302 Mon Sep 17 00:00:00 2001
+From 909e2b2c6b73991394f89769aa3fca05ab146d72 Mon Sep 17 00:00:00 2001
 From: Jonathan Bell <jonathan@raspberrypi.org>
 Date: Tue, 30 Jun 2015 12:35:39 +0100
-Subject: [PATCH 148/148] pinctrl: bcm2835: Clear the event latch register when
+Subject: [PATCH 148/171] pinctrl: bcm2835: Clear the event latch register when
  disabling interrupts
 
 It's possible to hit a race condition if interrupts are generated on a GPIO
diff --git a/target/linux/brcm2708/patches-4.1/0149-dwc_otg-fiq_fsm-Make-high-speed-isochronous-strided-.patch b/target/linux/brcm2708/patches-4.1/0149-dwc_otg-fiq_fsm-Make-high-speed-isochronous-strided-.patch
new file mode 100644 (file)
index 0000000..c3f481f
--- /dev/null
@@ -0,0 +1,134 @@
+From cab5abd144fc154c140f9f522c3c2f81a94aaa74 Mon Sep 17 00:00:00 2001
+From: P33M <P33M@github.com>
+Date: Tue, 4 Aug 2015 01:15:20 +0100
+Subject: [PATCH 149/171] dwc_otg: fiq_fsm: Make high-speed isochronous strided
+ transfers work properly
+
+Certain low-bandwidth high-speed USB devices (specialist audio devices,
+compressed-frame webcams) have packet intervals > 1 microframe.
+
+Stride these transfers in the FIQ by using the start-of-frame interrupt
+to restart the channel at the right time.
+---
+ drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c  | 17 +++++++++++++----
+ drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h  |  5 ++++-
+ drivers/usb/host/dwc_otg/dwc_otg_hcd.c      |  7 ++++++-
+ drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c |  6 ++++--
+ 4 files changed, 27 insertions(+), 8 deletions(-)
+
+--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
+@@ -615,8 +615,11 @@ static int notrace noinline fiq_fsm_do_s
+                       break;
+               case FIQ_HS_ISOC_SLEEPING:
+-                      state->channel[n].fsm = FIQ_HS_ISOC_TURBO;
+-                      fiq_fsm_restart_channel(state, n, 0);
++                      /* Is it time to wake this channel yet? */
++                      if (--state->channel[n].uframe_sleeps == 0) {
++                              state->channel[n].fsm = FIQ_HS_ISOC_TURBO;
++                              fiq_fsm_restart_channel(state, n, 0);
++                      }
+                       break;
+               case FIQ_PER_SSPLIT_QUEUED:
+@@ -624,7 +627,7 @@ static int notrace noinline fiq_fsm_do_s
+                               break;
+                       if(!fiq_fsm_tt_in_use(state, num_channels, n)) {
+                               if (!fiq_fsm_too_late(state, n)) {
+-                                      fiq_print(FIQDBG_INT, st, "SOF GO %01d", n);
++                                      fiq_print(FIQDBG_INT, state, "SOF GO %01d", n);
+                                       fiq_fsm_restart_channel(state, n, 0);
+                                       state->channel[n].fsm = FIQ_PER_SSPLIT_STARTED;
+                               } else {
+@@ -1069,8 +1072,14 @@ static int notrace noinline fiq_fsm_do_h
+               if (fiq_fsm_update_hs_isoc(state, n, hcint)) {
+                       /* more transactions to come */
+                       handled = 1;
+-                      restart = 1;
+                       fiq_print(FIQDBG_INT, state, "HSISO M ");
++                      /* For strided transfers, put ourselves to sleep */
++                      if (st->hs_isoc_info.stride > 1) {
++                              st->uframe_sleeps = st->hs_isoc_info.stride - 1;
++                              st->fsm = FIQ_HS_ISOC_SLEEPING;
++                      } else {
++                              restart = 1;
++                      }
+               } else {
+                       st->fsm = FIQ_HS_ISOC_DONE;
+                       fiq_print(FIQDBG_INT, state, "HSISO F ");
+--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
+@@ -260,12 +260,13 @@ struct fiq_dma_blob {
+  * @iso_frame:        Pointer to the array of OTG URB iso_frame_descs.
+  * @nrframes: Total length of iso_frame_desc array
+  * @index:    Current index (FIQ-maintained)
+- *
++ * @stride:   Interval in uframes between HS isoc transactions
+  */
+ struct fiq_hs_isoc_info {
+       struct dwc_otg_hcd_iso_packet_desc *iso_desc;
+       unsigned int nrframes;
+       unsigned int index;
++      unsigned int stride;
+ };
+ /**
+@@ -296,6 +297,8 @@ struct fiq_channel_state {
+       /* Hardware bug workaround: sometimes channel halt interrupts are
+        * delayed until the next SOF. Keep track of when we expected to get interrupted. */
+       unsigned int expected_uframe;
++      /* number of uframes remaining (for interval > 1 HS isoc transfers) before next transfer */
++      unsigned int uframe_sleeps;
+       /* in/out for communicating number of dma buffers used, or number of ISOC to do */
+       unsigned int nrpackets;
+       struct fiq_dma_info dma_info;
+--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+@@ -1678,6 +1678,9 @@ int fiq_fsm_queue_isoc_transaction(dwc_o
+               }
+       }
++      st->hs_isoc_info.stride = qh->interval;
++      st->uframe_sleeps = 0;
++
+       fiq_print(FIQDBG_INT, hcd->fiq_state, "FSMQ  %01d ", hc->hc_num);
+       fiq_print(FIQDBG_INT, hcd->fiq_state, "%08x", st->hcchar_copy.d32);
+       fiq_print(FIQDBG_INT, hcd->fiq_state, "%08x", st->hctsiz_copy.d32);
+@@ -1692,9 +1695,11 @@ int fiq_fsm_queue_isoc_transaction(dwc_o
+       DWC_WRITE_REG32(&hc_regs->hcintmsk, st->hcintmsk_copy.d32);
+       if (hfnum.b.frrem < PERIODIC_FRREM_BACKOFF) {
+               /* Prevent queueing near EOF1. Bad things happen if a periodic
+-               * split transaction is queued very close to EOF.
++               * split transaction is queued very close to EOF. SOF interrupt handler
++               * will wake this channel at the next interrupt.
+                */
+               st->fsm = FIQ_HS_ISOC_SLEEPING;
++              st->uframe_sleeps = 1;
+       } else {
+               st->fsm = FIQ_HS_ISOC_TURBO;
+               st->hcchar_copy.b.chen = 1;
+--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+@@ -2297,10 +2297,10 @@ void dwc_otg_fiq_unmangle_isoc(dwc_otg_h
+                       dwc_urb->error_count++;
+               }
+       }
++      qh->sched_frame = dwc_frame_num_inc(qh->sched_frame, qh->interval * (nr_frames - 1));
++
+       //printk_ratelimited(KERN_INFO "%s: HS isochronous of %d/%d frames with %d errors complete\n",
+       //                      __FUNCTION__, i, dwc_urb->packet_count, dwc_urb->error_count);
+-      hcd->fops->complete(hcd, dwc_urb->priv, dwc_urb, 0);
+-      release_channel(hcd, qh->channel, qtd, DWC_OTG_HC_XFER_URB_COMPLETE);
+ }
+ /**
+@@ -2543,6 +2543,8 @@ void dwc_otg_hcd_handle_hc_fsm(dwc_otg_h
+                * fail.
+                */
+               dwc_otg_fiq_unmangle_isoc(hcd, qh, qtd, num);
++              hcd->fops->complete(hcd, qtd->urb->priv, qtd->urb, 0);
++              release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_URB_COMPLETE);
+               break;
+       case FIQ_PER_SPLIT_LS_ABORTED:
diff --git a/target/linux/brcm2708/patches-4.1/0150-added-basic-docker-support.patch b/target/linux/brcm2708/patches-4.1/0150-added-basic-docker-support.patch
new file mode 100644 (file)
index 0000000..380086e
--- /dev/null
@@ -0,0 +1,62 @@
+From c7f56b36920e86309a5111c56ae5d0fbb96f1961 Mon Sep 17 00:00:00 2001
+From: Uli Middelberg <uli@middelberg.de>
+Date: Wed, 17 Jun 2015 10:36:56 +0200
+Subject: [PATCH 150/171] added basic docker support
+
+---
+ arch/arm/configs/bcm2709_defconfig | 3 +++
+ arch/arm/configs/bcmrpi_defconfig  | 3 +++
+ 2 files changed, 6 insertions(+)
+
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -17,6 +17,7 @@ CONFIG_IKCONFIG=m
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_CGROUP_FREEZER=y
+ CONFIG_CGROUP_DEVICE=y
++CONFIG_CPUSETS=y
+ CONFIG_CGROUP_CPUACCT=y
+ CONFIG_MEMCG=y
+ CONFIG_BLK_CGROUP=y
+@@ -418,6 +419,7 @@ CONFIG_MD_RAID0=m
+ CONFIG_BLK_DEV_DM=m
+ CONFIG_DM_CRYPT=m
+ CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_THIN_PROVISIONING=m
+ CONFIG_DM_MIRROR=m
+ CONFIG_DM_LOG_USERSPACE=m
+ CONFIG_DM_RAID=m
+@@ -1115,6 +1117,7 @@ CONFIG_QFMT_V2=m
+ CONFIG_AUTOFS4_FS=y
+ CONFIG_FUSE_FS=m
+ CONFIG_CUSE=m
++CONFIG_OVERLAY_FS=m
+ CONFIG_FSCACHE=y
+ CONFIG_FSCACHE_STATS=y
+ CONFIG_FSCACHE_HISTOGRAM=y
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -16,6 +16,7 @@ CONFIG_IKCONFIG=m
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_CGROUP_FREEZER=y
+ CONFIG_CGROUP_DEVICE=y
++CONFIG_CPUSETS=y
+ CONFIG_CGROUP_CPUACCT=y
+ CONFIG_MEMCG=y
+ CONFIG_BLK_CGROUP=y
+@@ -411,6 +412,7 @@ CONFIG_MD_RAID0=m
+ CONFIG_BLK_DEV_DM=m
+ CONFIG_DM_CRYPT=m
+ CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_THIN_PROVISIONING=m
+ CONFIG_DM_MIRROR=m
+ CONFIG_DM_LOG_USERSPACE=m
+ CONFIG_DM_RAID=m
+@@ -1108,6 +1110,7 @@ CONFIG_QFMT_V2=m
+ CONFIG_AUTOFS4_FS=y
+ CONFIG_FUSE_FS=m
+ CONFIG_CUSE=m
++CONFIG_OVERLAY_FS=m
+ CONFIG_FSCACHE=y
+ CONFIG_FSCACHE_STATS=y
+ CONFIG_FSCACHE_HISTOGRAM=y
diff --git a/target/linux/brcm2708/patches-4.1/0151-bcm2835-camera-planar-packed-stride-length.patch b/target/linux/brcm2708/patches-4.1/0151-bcm2835-camera-planar-packed-stride-length.patch
new file mode 100644 (file)
index 0000000..e93446b
--- /dev/null
@@ -0,0 +1,170 @@
+From 273b9fb93e4b2cfff7aeff8ea559219c2755ee95 Mon Sep 17 00:00:00 2001
+From: Garrett <g@floft.net>
+Date: Thu, 2 Jul 2015 19:32:04 -0500
+Subject: [PATCH 151/171] bcm2835 camera planar/packed stride length
+
+Added a field to the mmal_fmt struct used to compute the bytes per line
+when using a particular format. This results in the correct stride being
+calculated even when the format is planar.
+
+Signed-off-by: Garrett Wilson <g@floft.net>
+---
+ drivers/media/platform/bcm2835/bcm2835-camera.c | 26 +++++++++++++++++++------
+ drivers/media/platform/bcm2835/mmal-common.h    |  1 +
+ 2 files changed, 21 insertions(+), 6 deletions(-)
+
+--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
++++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
+@@ -88,12 +88,13 @@ static const struct v4l2_fract
+ /* video formats */
+ static struct mmal_fmt formats[] = {
+       {
+-       .name = "4:2:0, packed YUV",
++       .name = "4:2:0, planar, YUV",
+        .fourcc = V4L2_PIX_FMT_YUV420,
+        .flags = 0,
+        .mmal = MMAL_ENCODING_I420,
+        .depth = 12,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 1,
+        },
+       {
+        .name = "4:2:2, packed, YUYV",
+@@ -102,6 +103,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_YUYV,
+        .depth = 16,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 2,
+        },
+       {
+        .name = "RGB24 (LE)",
+@@ -110,6 +112,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_BGR24,
+        .depth = 24,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 3,
+        },
+       {
+        .name = "JPEG",
+@@ -118,6 +121,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_JPEG,
+        .depth = 8,
+        .mmal_component = MMAL_COMPONENT_IMAGE_ENCODE,
++       .ybbp = 0,
+        },
+       {
+        .name = "H264",
+@@ -126,6 +130,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_H264,
+        .depth = 8,
+        .mmal_component = MMAL_COMPONENT_VIDEO_ENCODE,
++       .ybbp = 0,
+        },
+       {
+        .name = "MJPEG",
+@@ -134,6 +139,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_MJPEG,
+        .depth = 8,
+        .mmal_component = MMAL_COMPONENT_VIDEO_ENCODE,
++       .ybbp = 0,
+        },
+       {
+        .name = "4:2:2, packed, YVYU",
+@@ -142,6 +148,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_YVYU,
+        .depth = 16,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 2,
+        },
+       {
+        .name = "4:2:2, packed, VYUY",
+@@ -150,6 +157,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_VYUY,
+        .depth = 16,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 2,
+        },
+       {
+        .name = "4:2:2, packed, UYVY",
+@@ -158,14 +166,16 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_UYVY,
+        .depth = 16,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 2,
+        },
+       {
+-       .name = "4:2:0, packed, NV12",
++       .name = "4:2:0, planar, NV12",
+        .fourcc = V4L2_PIX_FMT_NV12,
+        .flags = 0,
+        .mmal = MMAL_ENCODING_NV12,
+        .depth = 12,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 1,
+        },
+       {
+        .name = "RGB24 (BE)",
+@@ -174,22 +184,25 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_RGB24,
+        .depth = 24,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 3,
+        },
+       {
+-       .name = "4:2:0, packed YVU",
++       .name = "4:2:0, planar, YVU",
+        .fourcc = V4L2_PIX_FMT_YVU420,
+        .flags = 0,
+        .mmal = MMAL_ENCODING_YV12,
+        .depth = 12,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 1,
+        },
+       {
+-       .name = "4:2:0, packed, NV21",
++       .name = "4:2:0, planar, NV21",
+        .fourcc = V4L2_PIX_FMT_NV21,
+        .flags = 0,
+        .mmal = MMAL_ENCODING_NV21,
+        .depth = 12,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 1,
+        },
+       {
+        .name = "RGB32 (BE)",
+@@ -198,6 +211,7 @@ static struct mmal_fmt formats[] = {
+        .mmal = MMAL_ENCODING_BGRA,
+        .depth = 32,
+        .mmal_component = MMAL_COMPONENT_CAMERA,
++       .ybbp = 4,
+        },
+ };
+@@ -771,7 +785,7 @@ static int vidioc_g_fbuf(struct file *fi
+       a->fmt.width = preview_port->es.video.width;
+       a->fmt.height = preview_port->es.video.height;
+       a->fmt.pixelformat = V4L2_PIX_FMT_YUV420;
+-      a->fmt.bytesperline = (preview_port->es.video.width * 3)>>1;
++      a->fmt.bytesperline = preview_port->es.video.width;
+       a->fmt.sizeimage = (preview_port->es.video.width *
+                              preview_port->es.video.height * 3)>>1;
+       a->fmt.colorspace = V4L2_COLORSPACE_SMPTE170M;
+@@ -894,7 +908,7 @@ static int vidioc_try_fmt_vid_cap(struct
+       v4l_bound_align_image(&f->fmt.pix.width, MIN_WIDTH, MAX_WIDTH, 1,
+                             &f->fmt.pix.height, MIN_HEIGHT, MAX_HEIGHT, 1, 0);
+-      f->fmt.pix.bytesperline = (f->fmt.pix.width * mfmt->depth)>>3;
++      f->fmt.pix.bytesperline = f->fmt.pix.width * mfmt->ybbp;
+       /* Image buffer has to be padded to allow for alignment, even though
+        * we then remove that padding before delivering the buffer.
+--- a/drivers/media/platform/bcm2835/mmal-common.h
++++ b/drivers/media/platform/bcm2835/mmal-common.h
+@@ -30,6 +30,7 @@ struct mmal_fmt {
+       u32   mmal;
+       int   depth;
+       u32   mmal_component;  /* MMAL component index to be used to encode */
++      u32   ybbp;            /* depth of first Y plane for planar formats */
+ };
+ /* buffer for one video frame */
diff --git a/target/linux/brcm2708/patches-4.1/0154-BCM270X_DT-Add-pwm-and-pwm-2chan-overlays.patch b/target/linux/brcm2708/patches-4.1/0154-BCM270X_DT-Add-pwm-and-pwm-2chan-overlays.patch
new file mode 100644 (file)
index 0000000..80bb708
--- /dev/null
@@ -0,0 +1,250 @@
+From 9ace261c44e2a16d13305b34b06a56c1a4838dc5 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Mon, 17 Aug 2015 10:49:44 +0100
+Subject: [PATCH 154/171] BCM270X_DT: Add pwm and pwm-2chan overlays
+
+From the README entries:
+  Legal pin,function combinations for each channel:
+    PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0)            52,5(Alt1)
+    PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
+  N.B.:
+    1) Pin 18 is the only one available on all platforms, and
+       it is the one used by the I2S audio interface.
+       Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
+    2) The onboard analogue audio output uses both PWM channels.
+    3) So be careful mixing audio and PWM.
+    4) Currently the clock must have been enabled and configured
+       by other means.
+
+See: https://github.com/raspberrypi/linux/issues/756
+---
+ arch/arm/boot/dts/bcm2708_common.dtsi            | 16 +++++++++
+ arch/arm/boot/dts/overlays/Makefile              |  2 ++
+ arch/arm/boot/dts/overlays/README                | 41 +++++++++++++++++++++
+ arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts | 46 ++++++++++++++++++++++++
+ arch/arm/boot/dts/overlays/pwm-overlay.dts       | 42 ++++++++++++++++++++++
+ arch/arm/configs/bcm2709_defconfig               |  1 +
+ arch/arm/configs/bcmrpi_defconfig                |  1 +
+ drivers/pwm/Kconfig                              |  2 +-
+ 8 files changed, 150 insertions(+), 1 deletion(-)
+ create mode 100644 arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/pwm-overlay.dts
+
+--- a/arch/arm/boot/dts/bcm2708_common.dtsi
++++ b/arch/arm/boot/dts/bcm2708_common.dtsi
+@@ -154,6 +154,14 @@
+                       status = "disabled";
+               };
++              pwm: pwm@7e20c000 {
++                      compatible = "brcm,bcm2835-pwm";
++                      reg = <0x7e20c000 0x28>;
++                      clocks = <&clk_pwm>;
++                      #pwm-cells = <2>;
++                      status = "disabled";
++              };
++
+               uart1: uart@7e215040 {
+                       compatible = "brcm,bcm2835-aux-uart", "ns16550";
+                       reg = <0x7e215040 0x40>;
+@@ -279,6 +287,14 @@
+                       clock-output-names = "apb_pclk";
+                       clock-frequency = <126000000>;
+               };
++
++              clk_pwm: clock@5 {
++                       compatible = "fixed-clock";
++                       reg = <3>;
++                       #clock-cells = <0>;
++                       clock-output-names = "pwm";
++                       clock-frequency = <100000000>;
++              };
+       };
+       __overrides__ {
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -35,6 +35,8 @@ dtb-$(RPI_DT_OVERLAYS) += mz61581-overla
+ dtb-$(RPI_DT_OVERLAYS) += piscreen-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += pitft28-resistive-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += pps-gpio-overlay.dtb
++dtb-$(RPI_DT_OVERLAYS) += pwm-overlay.dtb
++dtb-$(RPI_DT_OVERLAYS) += pwm-2chan-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += rpi-dac-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += rpi-display-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += rpi-ft5406-overlay.dtb
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -410,6 +410,47 @@ Load:   dtoverlay=pps-gpio,<param>=<val>
+ Params: gpiopin                  Input GPIO (default "18")
++Name:   pwm
++Info:   Configures a single PWM channel
++        Legal pin,function combinations for each channel:
++          PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0)            52,5(Alt1)
++          PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
++        N.B.:
++          1) Pin 18 is the only one available on all platforms, and
++             it is the one used by the I2S audio interface.
++             Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
++          2) The onboard analogue audio output uses both PWM channels.
++          3) So be careful mixing audio and PWM.
++          4) Currently the clock must have been enabled and configured
++             by other means.
++Load:   dtoverlay=pwm-2chan,<param>=<val>
++Load:   dtoverlay=pwm,<param>=<val>
++Params: pin                      Output pin (default 18) - see table
++        func                     Pin function (default 2 = Alt5) - see above
++        clock                    PWM clock frequency (informational)
++
++
++Name:   pwm-2chan
++Info:   Configures both PWM channels
++        Legal pin,function combinations for each channel:
++          PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0)            52,5(Alt1)
++          PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
++        N.B.:
++          1) Pin 18 is the only one available on all platforms, and
++             it is the one used by the I2S audio interface.
++             Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
++          2) The onboard analogue audio output uses both PWM channels.
++          3) So be careful mixing audio and PWM.
++          4) Currently the clock must have been enabled and configured
++             by other means.
++Load:   dtoverlay=pwm-2chan,<param>=<val>
++Params: pin                      Output pin (default 18) - see table
++        pin2                     Output pin for other channel (default 19)
++        func                     Pin function (default 2 = Alt5) - see above
++        func2                    Function for pin2 (default 2 = Alt5)
++        clock                    PWM clock frequency (informational)
++
++
+ Name:   rpi-dac
+ Info:   Configures the RPi DAC audio card
+ Load:   dtoverlay=rpi-dac
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts
+@@ -0,0 +1,46 @@
++/dts-v1/;
++/plugin/;
++
++/*
++This is the 2-channel overlay - only use it if you need both channels.
++
++Legal pin,function combinations for each channel:
++  PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0)            52,5(Alt1)
++  PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
++
++N.B.:
++  1) Pin 18 is the only one available on all platforms, and
++     it is the one used by the I2S audio interface.
++     Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
++  2) The onboard analogue audio output uses both PWM channels.
++  3) So be careful mixing audio and PWM.
++*/
++
++/ {
++      fragment@0 {
++              target = <&gpio>;
++              __overlay__ {
++                      pwm_pins: pwm_pins {
++                              brcm,pins = <18 19>;
++                              brcm,function = <2 2>; /* Alt5 */
++                      };
++              };
++      };
++
++      fragment@1 {
++              target = <&pwm>;
++              __overlay__ {
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&pwm_pins>;
++                      status = "okay";
++              };
++      };
++
++      __overrides__ {
++              pin   = <&pwm_pins>,"brcm,pins:0";
++              pin2  = <&pwm_pins>,"brcm,pins:4";
++              func  = <&pwm_pins>,"brcm,function:0";
++              func2 = <&pwm_pins>,"brcm,function:4";
++              clock = <&clk_pwm>,"clock-frequency:0";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/pwm-overlay.dts
+@@ -0,0 +1,42 @@
++/dts-v1/;
++/plugin/;
++
++/*
++Legal pin,function combinations for each channel:
++  PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0)            52,5(Alt1)
++  PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
++
++N.B.:
++  1) Pin 18 is the only one available on all platforms, and
++     it is the one used by the I2S audio interface.
++     Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
++  2) The onboard analogue audio output uses both PWM channels.
++  3) So be careful mixing audio and PWM.
++*/
++
++/ {
++      fragment@0 {
++              target = <&gpio>;
++              __overlay__ {
++                      pwm_pins: pwm_pins {
++                              brcm,pins = <18>;
++                              brcm,function = <2>; /* Alt5 */
++                      };
++              };
++      };
++
++      fragment@1 {
++              target = <&pwm>;
++              __overlay__ {
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&pwm_pins>;
++                      status = "okay";
++              };
++      };
++
++      __overrides__ {
++              pin   = <&pwm_pins>,"brcm,pins:0";
++              func  = <&pwm_pins>,"brcm,function:0";
++              clock = <&clk_pwm>,"clock-frequency:0";
++      };
++};
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -1089,6 +1089,7 @@ CONFIG_IIO_BUFFER=y
+ CONFIG_IIO_BUFFER_CB=y
+ CONFIG_IIO_KFIFO_BUF=m
+ CONFIG_DHT11=m
++CONFIG_PWM_BCM2835=m
+ CONFIG_RASPBERRYPI_FIRMWARE=y
+ CONFIG_EXT4_FS=y
+ CONFIG_EXT4_FS_POSIX_ACL=y
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -1082,6 +1082,7 @@ CONFIG_IIO_BUFFER=y
+ CONFIG_IIO_BUFFER_CB=y
+ CONFIG_IIO_KFIFO_BUF=m
+ CONFIG_DHT11=m
++CONFIG_PWM_BCM2835=m
+ CONFIG_RASPBERRYPI_FIRMWARE=y
+ CONFIG_EXT4_FS=y
+ CONFIG_EXT4_FS_POSIX_ACL=y
+--- a/drivers/pwm/Kconfig
++++ b/drivers/pwm/Kconfig
+@@ -85,7 +85,7 @@ config PWM_BCM_KONA
+ config PWM_BCM2835
+       tristate "BCM2835 PWM support"
+-      depends on ARCH_BCM2835
++      depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709
+       help
+         PWM framework driver for BCM2835 controller (Raspberry Pi)
diff --git a/target/linux/brcm2708/patches-4.1/0155-spi-bcm2835-fallback-to-interrupt-for-polling-timeou.patch b/target/linux/brcm2708/patches-4.1/0155-spi-bcm2835-fallback-to-interrupt-for-polling-timeou.patch
new file mode 100644 (file)
index 0000000..49536d0
--- /dev/null
@@ -0,0 +1,136 @@
+From 6b2b193e60989a674562abb13ff8780ca38592f4 Mon Sep 17 00:00:00 2001
+From: Martin Sperl <kernel@martin.sperl.org>
+Date: Wed, 22 Apr 2015 07:33:03 +0000
+Subject: [PATCH 155/171] spi: bcm2835: fallback to interrupt for polling
+ timeouts exceeding 2 jiffies
+
+The polling mode of the driver is designed for transfers that run
+less than 30us - it will only execute under those circumstances.
+So it should run comfortably without getting interrupted by the
+scheduler.
+
+But there are situations where the raspberry pi is so overloaded
+that it can take up to 80 jiffies until the polling thread gets
+rescheduled - this has been observed especially under heavy
+IO situations.
+
+In such a situation we now fall back to the interrupt handler and
+log the situation at debug level.
+
+Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+(cherry picked from commit a750b124cfd27bae1a12df22318db5a2083dfb12)
+---
+ drivers/spi/spi-bcm2835.c | 87 +++++++++++++++++++++++++++--------------------
+ 1 file changed, 50 insertions(+), 37 deletions(-)
+
+--- a/drivers/spi/spi-bcm2835.c
++++ b/drivers/spi/spi-bcm2835.c
+@@ -69,7 +69,7 @@
+ #define BCM2835_SPI_CS_CS_01          0x00000001
+ #define BCM2835_SPI_POLLING_LIMIT_US  30
+-#define BCM2835_SPI_TIMEOUT_MS                30000
++#define BCM2835_SPI_POLLING_JIFFIES   2
+ #define BCM2835_SPI_MODE_BITS (SPI_CPOL | SPI_CPHA | SPI_CS_HIGH \
+                               | SPI_NO_CS | SPI_3WIRE)
+@@ -157,42 +157,6 @@ static irqreturn_t bcm2835_spi_interrupt
+       return IRQ_HANDLED;
+ }
+-static int bcm2835_spi_transfer_one_poll(struct spi_master *master,
+-                                       struct spi_device *spi,
+-                                       struct spi_transfer *tfr,
+-                                       u32 cs,
+-                                       unsigned long xfer_time_us)
+-{
+-      struct bcm2835_spi *bs = spi_master_get_devdata(master);
+-      /* set timeout to 1 second of maximum polling */
+-      unsigned long timeout = jiffies + HZ;
+-
+-      /* enable HW block without interrupts */
+-      bcm2835_wr(bs, BCM2835_SPI_CS, cs | BCM2835_SPI_CS_TA);
+-
+-      /* loop until finished the transfer */
+-      while (bs->rx_len) {
+-              /* read from fifo as much as possible */
+-              bcm2835_rd_fifo(bs);
+-              /* fill in tx fifo as much as possible */
+-              bcm2835_wr_fifo(bs);
+-              /* if we still expect some data after the read,
+-               * check for a possible timeout
+-               */
+-              if (bs->rx_len && time_after(jiffies, timeout)) {
+-                      /* Transfer complete - reset SPI HW */
+-                      bcm2835_spi_reset_hw(master);
+-                      /* and return timeout */
+-                      return -ETIMEDOUT;
+-              }
+-      }
+-
+-      /* Transfer complete - reset SPI HW */
+-      bcm2835_spi_reset_hw(master);
+-      /* and return without waiting for completion */
+-      return 0;
+-}
+-
+ static int bcm2835_spi_transfer_one_irq(struct spi_master *master,
+                                       struct spi_device *spi,
+                                       struct spi_transfer *tfr,
+@@ -229,6 +193,55 @@ static int bcm2835_spi_transfer_one_irq(
+       return 1;
+ }
++static int bcm2835_spi_transfer_one_poll(struct spi_master *master,
++                                       struct spi_device *spi,
++                                       struct spi_transfer *tfr,
++                                       u32 cs,
++                                       unsigned long xfer_time_us)
++{
++      struct bcm2835_spi *bs = spi_master_get_devdata(master);
++      unsigned long timeout;
++
++      /* enable HW block without interrupts */
++      bcm2835_wr(bs, BCM2835_SPI_CS, cs | BCM2835_SPI_CS_TA);
++
++      /* fill in the fifo before timeout calculations
++       * if we are interrupted here, then the data is
++       * getting transferred by the HW while we are interrupted
++       */
++      bcm2835_wr_fifo(bs);
++
++      /* set the timeout */
++      timeout = jiffies + BCM2835_SPI_POLLING_JIFFIES;
++
++      /* loop until finished the transfer */
++      while (bs->rx_len) {
++              /* fill in tx fifo with remaining data */
++              bcm2835_wr_fifo(bs);
++
++              /* read from fifo as much as possible */
++              bcm2835_rd_fifo(bs);
++
++              /* if there is still data pending to read
++               * then check the timeout
++               */
++              if (bs->rx_len && time_after(jiffies, timeout)) {
++                      dev_dbg_ratelimited(&spi->dev,
++                                          "timeout period reached: jiffies: %lu remaining tx/rx: %d/%d - falling back to interrupt mode\n",
++                                          jiffies - timeout,
++                                          bs->tx_len, bs->rx_len);
++                      /* fall back to interrupt mode */
++                      return bcm2835_spi_transfer_one_irq(master, spi,
++                                                          tfr, cs);
++              }
++      }
++
++      /* Transfer complete - reset SPI HW */
++      bcm2835_spi_reset_hw(master);
++      /* and return without waiting for completion */
++      return 0;
++}
++
+ static int bcm2835_spi_transfer_one(struct spi_master *master,
+                                   struct spi_device *spi,
+                                   struct spi_transfer *tfr)
diff --git a/target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch b/target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch
new file mode 100644 (file)
index 0000000..3521f08
--- /dev/null
@@ -0,0 +1,422 @@
+From abff2f91fd0f8163b065b92786be93562c7e67af Mon Sep 17 00:00:00 2001
+From: Martin Sperl <kernel@martin.sperl.org>
+Date: Sun, 10 May 2015 20:47:28 +0000
+Subject: [PATCH 156/171] spi: bcm2835: enable dma modes for transfers meeting
+ certain conditions
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Conditions per spi_transfer are:
+* transfer.len >= 96 bytes (to avoid mapping overhead costs)
+* transfer.len < 65536 bytes (limitaion by spi-hw block - could get extended)
+* an individual scatter/gather transfer length must be a multiple of 4
+  for anything but the last transfer - spi-hw block limit.
+  (some shortcut has been taken in can_dma to avoid unnecessary mapping of
+   pages which, for which there is a chance that there is a split with a
+   transfer length not a multiple of 4)
+
+If it becomes a necessity these restrictions can get removed by additional
+code.
+
+Note that this patch requires a patch to dma-bcm2835.c by Noralf to
+enable scatter-gather mode inside the dmaengine, which has not been
+merged yet.
+
+That is why no patch to arch/arm/boot/dts/bcm2835.dtsi is included - the
+code works as before without dma when tx/rx are not set, but it writes
+a message warning about dma not used:
+spi-bcm2835 20204000.spi: no tx-dma configuration found - not using dma mode
+
+To enable dma-mode add the following lines to the device-tree:
+        dmas = <&dma 6>, <&dma 7>;
+        dma-names = "tx", "rx";
+
+Tested-by: Noralf Trønnes <noralf@tronnes.org> (private communication)
+Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+(cherry picked from commit 3ecd37edaa2a6ba3246e2c35714be9316b1087fe)
+---
+ drivers/spi/spi-bcm2835.c | 303 +++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 301 insertions(+), 2 deletions(-)
+
+--- a/drivers/spi/spi-bcm2835.c
++++ b/drivers/spi/spi-bcm2835.c
+@@ -23,15 +23,18 @@
+ #include <linux/clk.h>
+ #include <linux/completion.h>
+ #include <linux/delay.h>
++#include <linux/dma-mapping.h>
++#include <linux/dmaengine.h>
+ #include <linux/err.h>
+ #include <linux/interrupt.h>
+ #include <linux/io.h>
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/of.h>
+-#include <linux/of_irq.h>
+-#include <linux/of_gpio.h>
++#include <linux/of_address.h>
+ #include <linux/of_device.h>
++#include <linux/of_gpio.h>
++#include <linux/of_irq.h>
+ #include <linux/spi/spi.h>
+ /* SPI register offsets */
+@@ -70,6 +73,7 @@
+ #define BCM2835_SPI_POLLING_LIMIT_US  30
+ #define BCM2835_SPI_POLLING_JIFFIES   2
++#define BCM2835_SPI_DMA_MIN_LENGTH    96
+ #define BCM2835_SPI_MODE_BITS (SPI_CPOL | SPI_CPHA | SPI_CS_HIGH \
+                               | SPI_NO_CS | SPI_3WIRE)
+@@ -83,6 +87,7 @@ struct bcm2835_spi {
+       u8 *rx_buf;
+       int tx_len;
+       int rx_len;
++      bool dma_pending;
+ };
+ static inline u32 bcm2835_rd(struct bcm2835_spi *bs, unsigned reg)
+@@ -128,12 +133,15 @@ static void bcm2835_spi_reset_hw(struct
+       /* Disable SPI interrupts and transfer */
+       cs &= ~(BCM2835_SPI_CS_INTR |
+               BCM2835_SPI_CS_INTD |
++              BCM2835_SPI_CS_DMAEN |
+               BCM2835_SPI_CS_TA);
+       /* and reset RX/TX FIFOS */
+       cs |= BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX;
+       /* and reset the SPI_HW */
+       bcm2835_wr(bs, BCM2835_SPI_CS, cs);
++      /* as well as DLEN */
++      bcm2835_wr(bs, BCM2835_SPI_DLEN, 0);
+ }
+ static irqreturn_t bcm2835_spi_interrupt(int irq, void *dev_id)
+@@ -193,6 +201,279 @@ static int bcm2835_spi_transfer_one_irq(
+       return 1;
+ }
++/*
++ * DMA support
++ *
++ * this implementation has currently a few issues in so far as it does
++ * not work arrount limitations of the HW.
++ *
++ * the main one being that DMA transfers are limited to 16 bit
++ * (so 0 to 65535 bytes) by the SPI HW due to BCM2835_SPI_DLEN
++ *
++ * also we currently assume that the scatter-gather fragments are
++ * all multiple of 4 (except the last) - otherwise we would need
++ * to reset the FIFO before subsequent transfers...
++ * this also means that tx/rx transfers sg's need to be of equal size!
++ *
++ * there may be a few more border-cases we may need to address as well
++ * but unfortunately this would mean splitting up the scatter-gather
++ * list making it slightly unpractical...
++ */
++static void bcm2835_spi_dma_done(void *data)
++{
++      struct spi_master *master = data;
++      struct bcm2835_spi *bs = spi_master_get_devdata(master);
++
++      /* reset fifo and HW */
++      bcm2835_spi_reset_hw(master);
++
++      /* and terminate tx-dma as we do not have an irq for it
++       * because when the rx dma will terminate and this callback
++       * is called the tx-dma must have finished - can't get to this
++       * situation otherwise...
++       */
++      dmaengine_terminate_all(master->dma_tx);
++
++      /* mark as no longer pending */
++      bs->dma_pending = 0;
++
++      /* and mark as completed */;
++      complete(&master->xfer_completion);
++}
++
++static int bcm2835_spi_prepare_sg(struct spi_master *master,
++                                struct spi_transfer *tfr,
++                                bool is_tx)
++{
++      struct dma_chan *chan;
++      struct scatterlist *sgl;
++      unsigned int nents;
++      enum dma_transfer_direction dir;
++      unsigned long flags;
++
++      struct dma_async_tx_descriptor *desc;
++      dma_cookie_t cookie;
++
++      if (is_tx) {
++              dir   = DMA_MEM_TO_DEV;
++              chan  = master->dma_tx;
++              nents = tfr->tx_sg.nents;
++              sgl   = tfr->tx_sg.sgl;
++              flags = 0 /* no  tx interrupt */;
++
++      } else {
++              dir   = DMA_DEV_TO_MEM;
++              chan  = master->dma_rx;
++              nents = tfr->rx_sg.nents;
++              sgl   = tfr->rx_sg.sgl;
++              flags = DMA_PREP_INTERRUPT;
++      }
++      /* prepare the channel */
++      desc = dmaengine_prep_slave_sg(chan, sgl, nents, dir, flags);
++      if (!desc)
++              return -EINVAL;
++
++      /* set callback for rx */
++      if (!is_tx) {
++              desc->callback = bcm2835_spi_dma_done;
++              desc->callback_param = master;
++      }
++
++      /* submit it to DMA-engine */
++      cookie = dmaengine_submit(desc);
++
++      return dma_submit_error(cookie);
++}
++
++static inline int bcm2835_check_sg_length(struct sg_table *sgt)
++{
++      int i;
++      struct scatterlist *sgl;
++
++      /* check that the sg entries are word-sized (except for last) */
++      for_each_sg(sgt->sgl, sgl, (int)sgt->nents - 1, i) {
++              if (sg_dma_len(sgl) % 4)
++                      return -EFAULT;
++      }
++
++      return 0;
++}
++
++static int bcm2835_spi_transfer_one_dma(struct spi_master *master,
++                                      struct spi_device *spi,
++                                      struct spi_transfer *tfr,
++                                      u32 cs)
++{
++      struct bcm2835_spi *bs = spi_master_get_devdata(master);
++      int ret;
++
++      /* check that the scatter gather segments are all a multiple of 4 */
++      if (bcm2835_check_sg_length(&tfr->tx_sg) ||
++          bcm2835_check_sg_length(&tfr->rx_sg)) {
++              dev_warn_once(&spi->dev,
++                            "scatter gather segment length is not a multiple of 4 - falling back to interrupt mode\n");
++              return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
++      }
++
++      /* setup tx-DMA */
++      ret = bcm2835_spi_prepare_sg(master, tfr, true);
++      if (ret)
++              return ret;
++
++      /* start TX early */
++      dma_async_issue_pending(master->dma_tx);
++
++      /* mark as dma pending */
++      bs->dma_pending = 1;
++
++      /* set the DMA length */
++      bcm2835_wr(bs, BCM2835_SPI_DLEN, tfr->len);
++
++      /* start the HW */
++      bcm2835_wr(bs, BCM2835_SPI_CS,
++                 cs | BCM2835_SPI_CS_TA | BCM2835_SPI_CS_DMAEN);
++
++      /* setup rx-DMA late - to run transfers while
++       * mapping of the rx buffers still takes place
++       * this saves 10us or more.
++       */
++      ret = bcm2835_spi_prepare_sg(master, tfr, false);
++      if (ret) {
++              /* need to reset on errors */
++              dmaengine_terminate_all(master->dma_tx);
++              bcm2835_spi_reset_hw(master);
++              return ret;
++      }
++
++      /* start rx dma late */
++      dma_async_issue_pending(master->dma_rx);
++
++      /* wait for wakeup in framework */
++      return 1;
++}
++
++static bool bcm2835_spi_can_dma(struct spi_master *master,
++                              struct spi_device *spi,
++                              struct spi_transfer *tfr)
++{
++      /* only run for gpio_cs */
++      if (!gpio_is_valid(spi->cs_gpio))
++              return false;
++
++      /* we start DMA efforts only on bigger transfers */
++      if (tfr->len < BCM2835_SPI_DMA_MIN_LENGTH)
++              return false;
++
++      /* BCM2835_SPI_DLEN has defined a max transfer size as
++       * 16 bit, so max is 65535
++       * we can revisit this by using an alternative transfer
++       * method - ideally this would get done without any more
++       * interaction...
++       */
++      if (tfr->len > 65535) {
++              dev_warn_once(&spi->dev,
++                            "transfer size of %d too big for dma-transfer\n",
++                            tfr->len);
++              return false;
++      }
++
++      /* if we run rx/tx_buf with word aligned addresses then we are OK */
++      if (((u32)tfr->tx_buf % 4 == 0) && ((u32)tfr->tx_buf % 4 == 0))
++              return true;
++
++      /* otherwise we only allow transfers within the same page
++       * to avoid wasting time on dma_mapping when it is not practical
++       */
++      if (((u32)tfr->tx_buf % SZ_4K) + tfr->len > SZ_4K) {
++              dev_warn_once(&spi->dev,
++                            "Unaligned spi tx-transfer bridging page\n");
++              return false;
++      }
++      if (((u32)tfr->rx_buf % SZ_4K) + tfr->len > SZ_4K) {
++              dev_warn_once(&spi->dev,
++                            "Unaligned spi tx-transfer bridging page\n");
++              return false;
++      }
++
++      /* return OK */
++      return true;
++}
++
++void bcm2835_dma_release(struct spi_master *master)
++{
++      if (master->dma_tx) {
++              dmaengine_terminate_all(master->dma_tx);
++              dma_release_channel(master->dma_tx);
++              master->dma_tx = NULL;
++      }
++      if (master->dma_rx) {
++              dmaengine_terminate_all(master->dma_rx);
++              dma_release_channel(master->dma_rx);
++              master->dma_rx = NULL;
++      }
++}
++
++void bcm2835_dma_init(struct spi_master *master, struct device *dev)
++{
++      struct dma_slave_config slave_config;
++      const __be32 *addr;
++      dma_addr_t dma_reg_base;
++      int ret;
++
++      /* base address in dma-space */
++      addr = of_get_address(master->dev.of_node, 0, NULL, NULL);
++      if (!addr) {
++              dev_err(dev, "could not get DMA-register address - not using dma mode\n");
++              goto err;
++      }
++      dma_reg_base = be32_to_cpup(addr);
++
++      /* get tx/rx dma */
++      master->dma_tx = dma_request_slave_channel(dev, "tx");
++      if (!master->dma_tx) {
++              dev_err(dev, "no tx-dma configuration found - not using dma mode\n");
++              goto err;
++      }
++      master->dma_rx = dma_request_slave_channel(dev, "rx");
++      if (!master->dma_rx) {
++              dev_err(dev, "no rx-dma configuration found - not using dma mode\n");
++              goto err_release;
++      }
++
++      /* configure DMAs */
++      slave_config.direction = DMA_MEM_TO_DEV;
++      slave_config.dst_addr = (u32)(dma_reg_base + BCM2835_SPI_FIFO);
++      slave_config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
++
++      ret = dmaengine_slave_config(master->dma_tx, &slave_config);
++      if (ret)
++              goto err_config;
++
++      slave_config.direction = DMA_DEV_TO_MEM;
++      slave_config.src_addr = (u32)(dma_reg_base + BCM2835_SPI_FIFO);
++      slave_config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
++
++      ret = dmaengine_slave_config(master->dma_rx, &slave_config);
++      if (ret)
++              goto err_config;
++
++      /* all went well, so set can_dma */
++      master->can_dma = bcm2835_spi_can_dma;
++      master->max_dma_len = 65535; /* limitation by BCM2835_SPI_DLEN */
++      /* need to do TX AND RX DMA, so we need dummy buffers */
++      master->flags = SPI_MASTER_MUST_RX | SPI_MASTER_MUST_TX;
++
++      return;
++
++err_config:
++      dev_err(dev, "issue configuring dma: %d - not using DMA mode\n",
++              ret);
++err_release:
++      bcm2835_dma_release(master);
++err:
++      return;
++}
++
+ static int bcm2835_spi_transfer_one_poll(struct spi_master *master,
+                                        struct spi_device *spi,
+                                        struct spi_transfer *tfr,
+@@ -301,12 +582,26 @@ static int bcm2835_spi_transfer_one(stru
+               return bcm2835_spi_transfer_one_poll(master, spi, tfr,
+                                                    cs, xfer_time_us);
++      /* run in dma mode if conditions are right */
++      if (master->can_dma && bcm2835_spi_can_dma(master, spi, tfr))
++              return bcm2835_spi_transfer_one_dma(master, spi, tfr, cs);
++
++      /* run in interrupt-mode */
+       return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
+ }
+ static void bcm2835_spi_handle_err(struct spi_master *master,
+                                  struct spi_message *msg)
+ {
++      struct bcm2835_spi *bs = spi_master_get_devdata(master);
++
++      /* if an error occurred and we have an active dma, then terminate */
++      if (bs->dma_pending) {
++              dmaengine_terminate_all(master->dma_tx);
++              dmaengine_terminate_all(master->dma_rx);
++              bs->dma_pending = 0;
++      }
++      /* and reset */
+       bcm2835_spi_reset_hw(master);
+ }
+@@ -505,6 +800,8 @@ static int bcm2835_spi_probe(struct plat
+               goto out_clk_disable;
+       }
++      bcm2835_dma_init(master, &pdev->dev);
++
+       /* initialise the hardware with the default polarities */
+       bcm2835_wr(bs, BCM2835_SPI_CS,
+                  BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
+@@ -535,6 +832,8 @@ static int bcm2835_spi_remove(struct pla
+       clk_disable_unprepare(bs->clk);
++      bcm2835_dma_release(master);
++
+       return 0;
+ }
diff --git a/target/linux/brcm2708/patches-4.1/0157-spi-bcm2835-fix-kbuild-compile-warnings-errors-and-a.patch b/target/linux/brcm2708/patches-4.1/0157-spi-bcm2835-fix-kbuild-compile-warnings-errors-and-a.patch
new file mode 100644 (file)
index 0000000..22aff11
--- /dev/null
@@ -0,0 +1,56 @@
+From fb89852f9971a3d5f40be06e2d8017b9b9b56e19 Mon Sep 17 00:00:00 2001
+From: Martin Sperl <kernel@martin.sperl.org>
+Date: Tue, 12 May 2015 10:32:08 +0000
+Subject: [PATCH 157/171] spi: bcm2835: fix kbuild compile warnings/errors and
+ a typo
+
+fixes several warnings/error emmitted by the kbuild system:
+* warn: cast from pointer to integer of different size
+  using size_t instead of u32
+* error: 'SZ_4K' undeclared
+  moved to PAGE_SIZE and PAGE_MASK instead
+
+Review showed also a typo in the same code where tx_buff
+was checked twice instead of checking both rx and tx_buff.
+
+Reported by: Stephen Rothwell <sfr@canb.auug.org.au>
+Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+(cherry picked from commit 7e52be0d576e8f7bc99a606f07b9d000c4340f04)
+---
+ drivers/spi/spi-bcm2835.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/drivers/spi/spi-bcm2835.c
++++ b/drivers/spi/spi-bcm2835.c
+@@ -20,6 +20,7 @@
+  * GNU General Public License for more details.
+  */
++#include <asm/page.h>
+ #include <linux/clk.h>
+ #include <linux/completion.h>
+ #include <linux/delay.h>
+@@ -378,18 +379,19 @@ static bool bcm2835_spi_can_dma(struct s
+       }
+       /* if we run rx/tx_buf with word aligned addresses then we are OK */
+-      if (((u32)tfr->tx_buf % 4 == 0) && ((u32)tfr->tx_buf % 4 == 0))
++      if ((((size_t)tfr->rx_buf & 3) == 0) &&
++          (((size_t)tfr->tx_buf & 3) == 0))
+               return true;
+       /* otherwise we only allow transfers within the same page
+        * to avoid wasting time on dma_mapping when it is not practical
+        */
+-      if (((u32)tfr->tx_buf % SZ_4K) + tfr->len > SZ_4K) {
++      if (((size_t)tfr->tx_buf & PAGE_MASK) + tfr->len > PAGE_SIZE) {
+               dev_warn_once(&spi->dev,
+                             "Unaligned spi tx-transfer bridging page\n");
+               return false;
+       }
+-      if (((u32)tfr->rx_buf % SZ_4K) + tfr->len > SZ_4K) {
++      if (((size_t)tfr->rx_buf & PAGE_MASK) + tfr->len > PAGE_SIZE) {
+               dev_warn_once(&spi->dev,
+                             "Unaligned spi tx-transfer bridging page\n");
+               return false;
diff --git a/target/linux/brcm2708/patches-4.1/0158-spi-bcm2835-bcm2835_dma_release-can-be-static.patch b/target/linux/brcm2708/patches-4.1/0158-spi-bcm2835-bcm2835_dma_release-can-be-static.patch
new file mode 100644 (file)
index 0000000..8e4b1d4
--- /dev/null
@@ -0,0 +1,32 @@
+From 35801a979c9ede9ec11ad6aca777376a337e392e Mon Sep 17 00:00:00 2001
+From: kbuild test robot <fengguang.wu@intel.com>
+Date: Tue, 12 May 2015 19:43:59 +0800
+Subject: [PATCH 158/171] spi: bcm2835: bcm2835_dma_release() can be static
+
+Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+(cherry picked from commit 29ad1a7a9e08f1d2b6795c5278a0c0fd23679ded)
+---
+ drivers/spi/spi-bcm2835.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/spi/spi-bcm2835.c
++++ b/drivers/spi/spi-bcm2835.c
+@@ -401,7 +401,7 @@ static bool bcm2835_spi_can_dma(struct s
+       return true;
+ }
+-void bcm2835_dma_release(struct spi_master *master)
++static void bcm2835_dma_release(struct spi_master *master)
+ {
+       if (master->dma_tx) {
+               dmaengine_terminate_all(master->dma_tx);
+@@ -415,7 +415,7 @@ void bcm2835_dma_release(struct spi_mast
+       }
+ }
+-void bcm2835_dma_init(struct spi_master *master, struct device *dev)
++static void bcm2835_dma_init(struct spi_master *master, struct device *dev)
+ {
+       struct dma_slave_config slave_config;
+       const __be32 *addr;
diff --git a/target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch b/target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch
new file mode 100644 (file)
index 0000000..6f5cee2
--- /dev/null
@@ -0,0 +1,29 @@
+From c36a53b3df68f0311b808f87c186b9623a28ecd9 Mon Sep 17 00:00:00 2001
+From: Martin Sperl <kernel@martin.sperl.org>
+Date: Wed, 22 Jul 2015 07:43:28 +0000
+Subject: [PATCH 159/171] spi: bcm2835: fixed compile issues due to embedded
+ comments... replaced with #if to avoid issues in the future.
+
+Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
+---
+ drivers/spi/spi-bcm2835.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/spi/spi-bcm2835.c
++++ b/drivers/spi/spi-bcm2835.c
+@@ -592,6 +592,7 @@ static int bcm2835_spi_transfer_one(stru
+       return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
+ }
++#if 0
+ static void bcm2835_spi_handle_err(struct spi_master *master,
+                                  struct spi_message *msg)
+ {
+@@ -606,6 +607,7 @@ static void bcm2835_spi_handle_err(struc
+       /* and reset */
+       bcm2835_spi_reset_hw(master);
+ }
++#endif
+ static void bcm2835_spi_set_cs(struct spi_device *spi, bool gpio_level)
+ {
diff --git a/target/linux/brcm2708/patches-4.1/0160-dt-overlay-to-enable-dma-for-spi-driver.patch b/target/linux/brcm2708/patches-4.1/0160-dt-overlay-to-enable-dma-for-spi-driver.patch
new file mode 100644 (file)
index 0000000..891d1be
--- /dev/null
@@ -0,0 +1,45 @@
+From 6d356030061c6e90437dbf4b32f95a1fa36d8868 Mon Sep 17 00:00:00 2001
+From: Martin Sperl <kernel@martin.sperl.org>
+Date: Wed, 22 Jul 2015 08:34:41 +0000
+Subject: [PATCH 160/171] dt-overlay to enable dma for spi driver
+
+Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
+---
+ arch/arm/boot/dts/overlays/Makefile            |  1 +
+ arch/arm/boot/dts/overlays/spi-dma-overlay.dts | 20 ++++++++++++++++++++
+ 2 files changed, 21 insertions(+)
+ create mode 100755 arch/arm/boot/dts/overlays/spi-dma-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -45,6 +45,7 @@ dtb-$(RPI_DT_OVERLAYS) += rpi-sense-over
+ dtb-$(RPI_DT_OVERLAYS) += sdhost-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += spi-bcm2708-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += spi-bcm2835-overlay.dtb
++dtb-$(RPI_DT_OVERLAYS) += spi-dma-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += tinylcd35-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += uart1-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += vga666-overlay.dtb
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/spi-dma-overlay.dts
+@@ -0,0 +1,20 @@
++/*
++ * Device tree overlay for spi-bcm2835 to allow dma
++ */
++
++/dts-v1/;
++/plugin/;
++
++/ {
++      compatible = "brcm,bcm2835", "brcm,bcm2836", "brcm,bcm2708", "brcm,bcm2709";
++
++      fragment@0 {
++              target = <&spi0>;
++              __overlay__ {
++                      #address-cells = <1>;
++                      #size-cells = <0>;
++                      dmas = <&dma 6>, <&dma 7>;
++                      dma-names = "tx", "rx";
++              };
++      };
++ };
diff --git a/target/linux/brcm2708/patches-4.1/0161-dt-overlay-added-documentation-of-spi-dma-overlay.patch b/target/linux/brcm2708/patches-4.1/0161-dt-overlay-added-documentation-of-spi-dma-overlay.patch
new file mode 100644 (file)
index 0000000..3c9c27d
--- /dev/null
@@ -0,0 +1,25 @@
+From ad7d23327d85897f4c467a3cde377d73a2769ac3 Mon Sep 17 00:00:00 2001
+From: Martin Sperl <kernel@martin.sperl.org>
+Date: Wed, 22 Jul 2015 12:41:54 +0000
+Subject: [PATCH 161/171] dt: overlay: added documentation of spi-dma overlay
+
+Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
+---
+ arch/arm/boot/dts/overlays/README | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -515,6 +515,12 @@ Load:   dtoverlay=spi-bcm2835
+ Params: <None>
++Name:   spi-dma
++Info:   enables dma modes for spi-bcm2835
++Load:   dtoverlay=spi-dma
++Params: <None>
++
++
+ Name:   tinylcd35
+ Info:   3.5" Color TFT Display by www.tinylcd.com
+         Options: Touch, RTC, keypad
diff --git a/target/linux/brcm2708/patches-4.1/0162-rpisense-fb-add-low-light-mode-and-gamma-control.patch b/target/linux/brcm2708/patches-4.1/0162-rpisense-fb-add-low-light-mode-and-gamma-control.patch
new file mode 100644 (file)
index 0000000..3ebe306
--- /dev/null
@@ -0,0 +1,141 @@
+From a0d9e5b5186d36693a44d5fd85c1fcd43cfeee61 Mon Sep 17 00:00:00 2001
+From: Serge Schneider <serge@raspberrypi.org>
+Date: Mon, 17 Aug 2015 18:06:16 +0100
+Subject: [PATCH 162/171] rpisense-fb: add low-light mode and gamma control
+
+---
+ drivers/video/fbdev/rpisense-fb.c        | 68 +++++++++++++++++++++++++++++---
+ include/linux/mfd/rpisense/framebuffer.h |  6 ++-
+ 2 files changed, 68 insertions(+), 6 deletions(-)
+
+--- a/drivers/video/fbdev/rpisense-fb.c
++++ b/drivers/video/fbdev/rpisense-fb.c
+@@ -19,6 +19,7 @@
+ #include <linux/string.h>
+ #include <linux/mm.h>
+ #include <linux/slab.h>
++#include <linux/uaccess.h>
+ #include <linux/delay.h>
+ #include <linux/fb.h>
+ #include <linux/init.h>
+@@ -26,22 +27,35 @@
+ #include <linux/mfd/rpisense/framebuffer.h>
+ #include <linux/mfd/rpisense/core.h>
++static bool lowlight;
++module_param(lowlight, bool, 0);
++MODULE_PARM_DESC(lowlight, "Reduce LED matrix brightness to one third");
++
+ struct rpisense *rpisense;
+ struct rpisense_fb_param {
+       char __iomem *vmem;
+       u8 *vmem_work;
+       u32 vmemsize;
+-      u8 gamma[32];
++      u8 *gamma;
+ };
++static u8 gamma_default[32] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
++                             0x02, 0x02, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07,
++                             0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0E, 0x0F, 0x11,
++                             0x12, 0x14, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F,};
++
++static u8 gamma_low[32] = {0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
++                         0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
++                         0x03, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06,
++                         0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x0A, 0x0A,};
++
++static u8 gamma_user[32];
++
+ static struct rpisense_fb_param rpisense_fb_param = {
+       .vmem = NULL,
+       .vmemsize = 128,
+-      .gamma = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
+-                0x02, 0x02, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07,
+-                0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0E, 0x0F, 0x11,
+-                0x12, 0x14, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F,},
++      .gamma = gamma_default,
+ };
+ static struct fb_deferred_io rpisense_fb_defio;
+@@ -127,6 +141,46 @@ static struct fb_deferred_io rpisense_fb
+       .deferred_io    = rpisense_fb_deferred_io,
+ };
++static int rpisense_fb_ioctl(struct fb_info *info, unsigned int cmd,
++                           unsigned long arg)
++{
++      switch (cmd) {
++      case SENSEFB_FBIOGET_GAMMA:
++              if (copy_to_user((void __user *) arg, rpisense_fb_param.gamma,
++                               sizeof(u8[32])))
++                      return -EFAULT;
++              return 0;
++      case SENSEFB_FBIOSET_GAMMA:
++              if (copy_from_user(gamma_user, (void __user *)arg,
++                                 sizeof(u8[32])))
++                      return -EFAULT;
++              rpisense_fb_param.gamma = gamma_user;
++              schedule_delayed_work(&info->deferred_work,
++                                    rpisense_fb_defio.delay);
++              return 0;
++      case SENSEFB_FBIORESET_GAMMA:
++              switch (arg) {
++              case 0:
++                      rpisense_fb_param.gamma = gamma_default;
++                      break;
++              case 1:
++                      rpisense_fb_param.gamma = gamma_low;
++                      break;
++              case 2:
++                      rpisense_fb_param.gamma = gamma_user;
++                      break;
++              default:
++                      return -EINVAL;
++              }
++              schedule_delayed_work(&info->deferred_work,
++                                    rpisense_fb_defio.delay);
++              break;
++      default:
++              return -EINVAL;
++      }
++      return 0;
++}
++
+ static struct fb_ops rpisense_fb_ops = {
+       .owner          = THIS_MODULE,
+       .fb_read        = fb_sys_read,
+@@ -134,6 +188,7 @@ static struct fb_ops rpisense_fb_ops = {
+       .fb_fillrect    = rpisense_fb_fillrect,
+       .fb_copyarea    = rpisense_fb_copyarea,
+       .fb_imageblit   = rpisense_fb_imageblit,
++      .fb_ioctl       = rpisense_fb_ioctl,
+ };
+ static int rpisense_fb_probe(struct platform_device *pdev)
+@@ -171,6 +226,9 @@ static int rpisense_fb_probe(struct plat
+       info->screen_base = rpisense_fb_param.vmem;
+       info->screen_size = rpisense_fb_param.vmemsize;
++      if (lowlight)
++              rpisense_fb_param.gamma = gamma_low;
++
+       fb_deferred_io_init(info);
+       ret = register_framebuffer(info);
+--- a/include/linux/mfd/rpisense/framebuffer.h
++++ b/include/linux/mfd/rpisense/framebuffer.h
+@@ -16,7 +16,11 @@
+ #ifndef __LINUX_RPISENSE_FB_H_
+ #define __LINUX_RPISENSE_FB_H_
+-#include <linux/platform_device.h>
++#define SENSEFB_FBIO_IOC_MAGIC 0xF1
++
++#define SENSEFB_FBIOGET_GAMMA _IO(SENSEFB_FBIO_IOC_MAGIC, 0)
++#define SENSEFB_FBIOSET_GAMMA _IO(SENSEFB_FBIO_IOC_MAGIC, 1)
++#define SENSEFB_FBIORESET_GAMMA _IO(SENSEFB_FBIO_IOC_MAGIC, 2)
+ struct rpisense;
diff --git a/target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch b/target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch
new file mode 100644 (file)
index 0000000..101f28e
--- /dev/null
@@ -0,0 +1,27 @@
+From e418efa578dab433bf7e25eaaec809b33351792c Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Tue, 18 Aug 2015 11:50:03 +0100
+Subject: [PATCH 163/171] spi: bcm2835: Fix buld error from previous commit
+
+---
+ drivers/spi/spi-bcm2835.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/drivers/spi/spi-bcm2835.c
++++ b/drivers/spi/spi-bcm2835.c
+@@ -592,7 +592,6 @@ static int bcm2835_spi_transfer_one(stru
+       return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
+ }
+-#if 0
+ static void bcm2835_spi_handle_err(struct spi_master *master,
+                                  struct spi_message *msg)
+ {
+@@ -607,7 +606,6 @@ static void bcm2835_spi_handle_err(struc
+       /* and reset */
+       bcm2835_spi_reset_hw(master);
+ }
+-#endif
+ static void bcm2835_spi_set_cs(struct spi_device *spi, bool gpio_level)
+ {
diff --git a/target/linux/brcm2708/patches-4.1/0164-BCM270X_DT-README-add-note-on-indentation.patch b/target/linux/brcm2708/patches-4.1/0164-BCM270X_DT-README-add-note-on-indentation.patch
new file mode 100644 (file)
index 0000000..98650e7
--- /dev/null
@@ -0,0 +1,22 @@
+From a5fcc9f342ed9a3f028b8cbff4a610f1a8816b5d Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Wed, 19 Aug 2015 11:38:10 +0100
+Subject: [PATCH 164/171] BCM270X_DT: README - add note on indentation
+
+---
+ arch/arm/boot/dts/overlays/README | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -74,6 +74,10 @@ behaviour. See the list of overlays belo
+ The Overlay and Parameter Reference
+ ===================================
++N.B. When editing this file, please preserve the indentation levels to make it simple to parse
++programmatically. NO HARD TABS.
++
++
+ Name:   <The base DTB>
+ Info:   Configures the base Raspberry Pi hardware
+ Load:   <loaded automatically>
diff --git a/target/linux/brcm2708/patches-4.1/0165-bcm2708-dmaengine-Use-more-DMA-channels-but-not-12.patch b/target/linux/brcm2708/patches-4.1/0165-bcm2708-dmaengine-Use-more-DMA-channels-but-not-12.patch
new file mode 100644 (file)
index 0000000..a1029dc
--- /dev/null
@@ -0,0 +1,173 @@
+From 4e62a443aa8ffecca7918db93329d8bd8210a92c Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Thu, 20 Aug 2015 13:50:18 +0100
+Subject: [PATCH 165/171] bcm2708-dmaengine: Use more DMA channels (but not 12)
+
+1) Only the bcm2708_fb drivers uses the legacy DMA API, and
+it requires a BULK-capable channel, so all other types
+(FAST, NORMAL and LITE) can be made available to the regular
+DMA API.
+
+2) DMA channels 11-14 share an interrupt. The driver can't
+handle this, so don't use channels 12-14 (12 was used, probably
+because it appears to have an interrupt, but in reality that
+interrupt is for activity on ANY channel). This may explain
+a lockup encountered when running out of DMA channels.
+
+The combined effect of this patch is to leave 7 DMA channels
+available + channel 0 for bcm2708_fb via the legacy API.
+
+See: https://github.com/raspberrypi/linux/issues/1110
+     https://github.com/raspberrypi/linux/issues/1108
+---
+ arch/arm/boot/dts/bcm2708_common.dtsi |  5 ++--
+ drivers/dma/bcm2708-dmaengine.c       | 43 +++++++++++++++++++++++------------
+ 2 files changed, 31 insertions(+), 17 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm2708_common.dtsi
++++ b/arch/arm/boot/dts/bcm2708_common.dtsi
+@@ -59,11 +59,10 @@
+                                    <1 24>,
+                                    <1 25>,
+                                    <1 26>,
+-                                   <1 27>,
+-                                   <1 28>;
++                                   <1 27>;
+                       #dma-cells = <1>;
+-                      brcm,dma-channel-mask = <0x7f35>;
++                      brcm,dma-channel-mask = <0x0f35>;
+               };
+               intc: interrupt-controller {
+--- a/drivers/dma/bcm2708-dmaengine.c
++++ b/drivers/dma/bcm2708-dmaengine.c
+@@ -184,7 +184,7 @@ static void vc_dmaman_init(struct vc_dma
+ }
+ static int vc_dmaman_chan_alloc(struct vc_dmaman *dmaman,
+-                              unsigned preferred_feature_set)
++                              unsigned required_feature_set)
+ {
+       u32 chans;
+       int chan = 0;
+@@ -193,10 +193,8 @@ static int vc_dmaman_chan_alloc(struct v
+       chans = dmaman->chan_available;
+       for (feature = 0; feature < BCM_DMA_FEATURE_COUNT; feature++)
+               /* select the subset of available channels with the desired
+-                 feature so long as some of the candidate channels have that
+-                 feature */
+-              if ((preferred_feature_set & (1 << feature)) &&
+-                  (chans & dmaman->has_feature[feature]))
++                 features */
++              if (required_feature_set & (1 << feature))
+                       chans &= dmaman->has_feature[feature];
+       if (!chans)
+@@ -228,7 +226,7 @@ static int vc_dmaman_chan_free(struct vc
+ /* DMA Manager Monitor */
+-extern int bcm_dma_chan_alloc(unsigned preferred_feature_set,
++extern int bcm_dma_chan_alloc(unsigned required_feature_set,
+                             void __iomem **out_dma_base, int *out_dma_irq)
+ {
+       struct vc_dmaman *dmaman = g_dmaman;
+@@ -240,7 +238,7 @@ extern int bcm_dma_chan_alloc(unsigned p
+               return -ENODEV;
+       mutex_lock(&dmaman->lock);
+-      chan = vc_dmaman_chan_alloc(dmaman, preferred_feature_set);
++      chan = vc_dmaman_chan_alloc(dmaman, required_feature_set);
+       if (chan < 0)
+               goto out;
+@@ -442,6 +440,7 @@ static inline struct bcm2835_desc *to_bc
+       return container_of(t, struct bcm2835_desc, vd.tx);
+ }
++#if 0
+ static void dma_dumpregs(struct bcm2835_chan *c)
+ {
+       pr_debug("-------------DMA DUMPREGS-------------\n");
+@@ -457,6 +456,7 @@ static void dma_dumpregs(struct bcm2835_
+               readl(c->chan_base + BCM2835_DMA_NEXTCB));
+       pr_debug("--------------------------------------\n");
+ }
++#endif
+ static void bcm2835_dma_desc_free(struct virt_dma_desc *vd)
+ {
+@@ -862,6 +862,7 @@ static struct dma_async_tx_descriptor *b
+               uint32_t len = sg_dma_len(sgent);
+               for (j = 0; j < len; j += max_size) {
++                      u32 waits;
+                       struct bcm2835_dma_cb *control_block =
+                               &d->control_block_base[i+splitct];
+@@ -879,7 +880,7 @@ static struct dma_async_tx_descriptor *b
+                       }
+                       /* Common part */
+-                      u32 waits = SDHCI_BCM_DMA_WAITS;
++                      waits = SDHCI_BCM_DMA_WAITS;
+                       if ((dma_debug >> 0) & 0x1f)
+                               waits = (dma_debug >> 0) & 0x1f;
+                       control_block->info |= BCM2835_DMA_WAITS(waits);
+@@ -1074,6 +1075,14 @@ static int bcm2835_dma_probe(struct plat
+       int rc;
+       int i;
+       int irq;
++#ifdef CONFIG_DMA_BCM2708_LEGACY
++      static const u32 wanted_features[] = {
++              BCM_DMA_FEATURE_FAST,
++              BCM_DMA_FEATURE_NORMAL,
++              BCM_DMA_FEATURE_LITE
++      };
++      int j;
++#endif
+       if (!pdev->dev.dma_mask)
+@@ -1120,20 +1129,24 @@ static int bcm2835_dma_probe(struct plat
+       platform_set_drvdata(pdev, od);
+-      for (i = 0; i < 5; i++) {
++      for (i = 0, j = 0; j < ARRAY_SIZE(wanted_features);) {
++
+               void __iomem *chan_base;
+               int chan_id;
+-              chan_id = bcm_dma_chan_alloc(BCM_DMA_FEATURE_LITE,
+-                      &chan_base,
+-                      &irq);
+-
+-              if (chan_id < 0)
+-                      break;
++              chan_id = bcm_dma_chan_alloc(wanted_features[j],
++                                           &chan_base,
++                                           &irq);
++
++              if (chan_id < 0) {
++                      j++;
++                      continue;
++              }
+               rc = bcm2708_dma_chan_init(od, chan_base, chan_id, irq);
+               if (rc)
+                       goto err_no_dma;
++              i++;
+       }
+       if (pdev->dev.of_node) {
+@@ -1146,6 +1159,8 @@ static int bcm2835_dma_probe(struct plat
+               }
+       }
++      dev_info(&pdev->dev, "Initialized %i DMA channels (+ 1 legacy)\n", i);
++
+ #else
+       rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
+       if (rc)
diff --git a/target/linux/brcm2708/patches-4.1/0166-staging-fbtft-Add-reset-to-fbtft_init_display_dt.patch b/target/linux/brcm2708/patches-4.1/0166-staging-fbtft-Add-reset-to-fbtft_init_display_dt.patch
new file mode 100644 (file)
index 0000000..d427f22
--- /dev/null
@@ -0,0 +1,32 @@
+From 568f8a45569daead5a9474074994a3b1dd8bcfc7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
+Date: Sat, 11 Jul 2015 18:48:10 +0200
+Subject: [PATCH 166/171] staging: fbtft: Add reset to fbtft_init_display_dt()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When an init sequence is present in the Device Tree,
+fbtft_init_display_dt() is used to initialize the display.
+Add missing reset function call and activation of
+chip select for parallel bus.
+
+Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
+---
+ drivers/staging/fbtft/fbtft-core.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/staging/fbtft/fbtft-core.c
++++ b/drivers/staging/fbtft/fbtft-core.c
+@@ -1074,6 +1074,11 @@ static int fbtft_init_display_dt(struct
+       p = of_prop_next_u32(prop, NULL, &val);
+       if (!p)
+               return -EINVAL;
++
++      par->fbtftops.reset(par);
++      if (par->gpio.cs != -1)
++              gpio_set_value(par->gpio.cs, 0);  /* Activate chip */
++
+       while (p) {
+               if (val & FBTFT_OF_INIT_CMD) {
+                       val &= 0xFFFF;
diff --git a/target/linux/brcm2708/patches-4.1/0167-BCM270X_DT-mz61581-Revert-to-spi-bcm2708.patch b/target/linux/brcm2708/patches-4.1/0167-BCM270X_DT-mz61581-Revert-to-spi-bcm2708.patch
new file mode 100644 (file)
index 0000000..6b16eec
--- /dev/null
@@ -0,0 +1,31 @@
+From 79cc7775c324c4dd392d62db7f50c2933d23cf1f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
+Date: Sun, 19 Jul 2015 18:57:06 +0200
+Subject: [PATCH 167/171] BCM270X_DT: mz61581: Revert to spi-bcm2708
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The MZ61581 display does not work with spi-bcm2835 and software
+chip select. It works before the commit:
+spi: bcm2835: transform native-cs to gpio-cs on first spi_setup
+
+Revert to spi-bcm2708 until the cause has been detected and the
+issue resolved.
+
+Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
+---
+ arch/arm/boot/dts/overlays/mz61581-overlay.dts | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/arm/boot/dts/overlays/mz61581-overlay.dts
++++ b/arch/arm/boot/dts/overlays/mz61581-overlay.dts
+@@ -12,6 +12,8 @@
+       fragment@0 {
+               target = <&spi0>;
+               __overlay__ {
++                      /* does not work with spi-bcm2835 using software chip selects */
++                      compatible = "brcm,bcm2708-spi";
+                       status = "okay";
+                       spidev@0{
diff --git a/target/linux/brcm2708/patches-4.1/0168-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch b/target/linux/brcm2708/patches-4.1/0168-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
new file mode 100644 (file)
index 0000000..a4e4471
--- /dev/null
@@ -0,0 +1,336 @@
+From ba24fdcd3a1f7282dfba9e5137beaa9d0f999969 Mon Sep 17 00:00:00 2001
+From: Luke Wren <luke@raspberrypi.org>
+Date: Fri, 21 Aug 2015 23:14:48 +0100
+Subject: [PATCH 168/171] Add /dev/gpiomem device for rootless user GPIO access
+
+Signed-off-by: Luke Wren <luke@raspberrypi.org>
+---
+ arch/arm/boot/dts/bcm2708.dtsi          |   6 +
+ arch/arm/boot/dts/bcm2709.dtsi          |   6 +
+ drivers/char/broadcom/Kconfig           |   9 ++
+ drivers/char/broadcom/Makefile          |   3 +
+ drivers/char/broadcom/bcm2835-gpiomem.c | 265 ++++++++++++++++++++++++++++++++
+ 5 files changed, 289 insertions(+)
+ create mode 100644 drivers/char/broadcom/bcm2835-gpiomem.c
+
+--- a/arch/arm/boot/dts/bcm2708.dtsi
++++ b/arch/arm/boot/dts/bcm2708.dtsi
+@@ -15,5 +15,11 @@
+               arm-pmu {
+                       compatible = "arm,arm1176-pmu";
+               };
++
++              gpiomem {
++                      compatible = "brcm,bcm2835-gpiomem";
++                      reg = <0x7e200000 0x1000>;
++                      status = "okay";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm2709.dtsi
++++ b/arch/arm/boot/dts/bcm2709.dtsi
+@@ -16,6 +16,12 @@
+                       compatible = "arm,cortex-a7-pmu";
+                       interrupts = <3 9>;
+               };
++
++              gpiomem {
++                      compatible = "brcm,bcm2835-gpiomem";
++                      reg = <0x7e200000 0x1000>;
++                      status = "okay";
++              };
+       };
+       timer {
+--- a/drivers/char/broadcom/Kconfig
++++ b/drivers/char/broadcom/Kconfig
+@@ -38,3 +38,12 @@ config BCM_VC_SM
+       help
+       Support for the VC shared memory on the Broadcom reference
+       design. Uses the VCHIQ stack.
++
++config BCM2835_DEVGPIOMEM
++      tristate "/dev/gpiomem rootless GPIO access via mmap() on the BCM2835"
++      default m
++      help
++              Provides users with root-free access to the GPIO registers
++              on the 2835. Calling mmap(/dev/gpiomem) will map the GPIO
++              register page to the user's pointer.
++
+--- a/drivers/char/broadcom/Makefile
++++ b/drivers/char/broadcom/Makefile
+@@ -2,3 +2,6 @@ obj-$(CONFIG_BCM_VC_CMA)       += vc_cma/
+ obj-$(CONFIG_BCM2708_VCMEM)   += vc_mem.o
+ obj-$(CONFIG_BCM_VCIO)                += vcio.o
+ obj-$(CONFIG_BCM_VC_SM)         += vc_sm/
++
++obj-$(CONFIG_BCM2835_DEVGPIOMEM)+= bcm2835-gpiomem.o
++
+--- /dev/null
++++ b/drivers/char/broadcom/bcm2835-gpiomem.c
+@@ -0,0 +1,265 @@
++/**
++ * GPIO memory device driver
++ *
++ * Creates a chardev /dev/gpiomem which will provide user access to
++ * the BCM2835's GPIO registers when it is mmap()'d.
++ * No longer need root for user GPIO access, but without relaxing permissions
++ * on /dev/mem.
++ *
++ * Written by Luke Wren <luke@raspberrypi.org>
++ * Copyright (c) 2015, Raspberry Pi (Trading) Ltd.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions, and the following disclaimer,
++ *    without modification.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. The names of the above-listed copyright holders may not be used
++ *    to endorse or promote products derived from this software without
++ *    specific prior written permission.
++ *
++ * ALTERNATIVELY, this software may be distributed under the terms of the
++ * GNU General Public License ("GPL") version 2, as published by the Free
++ * Software Foundation.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
++ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
++ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
++ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
++ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/of.h>
++#include <linux/platform_device.h>
++#include <linux/mm.h>
++#include <linux/slab.h>
++#include <linux/cdev.h>
++#include <linux/pagemap.h>
++#include <linux/io.h>
++
++#define DEVICE_NAME "bcm2835-gpiomem"
++#define DRIVER_NAME "gpiomem-bcm2835"
++#define DEVICE_MINOR 0
++
++struct bcm2835_gpiomem_instance {
++      unsigned long gpio_regs_phys;
++      struct device *dev;
++};
++
++static struct cdev bcm2835_gpiomem_cdev;
++static dev_t bcm2835_gpiomem_devid;
++static struct class *bcm2835_gpiomem_class;
++static struct device *bcm2835_gpiomem_dev;
++static struct bcm2835_gpiomem_instance *inst;
++
++
++/****************************************************************************
++*
++*   GPIO mem chardev file ops
++*
++***************************************************************************/
++
++static int bcm2835_gpiomem_open(struct inode *inode, struct file *file)
++{
++      int dev = iminor(inode);
++      int ret = 0;
++
++      dev_info(inst->dev, "gpiomem device opened.");
++
++      if (dev != DEVICE_MINOR) {
++              dev_err(inst->dev, "Unknown minor device: %d", dev);
++              ret = -ENXIO;
++      }
++      return ret;
++}
++
++static int bcm2835_gpiomem_release(struct inode *inode, struct file *file)
++{
++      int dev = iminor(inode);
++      int ret = 0;
++
++      if (dev != DEVICE_MINOR) {
++              dev_err(inst->dev, "Unknown minor device %d", dev);
++              ret = -ENXIO;
++      }
++      return ret;
++}
++
++static const struct vm_operations_struct bcm2835_gpiomem_vm_ops = {
++#ifdef CONFIG_HAVE_IOREMAP_PROT
++      .access = generic_access_phys
++#endif
++};
++
++static int bcm2835_gpiomem_mmap(struct file *file, struct vm_area_struct *vma)
++{
++      /* Ignore what the user says - they're getting the GPIO regs
++         whether they like it or not! */
++      unsigned long gpio_page = inst->gpio_regs_phys >> PAGE_SHIFT;
++
++      vma->vm_page_prot = phys_mem_access_prot(file, gpio_page,
++                                               PAGE_SIZE,
++                                               vma->vm_page_prot);
++      vma->vm_ops = &bcm2835_gpiomem_vm_ops;
++      if (remap_pfn_range(vma, vma->vm_start,
++                      gpio_page,
++                      PAGE_SIZE,
++                      vma->vm_page_prot)) {
++              return -EAGAIN;
++      }
++      return 0;
++}
++
++static const struct file_operations
++bcm2835_gpiomem_fops = {
++      .owner = THIS_MODULE,
++      .open = bcm2835_gpiomem_open,
++      .release = bcm2835_gpiomem_release,
++      .mmap = bcm2835_gpiomem_mmap,
++};
++
++
++ /****************************************************************************
++*
++*   Probe and remove functions
++*
++***************************************************************************/
++
++
++static int bcm2835_gpiomem_probe(struct platform_device *pdev)
++{
++      int err;
++      void *ptr_err;
++      struct device *dev = &pdev->dev;
++      struct device_node *node = dev->of_node;
++      struct resource *ioresource;
++
++      /* Allocate buffers and instance data */
++
++      inst = kzalloc(sizeof(struct bcm2835_gpiomem_instance), GFP_KERNEL);
++
++      if (!inst) {
++              err = -ENOMEM;
++              goto failed_inst_alloc;
++      }
++
++      inst->dev = dev;
++
++      /* Create character device entries */
++
++      err = alloc_chrdev_region(&bcm2835_gpiomem_devid,
++                                DEVICE_MINOR, 1, DEVICE_NAME);
++      if (err != 0) {
++              dev_err(inst->dev, "unable to allocate device number");
++              goto failed_alloc_chrdev;
++      }
++      cdev_init(&bcm2835_gpiomem_cdev, &bcm2835_gpiomem_fops);
++      bcm2835_gpiomem_cdev.owner = THIS_MODULE;
++      err = cdev_add(&bcm2835_gpiomem_cdev, bcm2835_gpiomem_devid, 1);
++      if (err != 0) {
++              dev_err(inst->dev, "unable to register device");
++              goto failed_cdev_add;
++      }
++
++      /* Create sysfs entries */
++
++      bcm2835_gpiomem_class = class_create(THIS_MODULE, DEVICE_NAME);
++      ptr_err = bcm2835_gpiomem_class;
++      if (IS_ERR(ptr_err))
++              goto failed_class_create;
++
++      bcm2835_gpiomem_dev = device_create(bcm2835_gpiomem_class, NULL,
++                                      bcm2835_gpiomem_devid, NULL,
++                                      "gpiomem");
++      ptr_err = bcm2835_gpiomem_dev;
++      if (IS_ERR(ptr_err))
++              goto failed_device_create;
++
++      /* Get address from device tree if available (*_resource() correctly
++         converts the bus address in device tree to a physical address),
++         or use hardcoded offset + BCM2708_PERI_BASE if not.
++         (In spite of its name 2708 actually seems to have the correct
++         mach-dependent value on 2709 etc, as it is defined in
++         mach-bcm270x/platform.h) */
++
++      if (node) {
++              ioresource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++              inst->gpio_regs_phys = ioresource->start;
++      } else {
++              inst->gpio_regs_phys = GPIO_BASE;
++      }
++
++      dev_info(inst->dev, "Initialised: Registers at 0x%08lx",
++              inst->gpio_regs_phys);
++
++      return 0;
++
++failed_device_create:
++      class_destroy(bcm2835_gpiomem_class);
++failed_class_create:
++      cdev_del(&bcm2835_gpiomem_cdev);
++      err = PTR_ERR(ptr_err);
++failed_cdev_add:
++      unregister_chrdev_region(bcm2835_gpiomem_devid, 1);
++failed_alloc_chrdev:
++      kfree(inst);
++failed_inst_alloc:
++      dev_err(inst->dev, "could not load bcm2835_gpiomem");
++      return err;
++}
++
++static int bcm2835_gpiomem_remove(struct platform_device *pdev)
++{
++      struct device *dev = inst->dev;
++
++      kfree(inst);
++      device_destroy(bcm2835_gpiomem_class, bcm2835_gpiomem_devid);
++      class_destroy(bcm2835_gpiomem_class);
++      cdev_del(&bcm2835_gpiomem_cdev);
++      unregister_chrdev_region(bcm2835_gpiomem_devid, 1);
++
++      dev_info(dev, "GPIO mem driver removed - OK");
++      return 0;
++}
++
++ /****************************************************************************
++*
++*   Register the driver with device tree
++*
++***************************************************************************/
++
++static const struct of_device_id bcm2835_gpiomem_of_match[] = {
++      {.compatible = "brcm,bcm2835-gpiomem",},
++      { /* sentinel */ },
++};
++
++MODULE_DEVICE_TABLE(of, bcm2835_gpiomem_of_match);
++
++static struct platform_driver bcm2835_gpiomem_driver = {
++      .probe = bcm2835_gpiomem_probe,
++      .remove = bcm2835_gpiomem_remove,
++      .driver = {
++                 .name = DRIVER_NAME,
++                 .owner = THIS_MODULE,
++                 .of_match_table = bcm2835_gpiomem_of_match,
++                 },
++};
++
++module_platform_driver(bcm2835_gpiomem_driver);
++
++MODULE_ALIAS("platform:gpiomem-bcm2835");
++MODULE_LICENSE("GPL");
++MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace");
++MODULE_AUTHOR("Luke Wren <luke@raspberrypi.org>");
diff --git a/target/linux/brcm2708/patches-4.1/0169-tpa6130a2-Add-headphone-switch-control.patch b/target/linux/brcm2708/patches-4.1/0169-tpa6130a2-Add-headphone-switch-control.patch
new file mode 100644 (file)
index 0000000..d6840a9
--- /dev/null
@@ -0,0 +1,91 @@
+From aa7324f2f5f19ea3b2865897041f5a2838a92ac7 Mon Sep 17 00:00:00 2001
+From: Jan Grulich <jan@grulich.eu>
+Date: Mon, 24 Aug 2015 16:02:34 +0100
+Subject: [PATCH 169/171] tpa6130a2: Add headphone switch control
+
+Signed-off-by: Jan Grulich <jan@grulich.eu>
+---
+ sound/soc/codecs/tpa6130a2.c | 29 ++++++++++++++++++++++++++---
+ 1 file changed, 26 insertions(+), 3 deletions(-)
+
+--- a/sound/soc/codecs/tpa6130a2.c
++++ b/sound/soc/codecs/tpa6130a2.c
+@@ -4,6 +4,7 @@
+  * Copyright (C) Nokia Corporation
+  *
+  * Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
++ * Modified: Jan Grulich <jan@grulich.eu>
+  *
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU General Public License
+@@ -52,6 +53,8 @@ struct tpa6130a2_data {
+       enum tpa_model id;
+ };
++static void tpa6130a2_channel_enable(u8 channel, int enable);
++
+ static int tpa6130a2_i2c_read(int reg)
+ {
+       struct tpa6130a2_data *data;
+@@ -189,7 +192,7 @@ exit:
+ }
+ static int tpa6130a2_get_volsw(struct snd_kcontrol *kcontrol,
+-              struct snd_ctl_elem_value *ucontrol)
++                             struct snd_ctl_elem_value *ucontrol)
+ {
+       struct soc_mixer_control *mc =
+               (struct soc_mixer_control *)kcontrol->private_value;
+@@ -218,7 +221,7 @@ static int tpa6130a2_get_volsw(struct sn
+ }
+ static int tpa6130a2_put_volsw(struct snd_kcontrol *kcontrol,
+-              struct snd_ctl_elem_value *ucontrol)
++                             struct snd_ctl_elem_value *ucontrol)
+ {
+       struct soc_mixer_control *mc =
+               (struct soc_mixer_control *)kcontrol->private_value;
+@@ -255,8 +258,22 @@ static int tpa6130a2_put_volsw(struct sn
+       return 1;
+ }
++static int tpa6130a2_put_hp_sw(struct snd_kcontrol *kcontrol,
++                             struct snd_ctl_elem_value *ucontrol)
++{
++      int enable = ucontrol->value.integer.value[0];
++      unsigned int state;
++
++      state = (tpa6130a2_read(TPA6130A2_REG_VOL_MUTE) & 0x80) == 0;
++      if (state == enable)
++              return 0; /* No change */
++
++      tpa6130a2_channel_enable(TPA6130A2_HP_EN_R | TPA6130A2_HP_EN_L, enable);
++      return 1; /* Changed */
++}
++
+ /*
+- * TPA6130 volume. From -59.5 to 4 dB with increasing step size when going
++ * TPA6130 volume. From -59.5 to +4.0 dB with increasing step size when going
+  * down in gain.
+  */
+ static const unsigned int tpa6130_tlv[] = {
+@@ -278,6 +295,9 @@ static const struct snd_kcontrol_new tpa
+                      TPA6130A2_REG_VOL_MUTE, 0, 0x3f, 0,
+                      tpa6130a2_get_volsw, tpa6130a2_put_volsw,
+                      tpa6130_tlv),
++      SOC_SINGLE_EXT("TPA6130A2 Headphone Playback Switch",
++                     TPA6130A2_REG_VOL_MUTE, 7, 1, 1,
++                     tpa6130a2_get_volsw, tpa6130a2_put_hp_sw),
+ };
+ static const unsigned int tpa6140_tlv[] = {
+@@ -292,6 +312,9 @@ static const struct snd_kcontrol_new tpa
+                      TPA6130A2_REG_VOL_MUTE, 1, 0x1f, 0,
+                      tpa6130a2_get_volsw, tpa6130a2_put_volsw,
+                      tpa6140_tlv),
++      SOC_SINGLE_EXT("TPA6140A2 Headphone Playback Switch",
++                     TPA6130A2_REG_VOL_MUTE, 7, 1, 1,
++                     tpa6130a2_get_volsw, tpa6130a2_put_hp_sw),
+ };
+ /*
diff --git a/target/linux/brcm2708/patches-4.1/0170-RaspiDAC3-support.patch b/target/linux/brcm2708/patches-4.1/0170-RaspiDAC3-support.patch
new file mode 100644 (file)
index 0000000..8de4036
--- /dev/null
@@ -0,0 +1,335 @@
+From 023b465fbab6f672219706bbe19a9fbfa38c6192 Mon Sep 17 00:00:00 2001
+From: Jan Grulich <jan@grulich.eu>
+Date: Mon, 24 Aug 2015 16:03:47 +0100
+Subject: [PATCH 170/171] RaspiDAC3 support
+
+Signed-off-by: Jan Grulich <jan@grulich.eu>
+---
+ arch/arm/boot/dts/overlays/Makefile              |   1 +
+ arch/arm/boot/dts/overlays/README                |   6 +
+ arch/arm/boot/dts/overlays/raspidac3-overlay.dts |  45 ++++++
+ arch/arm/configs/bcm2709_defconfig               |   1 +
+ arch/arm/configs/bcmrpi_defconfig                |   1 +
+ sound/soc/bcm/Kconfig                            |   8 +
+ sound/soc/bcm/Makefile                           |   2 +
+ sound/soc/bcm/raspidac3.c                        | 191 +++++++++++++++++++++++
+ 8 files changed, 255 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/raspidac3-overlay.dts
+ create mode 100644 sound/soc/bcm/raspidac3.c
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -37,6 +37,7 @@ dtb-$(RPI_DT_OVERLAYS) += pitft28-resist
+ dtb-$(RPI_DT_OVERLAYS) += pps-gpio-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += pwm-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += pwm-2chan-overlay.dtb
++dtb-$(RPI_DT_OVERLAYS) += raspidac3-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += rpi-dac-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += rpi-display-overlay.dtb
+ dtb-$(RPI_DT_OVERLAYS) += rpi-ft5406-overlay.dtb
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -455,6 +455,12 @@ Params: pin                      Output
+         clock                    PWM clock frequency (informational)
++Name:   raspidac3
++Info:   Configures the RaspiDAV Rev.3x audio card
++Load:   dtoverlay=raspidac3
++Params: <None>
++
++
+ Name:   rpi-dac
+ Info:   Configures the RPi DAC audio card
+ Load:   dtoverlay=rpi-dac
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/raspidac3-overlay.dts
+@@ -0,0 +1,45 @@
++// Definitions for RaspiDACv3
++/dts-v1/;
++/plugin/;
++
++/ {
++      compatible = "brcm,bcm2708";
++
++      fragment@0 {
++              target = <&sound>;
++              __overlay__ {
++                      compatible = "jg,raspidacv3";
++                      i2s-controller = <&i2s>;
++                      status = "okay";
++              };
++      };
++
++      fragment@1 {
++              target = <&i2s>;
++              __overlay__ {
++                      status = "okay";
++              };
++      };
++
++      fragment@2 {
++              target = <&i2c1>;
++              __overlay__ {
++                      #address-cells = <1>;
++                      #size-cells = <0>;
++                      status = "okay";
++
++                      pcm5122@4c {
++                              #sound-dai-cells = <0>;
++                              compatible = "ti,pcm5122";
++                              reg = <0x4c>;
++                              status = "okay";
++                      };
++
++                      tpa6130a2: tpa6130a2@60 {
++                              compatible = "ti,tpa6130a2";
++                              reg = <0x60>;
++                              status = "okay";
++                      };
++              };
++      };
++};
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -830,6 +830,7 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m
+ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
++CONFIG_SND_BCM2708_SOC_RASPIDAC3=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+ CONFIG_SOUND_PRIME=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -823,6 +823,7 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m
+ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
++CONFIG_SND_BCM2708_SOC_RASPIDAC3=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+ CONFIG_SOUND_PRIME=m
+--- a/sound/soc/bcm/Kconfig
++++ b/sound/soc/bcm/Kconfig
+@@ -67,3 +67,11 @@ config SND_BCM2708_SOC_IQAUDIO_DAC
+       select SND_SOC_PCM512x_I2C
+       help
+         Say Y or M if you want to add support for IQaudIO-DAC.
++
++config SND_BCM2708_SOC_RASPIDAC3
++      tristate "Support for RaspiDAC Rev.3x"
++      depends on SND_BCM2708_SOC_I2S
++      select SND_SOC_PCM512x_I2C
++      select SND_SOC_TPA6130A2
++      help
++        Say Y or M if you want to add support for RaspiDAC Rev.3x.
+--- a/sound/soc/bcm/Makefile
++++ b/sound/soc/bcm/Makefile
+@@ -16,6 +16,7 @@ snd-soc-hifiberry-amp-objs := hifiberry_
+ snd-soc-rpi-dac-objs := rpi-dac.o
+ snd-soc-rpi-proto-objs := rpi-proto.o
+ snd-soc-iqaudio-dac-objs := iqaudio-dac.o
++snd-soc-raspidac3-objs := raspidac3.o
+ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
+ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += snd-soc-hifiberry-dacplus.o
+@@ -24,3 +25,4 @@ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_A
+ obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
+ obj-$(CONFIG_SND_BCM2708_SOC_RPI_PROTO) += snd-soc-rpi-proto.o
+ obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
++obj-$(CONFIG_SND_BCM2708_SOC_RASPIDAC3) += snd-soc-raspidac3.o
+--- /dev/null
++++ b/sound/soc/bcm/raspidac3.c
+@@ -0,0 +1,191 @@
++/*
++ * ASoC Driver for RaspiDAC v3
++ *
++ * Author:    Jan Grulich <jan@grulich.eu>
++ *            Copyright 2015
++ *              based on code by Daniel Matuschek <daniel@hifiberry.com>
++ *            based on code by Florian Meier <florian.meier@koalo.de>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * version 2 as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * General Public License for more details.
++ */
++
++#include <linux/module.h>
++#include <linux/platform_device.h>
++
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/pcm_params.h>
++#include <sound/soc.h>
++#include <sound/jack.h>
++#include <sound/soc-dapm.h>
++
++#include "../codecs/pcm512x.h"
++#include "../codecs/tpa6130a2.h"
++
++/* sound card init */
++static int snd_rpi_raspidac3_init(struct snd_soc_pcm_runtime *rtd)
++{
++      int ret;
++      struct snd_soc_card *card = rtd->card;
++      struct snd_soc_codec *codec = rtd->codec;
++      snd_soc_update_bits(codec, PCM512x_GPIO_EN, 0x08, 0x08);
++      snd_soc_update_bits(codec, PCM512x_GPIO_OUTPUT_4, 0xf, 0x02);
++      snd_soc_update_bits(codec, PCM512x_GPIO_CONTROL_1, 0x08,0x00);
++
++      ret = snd_soc_limit_volume(codec, "Digital Playback Volume", 207);
++      if (ret < 0)
++              dev_warn(card->dev, "Failed to set volume limit: %d\n", ret);
++      else {
++              struct snd_kcontrol *kctl;
++
++              ret = tpa6130a2_add_controls(codec);
++              if (ret < 0)
++                      dev_warn(card->dev, "Failed to add TPA6130A2 controls: %d\n",
++                               ret);
++              ret = snd_soc_limit_volume(codec,
++                                         "TPA6130A2 Headphone Playback Volume",
++                                         54);
++              if (ret < 0)
++                      dev_warn(card->dev, "Failed to set TPA6130A2 volume limit: %d\n",
++                               ret);
++              kctl = snd_soc_card_get_kcontrol(card,
++                                               "TPA6130A2 Headphone Playback Volume");
++              if (kctl) {
++                      strcpy(kctl->id.name, "Headphones Playback Volume");
++                      /* disable the volume dB scale so alsamixer works */
++                      kctl->vd[0].access = SNDRV_CTL_ELEM_ACCESS_READWRITE;
++              }
++
++              kctl = snd_soc_card_get_kcontrol(card,
++                                               "TPA6130A2 Headphone Playback Switch");
++              if (kctl)
++                      strcpy(kctl->id.name, "Headphones Playback Switch");
++      }
++
++      return 0;
++}
++
++/* set hw parameters */
++static int snd_rpi_raspidac3_hw_params(struct snd_pcm_substream *substream,
++                                     struct snd_pcm_hw_params *params)
++{
++      struct snd_soc_pcm_runtime *rtd = substream->private_data;
++      struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
++
++      unsigned int sample_bits =
++              snd_pcm_format_physical_width(params_format(params));
++
++      return snd_soc_dai_set_bclk_ratio(cpu_dai, sample_bits * 2);
++}
++
++/* startup */
++static int snd_rpi_raspidac3_startup(struct snd_pcm_substream *substream) {
++      struct snd_soc_pcm_runtime *rtd = substream->private_data;
++      struct snd_soc_codec *codec = rtd->codec;
++      snd_soc_update_bits(codec, PCM512x_GPIO_CONTROL_1, 0x08,0x08);
++      tpa6130a2_stereo_enable(codec, 1);
++      return 0;
++}
++
++/* shutdown */
++static void snd_rpi_raspidac3_shutdown(struct snd_pcm_substream *substream) {
++      struct snd_soc_pcm_runtime *rtd = substream->private_data;
++      struct snd_soc_codec *codec = rtd->codec;
++      snd_soc_update_bits(codec, PCM512x_GPIO_CONTROL_1, 0x08,0x00);
++      tpa6130a2_stereo_enable(codec, 0);
++}
++
++/* machine stream operations */
++static struct snd_soc_ops snd_rpi_raspidac3_ops = {
++      .hw_params = snd_rpi_raspidac3_hw_params,
++      .startup = snd_rpi_raspidac3_startup,
++      .shutdown = snd_rpi_raspidac3_shutdown,
++};
++
++/* interface setup */
++static struct snd_soc_dai_link snd_rpi_raspidac3_dai[] = {
++{
++      .name           = "RaspiDAC Rev.3x",
++      .stream_name    = "RaspiDAC HiFi",
++      .cpu_dai_name   = "bcm2708-i2s.0",
++      .codec_dai_name = "pcm512x-hifi",
++      .platform_name  = "bcm2708-i2s.0",
++      .codec_name     = "pcm512x.1-004c",
++      .dai_fmt        = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
++                              SND_SOC_DAIFMT_CBS_CFS,
++      .ops            = &snd_rpi_raspidac3_ops,
++      .init           = snd_rpi_raspidac3_init,
++},
++};
++
++/* audio machine driver */
++static struct snd_soc_card snd_rpi_raspidac3 = {
++      .name         = "RaspiDAC Rev.3x HiFi Audio Card",
++      .dai_link     = snd_rpi_raspidac3_dai,
++      .num_links    = ARRAY_SIZE(snd_rpi_raspidac3_dai),
++};
++
++/* sound card test */
++static int snd_rpi_raspidac3_probe(struct platform_device *pdev)
++{
++      int ret = 0;
++
++      snd_rpi_raspidac3.dev = &pdev->dev;
++
++      if (pdev->dev.of_node) {
++          struct device_node *i2s_node;
++          struct snd_soc_dai_link *dai = &snd_rpi_raspidac3_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_raspidac3);
++      if (ret)
++              dev_err(&pdev->dev,
++                      "snd_soc_register_card() failed: %d\n", ret);
++
++      return ret;
++}
++
++/* sound card disconnect */
++static int snd_rpi_raspidac3_remove(struct platform_device *pdev)
++{
++      return snd_soc_unregister_card(&snd_rpi_raspidac3);
++}
++
++static const struct of_device_id raspidac3_of_match[] = {
++      { .compatible = "jg,raspidacv3", },
++      {},
++};
++MODULE_DEVICE_TABLE(of, raspidac3_of_match);
++
++/* sound card platform driver */
++static struct platform_driver snd_rpi_raspidac3_driver = {
++      .driver = {
++              .name   = "snd-rpi-raspidac3",
++              .owner  = THIS_MODULE,
++              .of_match_table = raspidac3_of_match,
++      },
++      .probe          = snd_rpi_raspidac3_probe,
++      .remove         = snd_rpi_raspidac3_remove,
++};
++
++module_platform_driver(snd_rpi_raspidac3_driver);
++
++MODULE_AUTHOR("Jan Grulich <jan@grulich.eu>");
++MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x");
++MODULE_LICENSE("GPL v2");
diff --git a/target/linux/brcm2708/patches-4.1/0171-config-Add-SND_SOC_ADAU1701-module.patch b/target/linux/brcm2708/patches-4.1/0171-config-Add-SND_SOC_ADAU1701-module.patch
new file mode 100644 (file)
index 0000000..69d7fc6
--- /dev/null
@@ -0,0 +1,30 @@
+From 75a0d18d0d9f501f4325cf9917cae681d3dd995a Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Tue, 14 Jul 2015 16:55:02 +0100
+Subject: [PATCH 171/171] config: Add SND_SOC_ADAU1701 module
+
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig  | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -831,6 +831,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
+ CONFIG_SND_BCM2708_SOC_RASPIDAC3=m
++CONFIG_SND_SOC_ADAU1701=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+ CONFIG_SOUND_PRIME=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -824,6 +824,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
+ CONFIG_SND_BCM2708_SOC_RASPIDAC3=m
++CONFIG_SND_SOC_ADAU1701=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+ CONFIG_SOUND_PRIME=m