diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index c68b684f75..ab7d8fb029 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From a4af50c1021695afd8d35b00a824d9dcef5b0444 Mon Sep 17 00:00:00 2001 +From de8f49b794063c81c6ec1baa785ff75e05426e4f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 27 Apr 2016 17:43:28 +0100 -Subject: [PATCH 001/147] Revert "SUNRPC: Make NFS swap work with multipath" +Subject: [PATCH 001/164] Revert "SUNRPC: Make NFS swap work with multipath" This reverts commit 15001e5a7e1e207b6bd258cd8f187814cd15b6dc. --- @@ -95,10 +95,10 @@ index 66f23b376fa04a91134eddf6d8ee22a2f5de5808..f55fe2b0137e8fbefcd20c336b28ad48 EXPORT_SYMBOL_GPL(rpc_clnt_swap_deactivate); #endif /* CONFIG_SUNRPC_SWAP */ -From e278f6a69df039c32543d292ae4d5b2bc17c8f86 Mon Sep 17 00:00:00 2001 +From 0275f17007df95eb8f79d31dcf0304b801ba5b53 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/147] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/164] 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. @@ -145,10 +145,10 @@ index dc989a8b5afbd62b07cd65a2fa5edde67d3cc5fb..116680e3089f16e1e3e9113a3b93e62c usbnet_skb_return(dev, ax_skb); } -From 66f5a0d340b638f19d9a094ef37ea62b8888a98f Mon Sep 17 00:00:00 2001 +From 2da0270b1bc9ac5e0251e312cd5f5a3f12ba3588 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 17 Apr 2015 16:58:45 +0100 -Subject: [PATCH 003/147] smsc95xx: Disable turbo mode by default +Subject: [PATCH 003/164] smsc95xx: Disable turbo mode by default --- drivers/net/usb/smsc95xx.c | 2 +- @@ -168,10 +168,10 @@ index 116680e3089f16e1e3e9113a3b93e62cb78cc1bb..aa4cb43dcd9ba83b042332bc15a4dce6 MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction"); -From ddcc944b6565f7f0f0c7d18bf2d2f687bf79bfb1 Mon Sep 17 00:00:00 2001 +From 77f0fd614e08636d8a852babc83a2929eafa91dd Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 004/147] add smsc95xx packetsize module_param +Subject: [PATCH 004/164] add smsc95xx packetsize module_param Signed-off-by: Sam Nazarko --- @@ -213,10 +213,10 @@ index aa4cb43dcd9ba83b042332bc15a4dce68affce28..889bdabd9dea6cebccc361aa4ac569d7 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From a61702e80b9799fcc84d05a4529092fe41be58f4 Mon Sep 17 00:00:00 2001 +From 24e9d8d77d33df7311614bafc521a5750a042afc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 005/147] Allow mac address to be set in smsc95xx +Subject: [PATCH 005/164] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -312,10 +312,10 @@ index 889bdabd9dea6cebccc361aa4ac569d73681396b..d22a2324085fbf61fbd8920362bfc7b9 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From beb6b7e6346a324b6b2a7739df99de9049d7407e Mon Sep 17 00:00:00 2001 +From 0beb2ba6cbf38cedb4d04b01417f5c784ea53b79 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Aug 2016 22:19:28 +0100 -Subject: [PATCH 006/147] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 006/164] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -346,10 +346,10 @@ index d22a2324085fbf61fbd8920362bfc7b9f72bebe3..c846c55075387398d9bcb0957e31f5c8 MODULE_PARM_DESC(packetsize, "Override the RX URB packet size"); -From c1b6d1d2b148ae8b0f59c707c0089a3f4748fda0 Mon Sep 17 00:00:00 2001 +From 027fbdb777cc55a9d818f0dbd1385e36dcb07844 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 13:28:24 +0000 -Subject: [PATCH 007/147] serial: Take care starting a hung-up tty's port +Subject: [PATCH 007/164] serial: Take care starting a hung-up tty's port tty_port_hangup sets a port's tty field to NULL (holding the port lock), but uart_tx_stopped, called from __uart_start (with the port lock), @@ -377,10 +377,10 @@ index 2f44e20136545162d15ee9a39c2eae38352580d1..6b0518ce13ad210b888b73dd6c02a555 return 0; } -From 63ff5aacb1f6a7d2ccff35dbfcb379332db518b9 Mon Sep 17 00:00:00 2001 +From cf67462d3f84c6e9f324fa5f2e0d2e989976e53a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 008/147] Protect __release_resource against resources without +Subject: [PATCH 008/164] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -408,10 +408,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From 7dee84d113ad3984275aa5c9947b9671868b054c Mon Sep 17 00:00:00 2001 +From 7203c5f0d088eda0083955731a65478cc30401f9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 009/147] mm: Remove the PFN busy warning +Subject: [PATCH 009/164] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -436,10 +436,10 @@ index a2214c64ed3cd04dceaed7a579f593852e458df1..de26bffb1baa5cffa692fcb12b478263 goto done; } -From 72a13998cef3853972c04ef161e160657e131928 Mon Sep 17 00:00:00 2001 +From 85204cf198681000328c807a8e644b280d6c9e88 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 010/147] BCM2835_DT: Fix I2S register map +Subject: [PATCH 010/164] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -477,10 +477,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 845f05c3ad428a6d00fd1443df129ce809c87243 Mon Sep 17 00:00:00 2001 +From c6777a31d4a07af1ab0392b103e8145e684576dd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 011/147] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 011/164] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -507,10 +507,10 @@ index d96b2c947e74e3edab3917551c64fbd1ced0f34c..93e3f7660c4230c9f1dd3b195958cb49 #endif } else if (stat) { -From 2d72825126219048d31f47a2ff5591516c78f95e Mon Sep 17 00:00:00 2001 +From 22581d6e84ed94dcca9027bbe39c4d26dd98ad66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 012/147] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 012/164] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -639,10 +639,10 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 } -From 692c02f9867ba3b2fa1c689f117552e685edb6c9 Mon Sep 17 00:00:00 2001 +From 4de698b13dcc99570b658fdf6d81a1446fd77fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 013/147] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 013/164] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -741,10 +741,10 @@ index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From c4d120db5f133a08952ea22590b0c0c67eb6a7ab Mon Sep 17 00:00:00 2001 +From d30ce2f0a53682f01196eb8e192e8fe488f5d247 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 014/147] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 014/164] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -765,10 +765,10 @@ index 2e05046f866bd01bf87edcdeff0d5b76d4d0aea7..d780491b8013a4e97fa843958964454e }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From badd9feeaa82ab875609b7b0a7bf25efbfaa8035 Mon Sep 17 00:00:00 2001 +From 5902ff75c255a23497181aa3bd036d3d3b23176b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 015/147] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 015/164] serial: 8250: Don't crash when nr_uarts is 0 --- drivers/tty/serial/8250/8250_core.c | 2 ++ @@ -788,10 +788,10 @@ index dcf43f66404f12d2bd290a30adfe494dd056162e..0fba189c676ded310b92a09c4e7e8f76 for (i = 0; i < nr_uarts; i++) { struct uart_8250_port *up = &serial8250_ports[i]; -From 67c2058d24c35fcbfc2b8c5f106eac48431dae5c Mon Sep 17 00:00:00 2001 +From f525eb7bba4692b69f88dc664182f8bb58238a16 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 016/147] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 016/164] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -813,10 +813,10 @@ index fa77165fab2c1348163979da507df17e7168c49b..d11e2e4ea189466e686d762cb6c6fef9 .can_sleep = false, }; -From f715cb5504f4fa469703bcb947d79b490e1915bb Mon Sep 17 00:00:00 2001 +From bce45111c205499ec53eb24334986258e1464915 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 017/147] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 017/164] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -962,10 +962,10 @@ index d11e2e4ea189466e686d762cb6c6fef9111ecf8e..107ad7d58de8f8a7f55e09c9cdcf7d66 }, }; -From 70031a22e92ff2be5c3532683240358eff5dc748 Mon Sep 17 00:00:00 2001 +From 1788e923b4b0891e4fdc6fc4da0e618532796e7a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 018/147] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 018/164] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -992,10 +992,10 @@ index 107ad7d58de8f8a7f55e09c9cdcf7d66fa7ab66b..644bdecbcfcb79d3b84a33769265fca5 pc->irq_data[i].irqgroup = i; -From 2cffb96f1be716d7faf8bf834779ee3654664dc6 Mon Sep 17 00:00:00 2001 +From 1eeef586e6e83b5604d03fcdd4c0755ce67fdc8b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2016 12:32:47 +0100 -Subject: [PATCH 019/147] pinctrl-bcm2835: Return pins to inputs when freed +Subject: [PATCH 019/164] pinctrl-bcm2835: Return pins to inputs when freed When dynamically unloading overlays, it is important that freed pins are restored to being inputs to prevent functions from being enabled in @@ -1036,10 +1036,10 @@ index 644bdecbcfcb79d3b84a33769265fca5d3d0c9e5..81a66cba2ab0f7e3ae179de7edd10122 .get_function_name = bcm2835_pmx_get_function_name, .get_function_groups = bcm2835_pmx_get_function_groups, -From d325199f920511b129f6a3f515e3e7b96925d8e6 Mon Sep 17 00:00:00 2001 +From 8b70a822e60413a838e5e923828b7a187a088f1e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 020/147] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 020/164] 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 @@ -1120,10 +1120,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 3b00154095725c4a7fe1ef520c58b2580500bd95 Mon Sep 17 00:00:00 2001 +From 0bf8f9e13838e64f9e05776cac57831ed2f2859a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 021/147] spi-bcm2835: Disable forced software CS +Subject: [PATCH 021/164] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an @@ -1157,10 +1157,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 2864bf800f6e4b7e528bf08b8b4a010f3df791fc Mon Sep 17 00:00:00 2001 +From 53c371da8fc2d0bc866a5e11d208410c942e9216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 022/147] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 022/164] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1213,10 +1213,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 6a4aa446e9349b392a25290731dbec76234b3209 Mon Sep 17 00:00:00 2001 +From 41aa8122070bc4ddcbf50f8223414d2ff260ff24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 023/147] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 023/164] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1319,10 +1319,10 @@ index e18dc596cf2447fa9ef7e41b62d9396e29043426..80d35f760b4a4a51e60c355a84d538ba MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From 43d2daba968de660dd7c9cdc3bea3198de2ac07d Mon Sep 17 00:00:00 2001 +From ca64c2b9d0c016b38b24c60c76175ddb53d4e0bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:50:02 +0200 -Subject: [PATCH 024/147] bcm2835: Add support for uart1 +Subject: [PATCH 024/164] bcm2835: Add support for uart1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1379,10 +1379,10 @@ index 8f152266ba9b470df2eaaed9ebcf158ed2079834..0ef5cd3d1d6ec420360294acc98d40d6 static const char * const bcm2835_compat[] = { -From e173cc5bb5cc0e60e3cbf7d330668196336a02a3 Mon Sep 17 00:00:00 2001 +From e48b295baa0c2a0e0a5e8edf77df61c0956dcba3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 025/147] firmware: Updated mailbox header +Subject: [PATCH 025/164] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 11 +++++++++++ @@ -1445,10 +1445,10 @@ index 3fb357193f09914fe21f8555a4b8613f74f22bc3..227a107214a02deadcca3db202da265e RPI_FIRMWARE_GET_COMMAND_LINE = 0x00050001, RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, -From 5650c43fd3b3fd1dd3a19bbaedf590cac1fce8c2 Mon Sep 17 00:00:00 2001 +From 96cddb0ec832f987166dab74367c2cb99238a6c5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 11:44:59 -0700 -Subject: [PATCH 026/147] clk: bcm2835: Mark the VPU clock as critical +Subject: [PATCH 026/164] clk: bcm2835: Mark the VPU clock as critical The VPU clock is also the clock for our AXI bus, so we really can't disable it. This might have happened during boot if, for example, @@ -1494,10 +1494,10 @@ index 0fc71cbaa4404bddc1ca603a28a43425a7e5a341..085e5217d3b9f73c312dc7fd510ef55c /* clocks with per parent mux */ -From bfab37b97822e45e9cfb0aed8953839ee8c3b1ab Mon Sep 17 00:00:00 2001 +From 0f2d4c0deadb182f9d1f9d5b3cc935dadf9c5783 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 027/147] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 027/164] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1552,10 +1552,10 @@ index 085e5217d3b9f73c312dc7fd510ef55cddb4a27c..e527649ee5e32d20cebd762f4badbfca /* HDMI state machine */ [BCM2835_CLOCK_HSM] = REGISTER_PER_CLK( -From 20f4074103a081f6f62859085ad8c63ed7c26907 Mon Sep 17 00:00:00 2001 +From c71ed43a8bf16ec660c14bd38b46f20366e56377 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Jun 2016 12:05:35 -0700 -Subject: [PATCH 028/147] clk: bcm2835: Mark the CM SDRAM clock's parent as +Subject: [PATCH 028/164] clk: bcm2835: Mark the CM SDRAM clock's parent as critical While the SDRAM is being driven by its dedicated PLL most of the time, @@ -1629,10 +1629,10 @@ index e527649ee5e32d20cebd762f4badbfca06657a84..fbf616021704178a9d007219a0ea2a9f &cprman->onecell); } -From a26e2e949802c585bb0e52eca15eb53d530a3d53 Mon Sep 17 00:00:00 2001 +From fd8f5fbd3ea2cfd478f73b95fb7f7da94d65cc79 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Oct 2016 13:58:40 +0100 -Subject: [PATCH 029/147] Enable upstream BCM2835 auxiliar mini UART support +Subject: [PATCH 029/164] Enable upstream BCM2835 auxiliar mini UART support --- drivers/tty/serial/8250/Kconfig | 2 +- @@ -1652,10 +1652,10 @@ index 7c6f7afca5ddeed7b25fa6272246fc539bf31b04..748098f900d3474b5d535b24da76ad06 help Support for the BCM2835 auxiliar mini UART. -From 22746eb2611f0df11273a5683c6843f08c554fc3 Mon Sep 17 00:00:00 2001 +From d513c4e880e8860b228818787d453f091f587314 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 030/147] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 030/164] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1675,10 +1675,10 @@ index b4478cc92b55dbd76731ea8ec6a4228677adcebb..6981064d5cbad7d7078b23ce4ed5227e MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 078983ce02393115f2586a2192daa662da250fc1 Mon Sep 17 00:00:00 2001 +From 31ad6874cf350f457774a9685b87bd7d57b8ed25 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 19 Apr 2016 15:55:02 -0700 -Subject: [PATCH 031/147] ARM: bcm2708: Enable building power domain driver. +Subject: [PATCH 031/164] ARM: bcm2708: Enable building power domain driver. Signed-off-by: Eric Anholt --- @@ -1699,10 +1699,10 @@ index a39b0d58ddd0fdf0ac1cc7295f8aafb12546e226..7d11a44f36d2e6f8697773cd49a72e53 select PM_GENERIC_DOMAINS if PM help -From d628172d94f5db1cb8e3447bd5d0646dfe95a88a Mon Sep 17 00:00:00 2001 +From 0832afe377858f8818221ad2228902fb2db05063 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 032/147] Main bcm2708/bcm2709 linux port +Subject: [PATCH 032/164] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -4227,10 +4227,10 @@ index aa4bfbf129e4585ebb89b25fca4b03c928925022..89f7a3a539b5a1b84ddcf0a1548160c0 mmc_pm_flag_t pm_caps; /* supported pm features */ -From c7c3a04135c44b5923a487a5bb6e77cca415066d Mon Sep 17 00:00:00 2001 +From fc94cb1d67f2c948df46b75147aa6cfe236593d1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 033/147] reboot: Use power off rather than busy spinning when +Subject: [PATCH 033/164] reboot: Use power off rather than busy spinning when halt is requested --- @@ -4253,10 +4253,10 @@ index 3fa867a2aae672755c6ce6448f4148c989dbf964..80dca8dcd6709034b643c6a3f35729e0 /* -From 5025942b9ae5e098639b318fe7c16a6630db5eab Mon Sep 17 00:00:00 2001 +From 38ea1c059e3993aadb500ccb7bd333a06f15a6a5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 11 Nov 2015 21:01:15 +0000 -Subject: [PATCH 034/147] squash: include ARCH_BCM2708 / ARCH_BCM2709 +Subject: [PATCH 034/164] squash: include ARCH_BCM2708 / ARCH_BCM2709 --- drivers/char/hw_random/Kconfig | 2 +- @@ -4420,10 +4420,10 @@ index d528aaceaad95bc6bae2147ebe66249629d2512e..03a303e52d5fe57bbdd8769d24bca590 select REGMAP_MMIO help -From 0e37b043e6008b854397be514cfc39ea12e8e7df Mon Sep 17 00:00:00 2001 +From 7a4b0eebb3f5510d0f5fa4d4eae1acfd64b76141 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 035/147] Add dwc_otg driver +Subject: [PATCH 035/164] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -65449,10 +65449,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From e191bd94df99006e4ae446d089365240a0a066b5 Mon Sep 17 00:00:00 2001 +From 1c2ae83bc60313abfdc1951c1ba31299431eadd1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 036/147] bcm2708 framebuffer driver +Subject: [PATCH 036/164] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68911,10 +68911,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From 15691abde28f83698bef6933a1ba3c6b2f33ad94 Mon Sep 17 00:00:00 2001 +From cf57ed4939e0672e8315a26e59b6bc03d988f15b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 037/147] dmaengine: Add support for BCM2708 +Subject: [PATCH 037/164] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69536,10 +69536,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From a5c624f57a5acc7ea245f4f227853004d353627c Mon Sep 17 00:00:00 2001 +From f1377efccbb4fcba8ce525383141cc89afae9e68 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 038/147] MMC: added alternative MMC driver +Subject: [PATCH 038/164] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -71286,10 +71286,10 @@ index 0000000000000000000000000000000000000000..ceb37930e167f47c9c848e8de757ad09 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); -From e1a45e934c517ef9a714d9ffc31e16c78eaf93d0 Mon Sep 17 00:00:00 2001 +From cc1a52b2257884123c188d425f498eba5085668c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 039/147] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 039/164] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -73681,10 +73681,10 @@ index 0000000000000000000000000000000000000000..23dea422182534e248435aeaee3ecb5d +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From e707483b225a17abcde849a17cbdfd058ed89edc Mon Sep 17 00:00:00 2001 +From dbde666ae163f76a50a706b19682e5ad464a05c7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 040/147] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 040/164] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Some SD cards have been found that corrupt data when small blocks are erased. Add a quirk to indicate that ERASE should not be used, @@ -73820,10 +73820,10 @@ index d8673ca968ba2d65fb3da39680583ca5152641e4..510c3872929b3267fb6665bb69d26f5a unsigned int erase_shift; /* if erase unit is power 2 */ unsigned int pref_erase; /* in sectors */ -From 7d1b326d12782751c83a8667b9a381346e9e5b95 Mon Sep 17 00:00:00 2001 +From d95b82055864ad0b03093f761226ad150fc002e6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 041/147] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 041/164] cma: Add vc_cma driver to enable use of CMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -75166,10 +75166,10 @@ index 0000000000000000000000000000000000000000..be2819d5d41f9d5ed65daf8eedb94c9e + +#endif /* VC_CMA_H */ -From be0f0447f09e519cadc268d5e544addc3cfccecd Mon Sep 17 00:00:00 2001 +From 9823aae5f6fb866ba82b09ef978fe66b768610d7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 042/147] bcm2708: alsa sound driver +Subject: [PATCH 042/164] bcm2708: alsa sound driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77905,10 +77905,10 @@ index 0000000000000000000000000000000000000000..af3e6eb690113fc32ce9e06bd2f0f294 + +#endif // _VC_AUDIO_DEFS_H_ -From 76c58b748517c00ec318fb862bd5dd03b1778e64 Mon Sep 17 00:00:00 2001 +From 2228276389817548a91020e8955edf6d5a4d8fb6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 043/147] bcm2708 vchiq driver +Subject: [PATCH 043/164] bcm2708 vchiq driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -91273,10 +91273,10 @@ index 0000000000000000000000000000000000000000..b6bfa21155e431e93bfb2c149d324371 + return vchiq_build_time; +} -From abc3e6c51f5a3efb5e41ea209bfd208d683a5d8c Mon Sep 17 00:00:00 2001 +From fbdbbb1c7bbba89591cbf4755290e0b439233584 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 16:07:06 +0100 -Subject: [PATCH 044/147] vc_mem: Add vc_mem driver +Subject: [PATCH 044/164] vc_mem: Add vc_mem driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -92281,10 +92281,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From b5820bdf78d981ef65ad87f2f01a6ed8c27bc38e Mon Sep 17 00:00:00 2001 +From 9ffe90a0056dcebd6241904c12b4506f2ba7739a Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 045/147] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 045/164] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -96702,10 +96702,10 @@ index 0000000000000000000000000000000000000000..334f36d0d697b047df2922b5f2db67f3 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 3676bbcced7a440d5f67ec7361553eb47ed6eb5b Mon Sep 17 00:00:00 2001 +From 8acd6b0f163ba8bb3458e657052806f793790cce Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 046/147] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 046/164] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -97016,10 +97016,10 @@ index 0000000000000000000000000000000000000000..911f5b7393ed48ceed8751f06967ae64 +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From f7d98fc7e067a2276d2f5ebbd20db617f149d9cd Mon Sep 17 00:00:00 2001 +From e667820473ca7a8750e447db5d0e6e9e1e8b355c Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 047/147] Add SMI driver +Subject: [PATCH 047/164] Add SMI driver Signed-off-by: Luke Wren --- @@ -98970,10 +98970,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 8367c05a30e9624b12d7d3712e6909cf1e215be3 Mon Sep 17 00:00:00 2001 +From 03211436f6337575f10855a93cf7c8daeb2bed27 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 048/147] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 048/164] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -99143,10 +99143,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From 6ba83eb2c7620c477cd1a666a6b84ba007dbb9a1 Mon Sep 17 00:00:00 2001 +From a88d8cf8203933420414be871fcd3a2b68e5f704 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 049/147] Add SMI NAND driver +Subject: [PATCH 049/164] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -99511,10 +99511,10 @@ index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79d + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 2d577077553d6913a970d0d310f6130698fc7330 Mon Sep 17 00:00:00 2001 +From c6206be4df54175b76bab8537d5358185f356240 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 050/147] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 050/164] 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 @@ -100377,10 +100377,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 89567e90863abb9857b09e3fc051df1c0ee80af6 Mon Sep 17 00:00:00 2001 +From 1d4a8c83e671833d3debb1a1e6bb25ce05f73778 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 051/147] Add cpufreq driver +Subject: [PATCH 051/164] Add cpufreq driver Signed-off-by: popcornmix --- @@ -100642,10 +100642,10 @@ index 0000000000000000000000000000000000000000..3eb9e9326231b08e6ee95ad486485245 +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From c6c210234adf244ae3d7b353138e6212097efd4e Mon Sep 17 00:00:00 2001 +From 736f6abd189be74880cd00b8cf0eae2800329bb0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 052/147] Added hwmon/thermal driver for reporting core +Subject: [PATCH 052/164] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -100811,10 +100811,10 @@ index 0000000000000000000000000000000000000000..c63fb9f9d143e19612a18fe530c7b2b3 +MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); +MODULE_LICENSE("GPL"); -From 40cf8b0e804938d25e1b8a6d708e566dc332d622 Mon Sep 17 00:00:00 2001 +From 6d05fc461f618a4ca71e906b80d1e7b8c8d4571c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 053/147] Add Chris Boot's i2c driver +Subject: [PATCH 053/164] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101488,10 +101488,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 85fd5ef8372d72fd8648d0a2a3238d8d649b9a37 Mon Sep 17 00:00:00 2001 +From ab2e9a4542c9fd183efaf8aac906009eb5e85fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 054/147] char: broadcom: Add vcio module +Subject: [PATCH 054/164] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101717,10 +101717,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 6a3a35c240473f724f22581a956cef5c4c208ce0 Mon Sep 17 00:00:00 2001 +From 332891643a9916eecae2ee1e1b27b30b123cfacf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 055/147] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 055/164] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101826,10 +101826,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..b980d531b35b9981a88356ef1c8a7b86 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From c20b8387cf7daba6d5d8cfca9971ba8d3fb2b0d8 Mon Sep 17 00:00:00 2001 +From e42148a6c79a3c51495433c563a76bb4549f3b16 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 056/147] bcm2835: add v4l2 camera device +Subject: [PATCH 056/164] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -109561,10 +109561,10 @@ index 0000000000000000000000000000000000000000..9d1d11e4a53e510c04a416d92d195a7d + +#endif /* MMAL_VCHIQ_H */ -From b4ef7cff9216b662c6f8a564e59d2d59975af98a Mon Sep 17 00:00:00 2001 +From 854e1e582a10f5522b7d422e1ec0e3eeb821698e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 057/147] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 057/164] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -110076,10 +110076,10 @@ index 0000000000000000000000000000000000000000..78c5845d2f01deb04b477327d83fa606 + return $trailer; +} -From 897b7a7e5dbee3c8f31a15787bc72aa152040ec1 Mon Sep 17 00:00:00 2001 +From 30e0b8d0e83bf3c3282702890b0598871e2403c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 058/147] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 058/164] scripts/dtc: Update to upstream version 1.4.1 Includes the new localfixups format. @@ -112930,10 +112930,10 @@ index ad9b05ae698b0495ecbda42ffcf4743555313a27..2595dfda020fd9e03f0beff5006f229d -#define DTC_VERSION "DTC 1.4.1-g53bf130b" +#define DTC_VERSION "DTC 1.4.1-g25efc119" -From 1000326aad301ee90d38cfeffbe40248844637d4 Mon Sep 17 00:00:00 2001 +From d7f1e3e8e28a7224f1cffd009c3263ddad12d256 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 059/147] BCM2708: Add core Device Tree support +Subject: [PATCH 059/164] BCM2708: Add core Device Tree support Add the bare minimum needed to boot BCM2708 from a Device Tree. @@ -122762,10 +122762,10 @@ index 0000000000000000000000000000000000000000..8498134fdbb3912e9ce18282b53084d8 + +}; -From cb5beb68e71d20d4ca863ba9edddc02584bc663c Mon Sep 17 00:00:00 2001 +From 82aa1f1a2039cbb7c9c54b5fcd659acc119cdca9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 060/147] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 060/164] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -122785,10 +122785,10 @@ index 179219845dfcdfbeb586d12c5ec1296095d9fbf4..e0743e44f84188667a0c322e8c3d36f1 esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 40b94e61e4965f868cd80228722b1c8cb711472f Mon Sep 17 00:00:00 2001 +From 4228f0988df60375cedad17624edac666421b143 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 20:00:21 +0000 -Subject: [PATCH 061/147] BCM270X_DT: Add a .dtbo target, use for overlays +Subject: [PATCH 061/164] BCM270X_DT: Add a .dtbo target, use for overlays Change the filenames and extensions to keep the pre-DDT style of overlay (-overlay.dtb) distinct from new ones that use a @@ -122871,10 +122871,10 @@ index 0a07f9014944ed92a8e2e42983ae43be60b3e471..b1513a7c175885137034b9f7225788c0 # Bzip2 -From 5367a026c7630fd21e5655e240db0b7961f51455 Mon Sep 17 00:00:00 2001 +From 74dc3708ce0339320054d927361309289a70b1a2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 8 Apr 2016 17:43:27 +0100 -Subject: [PATCH 062/147] BCM270X_DT: Don't generate "linux,phandle" props +Subject: [PATCH 062/164] BCM270X_DT: Don't generate "linux,phandle" props The EPAPR standard says to use "phandle" properties to store phandles, rather than the deprecated "linux,phandle" version. By default, dtc @@ -122900,10 +122900,10 @@ index b1513a7c175885137034b9f7225788c0a7c35027..1d949b7410600dd3b04a3acde8c41cfe -d $(depfile).dtc.tmp $(dtc-tmp) ; \ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) -From 38179d1bdd5d56eb4f650e1fcb03e16a9919f3b0 Mon Sep 17 00:00:00 2001 +From 1cf0d93c519b9798c4e1476586ed8fa75799b89f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 063/147] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 063/164] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -123079,10 +123079,10 @@ index 8a3b5d29602ffe665cfb26522180f3a696664371..d067976ddc2f34d5476bcd9321856b1c /* Set LED brightness level * Must not sleep. Use brightness_set_blocking for drivers -From 17563d181c440776b9fd48b955692049b256faef Mon Sep 17 00:00:00 2001 +From af6cf12ab8541697369801ebb756a7776fcfe4a5 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 064/147] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 064/164] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -123181,10 +123181,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..fa72af0c981710fe80bacf4cf6612f6d #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ #define FB_TYPE_PLANES 1 /* Non interleaved planes */ -From d9e798ccdfc952fb773014af8ea17f0761265fc2 Mon Sep 17 00:00:00 2001 +From d4d5514a8eb4bd78c09f0c4aba084d78d977898e Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 065/147] Speed up console framebuffer imageblit function +Subject: [PATCH 065/164] 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 @@ -123393,10 +123393,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From cf627c1a74bbb2365793ba9b95b93343b13ee8f8 Mon Sep 17 00:00:00 2001 +From 0fdd3a68cf5f87f244ce5c67af946d9dda7d06df Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 066/147] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 066/164] 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 @@ -123646,10 +123646,10 @@ index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; -From bbacc68e30e1a11a8cebebf48131c2c88f7a2024 Mon Sep 17 00:00:00 2001 +From 61052b6f0d029c8c87c33ee8942c7226a1d9c168 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 067/147] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 067/164] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -123699,10 +123699,10 @@ index d6b729beba4930bbb1a1ddc4a6a6b8533bbf94e0..69e8d214f663572319f784fe17032b1e * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From 01e472c83c0c80ab085a1cdb57e98d2edb61b19f Mon Sep 17 00:00:00 2001 +From 04a8bcae6ebfb3717c8b7ffe1d25fc2e52e94b5f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 068/147] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 068/164] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -123738,10 +123738,10 @@ index ae83af649a607f67239f1a64bf45dd4b5770cc7d..4a7af9d0b910f59d17421ce14138400d ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -From 89d8d2311e4fc8cd51321ff48ba68453b2ad7f23 Mon Sep 17 00:00:00 2001 +From 3f56a1db6bd99180e3511d9f965e6279ecbe4557 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 069/147] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 069/164] rpi-ft5406: Add touchscreen driver for pi LCD display Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected @@ -124036,10 +124036,10 @@ index 0000000000000000000000000000000000000000..b27dbee8f56773dbd2a5503dc864747d +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From b332bdfd992d99b87de05b8959216c69bbfec7b5 Mon Sep 17 00:00:00 2001 +From 2ad1df751925fea95aee5645c2f290174ae32007 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Oct 2014 11:47:53 +0100 -Subject: [PATCH 070/147] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 070/164] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -125595,10 +125595,10 @@ index 6bd1089b07e0960830ed6bd6a8345202b7efd8b0..cd17dd11ebe7bbe00089e70cd2ccea74 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) -From f32c1e5e821f93a2608c9c348a226953767f2dfc Mon Sep 17 00:00:00 2001 +From 6d92bab505ea3a9d5edcb36d81be5869bf32578a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 071/147] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 071/164] 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 @@ -125633,10 +125633,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 737361dc9e36f0bf100a2858f16d8af95c8c6af8 Mon Sep 17 00:00:00 2001 +From d1bd193cf364ecc3632d54899122fa6c33acc3cf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 072/147] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 072/164] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -126501,10 +126501,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From c68fbf3a29b5f18ecd3d0eb161334aa9248172cc Mon Sep 17 00:00:00 2001 +From 7126e42c498bb9b1326e211dd23e3a949bc7919e Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 073/147] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 073/164] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -126678,10 +126678,10 @@ index 0000000000000000000000000000000000000000..29ecc08a227cdd4b3c6141935d0c5d21 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From b4420a1837db44bde6f4252c2f8895003fe0da11 Mon Sep 17 00:00:00 2001 +From d0714621d973b770793a062bbcae0909b8764608 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 074/147] ASoC: Add support for Rpi-DAC +Subject: [PATCH 074/164] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -126965,10 +126965,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 580f59b3b5f090e913694a3fb720d6b851026d07 Mon Sep 17 00:00:00 2001 +From 2ce853f5042df74a1af892dc11e2fbce362d4975 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 075/147] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 075/164] 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 @@ -127017,10 +127017,10 @@ index 8d914702cae4a3fe2c0ca0599cd1ec79f7322c83..c846716b4ed1027ade5512e8be90801d .dapm_widgets = wm8804_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(wm8804_dapm_widgets), -From fb1c04f22e67e4e5e3ac880b62d88e076a375478 Mon Sep 17 00:00:00 2001 +From 1475ded3f70d7226d47fcbd175cdb85a091b7d28 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 076/147] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 076/164] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -127308,10 +127308,10 @@ index 0000000000000000000000000000000000000000..9840e15d3e2be6396bc3ce6e74749408 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From a731345091e8cac6184b2393626e16752160298e Mon Sep 17 00:00:00 2001 +From d86443bad7ea828e6f676a1ef94a5c09defdabd9 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 077/147] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 077/164] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -127641,10 +127641,10 @@ index 0000000000000000000000000000000000000000..4e8e6dec14bcf4a1ff286c43742d4097 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 272329421a229c079947265c0240a315944b6239 Mon Sep 17 00:00:00 2001 +From f795f9dd79ddd8deeaeb79b2f9334fefa4b9a8e3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jul 2016 17:06:50 +0100 -Subject: [PATCH 078/147] iqaudio-dac: Compile fix - untested +Subject: [PATCH 078/164] iqaudio-dac: Compile fix - untested --- sound/soc/bcm/iqaudio-dac.c | 6 +++++- @@ -127668,10 +127668,10 @@ index 4e8e6dec14bcf4a1ff286c43742d4097249d6777..aa15bc4b49ca95edec905fddd8fd0a6d if (dapm->dev != codec_dai->dev) return 0; -From 4102ff718c700e8e7f2b33334a30e1f325af05f1 Mon Sep 17 00:00:00 2001 +From 40ca8076727f3cb181ba16cddd68e5ea8c105779 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 079/147] Added support for HiFiBerry DAC+ +Subject: [PATCH 079/164] 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. @@ -128300,10 +128300,10 @@ index 047c48953a20cd4075000ac294a17fe59baedcde..090fe0ee08e8765f9edbb62777413bb6 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 37e7ddff6e4a2d5f7c0a600705214f45d8aa1c34 Mon Sep 17 00:00:00 2001 +From d20863fd6f6552769150a340b17ff708dd6f9e1a Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 080/147] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 080/164] 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. @@ -129135,10 +129135,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From bbf443ac198557ce97083a2eec5d379dcb0b9846 Mon Sep 17 00:00:00 2001 +From bcba0b9f5eb84e0135e1598798723f7b8d548de7 Mon Sep 17 00:00:00 2001 From: "Daniel Matuschek (HiFiBerry)" Date: Tue, 26 Jul 2016 19:16:25 +0200 -Subject: [PATCH 081/147] Added HiFiBerry Digi+ Pro driver +Subject: [PATCH 081/164] Added HiFiBerry Digi+ Pro driver Signed-off-by: Daniel Matuschek --- @@ -129246,10 +129246,10 @@ index 9840e15d3e2be6396bc3ce6e74749408cc28c333..52ab9dea2e724c4238986ca53c59c849 ret = snd_soc_register_card(&snd_rpi_hifiberry_digi); -From cefc2e41425094bc18530f8c5911c6cae87d614c Mon Sep 17 00:00:00 2001 +From f323305e2963078a92e843fd4bd367007205be6b Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 082/147] Update ds1307 driver for device-tree support +Subject: [PATCH 082/164] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -129276,10 +129276,10 @@ index 8e1c5cb6ece6f60619e5cafcea4271e056d96778..f9536679b270a39a4d9639fdbd3420fe .driver = { .name = "rtc-ds1307", -From 0e0b3d3128d115eac8bd7ac736c22ae0fc738d20 Mon Sep 17 00:00:00 2001 +From 0e9df7c8a2737727726f970a1d699a42f2095a41 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 083/147] Add driver for rpi-proto +Subject: [PATCH 083/164] 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 @@ -129495,10 +129495,10 @@ index 0000000000000000000000000000000000000000..9db678e885efd63d84d60a098a84ed67 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From ddcd9417f7a403c52ea358c52779fe605110b599 Mon Sep 17 00:00:00 2001 +From b5321a50e000be6fbbb933ad4a706cfeb4f5539d Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 084/147] RaspiDAC3 support +Subject: [PATCH 084/164] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -129741,10 +129741,10 @@ index 0000000000000000000000000000000000000000..dd9eeea2af0382307f437e6db09d1546 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 70c9d6420872f69ec7d5ab2f152e9cbbb7f19d81 Mon Sep 17 00:00:00 2001 +From 1716878e7170a1c1b6ee0068cd9d52436453b310 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Aug 2016 14:49:23 +0100 -Subject: [PATCH 085/147] tpa6130a2: Add headphone switch control +Subject: [PATCH 085/164] tpa6130a2: Add headphone switch control Signed-off-by: Jan Grulich --- @@ -129853,10 +129853,10 @@ index f1ea052a822e1f584eb55cbc876b8e079e813ccd..3bf0163956c5665683d7950798df527f { struct tpa6130a2_data *data = snd_soc_component_get_drvdata(component); -From bdc944205e23a4a113e49dbf570de4f0101bafd1 Mon Sep 17 00:00:00 2001 +From 052bac5e7024865fc24c551c8346d94e57ff2ccf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Aug 2016 14:49:29 +0100 -Subject: [PATCH 086/147] Revert "tpa6130a2: Add headphone switch control" +Subject: [PATCH 086/164] Revert "tpa6130a2: Add headphone switch control" This reverts commit 860574af506a7a28782ca373feb880e7846943f9. --- @@ -129965,10 +129965,10 @@ index 3bf0163956c5665683d7950798df527fa1b57b59..f1ea052a822e1f584eb55cbc876b8e07 { struct tpa6130a2_data *data = snd_soc_component_get_drvdata(component); -From 1696716f31b53ba9a9cf0e521ef792f20165d107 Mon Sep 17 00:00:00 2001 +From 74a09e11382246d9a5700426ac786d8f45128ac8 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 087/147] Add Support for JustBoom Audio boards +Subject: [PATCH 087/164] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -130422,10 +130422,10 @@ index 0000000000000000000000000000000000000000..91acb666380faa3c0deb2230f8a0f8bb +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From de0659bfb838856c751502e97e13affe2a85b7a3 Mon Sep 17 00:00:00 2001 +From 488af72241badf484df31ab2754a9908329b2042 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 088/147] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 088/164] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -130607,10 +130607,10 @@ index 0000000000000000000000000000000000000000..6e2ee027926ee63c89222f75ceb89e3d +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 3644ed3253d6670362751df22e99b874d68a87bb Mon Sep 17 00:00:00 2001 +From b008636acecebd1991b25c5e8d8e80b921646d34 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 089/147] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 089/164] New AudioInjector.net Pi soundcard with low jitter audio in and out. Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile. @@ -130859,10 +130859,10 @@ index 0000000000000000000000000000000000000000..5ff0985e07efb96b95634a65995f09f7 +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From a4e6032dba3a007474c3e20280d494c876140a3d Mon Sep 17 00:00:00 2001 +From 76d796ef052134d5a1e4a041946d223f9c339241 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 090/147] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 090/164] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -131162,10 +131162,10 @@ index 0000000000000000000000000000000000000000..9b6e829bcb5b1762a853775e78163196 +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 300fa7e3486eaacfb0e21252b22ac240d9bdf4f1 Mon Sep 17 00:00:00 2001 +From 7cfde1b0ec9dac1c4065569cc60b82eb985994a8 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 091/147] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 091/164] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -131638,10 +131638,10 @@ index 0000000000000000000000000000000000000000..446796e7e4c14a7d95b2f2a01211d9a0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 84ad27aa1028b7812b2f74c1a8b23a4f0c4f5cdb Mon Sep 17 00:00:00 2001 +From 3c49f806fa6a7dbdfbf5b30052124fe336e74091 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 092/147] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 092/164] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -131814,10 +131814,10 @@ index 0000000000000000000000000000000000000000..89e65317512bc774453ac8d0d5b0ff98 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From 3a9b5642c0f49f89fdb4f83c995cd242d6496d8c Mon Sep 17 00:00:00 2001 +From b03bff37db2db9dbd905bab6567e804443c46e2e Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 093/147] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 093/164] Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, @@ -132024,10 +132024,10 @@ index 0000000000000000000000000000000000000000..8e8e62e5a36a279b425ed4655cfbac99 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 0fe0e233834a7947164cb6d01a96994d75880969 Mon Sep 17 00:00:00 2001 +From c154780e5e7fbb00e7dbca9aaf6ae5a16f089921 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 094/147] rpi_display: add backlight driver and overlay +Subject: [PATCH 094/164] rpi_display: add backlight driver and overlay Add a mailbox-driven backlight controller for the Raspberry Pi DSI touchscreen display. Requires updated GPU firmware to recognise the @@ -132196,10 +132196,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 4865ed3c59b45b63289b98ff732aa96cc377e4ad Mon Sep 17 00:00:00 2001 +From b0b595375579a03660d1415d0ce2d90b95a87c63 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 095/147] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 095/164] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -132425,10 +132425,10 @@ index 0000000000000000000000000000000000000000..f3e0f1620b979e4fa3c7e556eb785ac2 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From 3b62ce62c3a8eeef7d50e3cbf457680627719693 Mon Sep 17 00:00:00 2001 +From 2331cdeab9887cb7b1e04cf0346762e0e09b64fd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 4 Mar 2016 12:49:09 +0000 -Subject: [PATCH 096/147] DRM_VC4: Allow to be built for ARCH_BCM270x +Subject: [PATCH 096/164] DRM_VC4: Allow to be built for ARCH_BCM270x --- drivers/gpu/drm/vc4/Kconfig | 2 +- @@ -132447,10 +132447,10 @@ index e53df59cb139f25f8e6ae916bca93abf0c49e063..f6e938208b73512f20eab46a383ca91b select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER -From 20a14552028b3dac925f53afebcfbe5b259a9f69 Mon Sep 17 00:00:00 2001 +From 521c940d1cc75adef3a26540109f9d7ccdc3f025 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 097/147] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 097/164] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -132479,10 +132479,10 @@ index 8a9e213387a79fcc335caad27520a68edf03f446..4a5a1c5cf9b345e255f4d79714a7ae46 uap->old_cr = 0; uap->port.dev = dev; -From 7f7a084613bc66c4d06326fab4e1cbdb67349a23 Mon Sep 17 00:00:00 2001 +From fc5207e777a6ae24b4863b24e46bd82eed68d797 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 098/147] OF: DT-Overlay configfs interface +Subject: [PATCH 098/164] OF: DT-Overlay configfs interface This is a port of Pantelis Antoniou's v3 port that makes use of the new upstreamed configfs support for binary attributes. @@ -132914,10 +132914,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From c4a12c0f368ac62c71f241e2a007fef50a0e4a31 Mon Sep 17 00:00:00 2001 +From 0853e3aadc0fe5a05d98d0c867bb60d291f84cbe Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 099/147] brcm: adds support for BCM43341 wifi +Subject: [PATCH 099/164] brcm: adds support for BCM43341 wifi --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 ++ @@ -132957,10 +132957,10 @@ index 3cc42bef6245529c37320f0ec6ab5e7b77f1d2f6..2ae9d0c9dbaaab6bc16610ac012039cd #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 -From 5390e78a93ce43d5e73c234fe811d3a7900b259d Mon Sep 17 00:00:00 2001 +From cba620cb7a5a988aa167eaea07eaa79be6eca3fd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 17:25:59 +0000 -Subject: [PATCH 100/147] brcmfmac: Disable power management +Subject: [PATCH 100/164] brcmfmac: Disable power management Disable wireless power saving in the brcmfmac WLAN driver. This is a temporary measure until the connectivity loss resulting from power @@ -132985,10 +132985,10 @@ index abaf003a5b396f94e891c6569217ffbb595987e1..f6221c20ff8e2c07a9ddb329204cc59c if (!check_vif_up(ifp->vif)) { -From dd1ce01c2721bd6400d9c4ae6c7691ca6d5ea5e8 Mon Sep 17 00:00:00 2001 +From 3dfa53d910eb7b34a91b057b86e25837e539e1f8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Apr 2016 17:13:47 +0100 -Subject: [PATCH 101/147] brcmfmac: Use original country code as a fallback +Subject: [PATCH 101/164] brcmfmac: Use original country code as a fallback Commit 73345fd212980d2e28a5c6d83801c903bd773680: @@ -133047,10 +133047,10 @@ index f6221c20ff8e2c07a9ddb329204cc59ce574117b..12bffe239e9d28ce8f73db48b3f5759f ccreq->country_abbrev[1] = alpha2[1]; ccreq->country_abbrev[2] = 0; -From e69aabda86715cce55c8b8cddda7e4d5cfc879e7 Mon Sep 17 00:00:00 2001 +From 90f55b8f5103768bc16fdc3e0ed2ada4549771a1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 13 Sep 2016 16:32:37 +0100 -Subject: [PATCH 102/147] brcmfmac: do not use internal roaming engine by +Subject: [PATCH 102/164] brcmfmac: do not use internal roaming engine by default Some evidence of curing disconnects with this disabled, so make it a default. @@ -133074,10 +133074,10 @@ index 3e15d64c64813513bc22202dd9e468588699abb0..4051780f64f44a5ce522babe6c371a1b MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); -From f517714e4bf668d741543df203c4e4535a93d270 Mon Sep 17 00:00:00 2001 +From 782386a4347f0686acfe44393e0d39f765668de8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 Aug 2016 17:10:09 +0100 -Subject: [PATCH 103/147] brcmfmac: Change stop_ap sequence +Subject: [PATCH 103/164] brcmfmac: Change stop_ap sequence Patch from Broadcom/Cypress to resolve a customer error @@ -133110,10 +133110,10 @@ index 12bffe239e9d28ce8f73db48b3f5759ffe550162..0c3cecb22763db2db5ccbc1789f50b2b brcmf_fil_iovar_int_set(ifp, "mbss", 0); err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_REGULATORY, -From d83d64c25aaa6922c6409d7072519ae7b3a661b1 Mon Sep 17 00:00:00 2001 +From d50b946478dbde39003512fb1063c66e5b38b31d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 104/147] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 104/164] hci_h5: Don't send conf_req when ACTIVE Without this patch, a modem and kernel can continuously bombard each other with conf_req and conf_rsp messages, in a demented game of tag. @@ -133136,10 +133136,10 @@ index 0879d64b1caf58afb6e5d494c07d9ab7e7cdf983..5161ab30fd533d50f516bb93d5b9f402 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 0bcd78b36798f8e47e741009724395bd89d2fd99 Mon Sep 17 00:00:00 2001 +From b80d061c12fcc16a1e07c58f31bfb04796907355 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Jan 2016 13:06:39 -0800 -Subject: [PATCH 105/147] drm/vc4: Add a debugfs node for tracking execution +Subject: [PATCH 105/164] drm/vc4: Add a debugfs node for tracking execution state. Signed-off-by: Eric Anholt @@ -133199,10 +133199,10 @@ index ae1609e739ef424d99207f830cd2bac41ce71557..26dc4f5b491e2e7fcd1a28dcc8ef0cbe vc4_queue_hangcheck(struct drm_device *dev) { -From 994c435395b96dd51459aae172fe9b8de0f0007c Mon Sep 17 00:00:00 2001 +From 99816377ca332391180d1ea82612884a88429a0f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:03:33 -0800 -Subject: [PATCH 106/147] drm/vc4: Include vc4_drm.h in uapi in downstream +Subject: [PATCH 106/164] drm/vc4: Include vc4_drm.h in uapi in downstream build. Signed-off-by: Eric Anholt @@ -133223,10 +133223,10 @@ index 9355dd8eff3ba39401dfe37e7fbf7737f0397f11..68828bf586f05a8d9b0a6ab409ee91a7 header-y += vmwgfx_drm.h header-y += msm_drm.h -From 3c8d3033afca8aab182da9869d319e14365606f4 Mon Sep 17 00:00:00 2001 +From 24c1c95ae8b96f40c1a273b1e330215d3d1c62eb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Oct 2015 11:32:14 -0700 -Subject: [PATCH 107/147] drm/vc4: Force HDMI to connected. +Subject: [PATCH 107/164] drm/vc4: Force HDMI to connected. For some reason on the downstream tree, the HPD GPIO isn't working. @@ -133249,10 +133249,10 @@ index 4452f3631cacea37bbd5dc8a594367631e308adc..3a622f70a077c2ebe214830f5d700cd8 if (gpio_get_value_cansleep(vc4->hdmi->hpd_gpio) ^ vc4->hdmi->hpd_active_low) -From 75d03980407e81b671f70db64d5c2eb8701742f9 Mon Sep 17 00:00:00 2001 +From c1455863ee4f8cb17e9ec4e16e56cfe087b1eeb7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 108/147] config: Add default configs +Subject: [PATCH 108/164] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1294 +++++++++++++++++++++++++++++++++++ @@ -135871,10 +135871,10 @@ index 0000000000000000000000000000000000000000..cfe21355f7d95326b292be1b018b988f +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 0ede8332ea5e3b571cf37fad426991f8ac0fa603 Mon Sep 17 00:00:00 2001 +From aa5c852274690a7ea13451238d5ae709d5ae979f Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 109/147] Add arm64 configuration and device tree differences. +Subject: [PATCH 109/164] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -137277,10 +137277,10 @@ index 0000000000000000000000000000000000000000..1fcde8c1329bbfd329245a8bb1769199 +CONFIG_LIBCRC32C=y +CONFIG_BCM2708_VCHIQ=n -From 00a5965015003650f46ae16830020624f085f062 Mon Sep 17 00:00:00 2001 +From b650382bc5222883b04fb38973bd769c22ee4a08 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 5 Oct 2016 16:10:59 +0100 -Subject: [PATCH 110/147] bcm2835-cpufreq: Only report a single frequency when +Subject: [PATCH 110/164] bcm2835-cpufreq: Only report a single frequency when max and min frequencies are the same 4.8 kernel gives EINV error when max and min frequencies are the same (e.g. from using force_turbo=1) @@ -137349,10 +137349,10 @@ index 3eb9e9326231b08e6ee95ad486485245c71cf868..414fbdc10dfbfc6e4bb47870a7af3fd5 /* the CPUFreq driver */ -From 4b96fd892f5d8beb28ece1053d13a448d9799100 Mon Sep 17 00:00:00 2001 +From e1086983e04a14818420aa0c6e1101fca47c9e09 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 7 Oct 2016 12:37:09 +0100 -Subject: [PATCH 111/147] scripts/mkknlimg: Change string for DDT detection +Subject: [PATCH 111/164] scripts/mkknlimg: Change string for DDT detection The old "of_overlay_apply" string does not appear in 4.8 kernel builds. "of_cfs_init" is both present and a more accurate indication of support @@ -137379,10 +137379,10 @@ index 78c5845d2f01deb04b477327d83fa60624f87f98..a21f7e31bc904233e980e66ae3e6337e my $res = try_extract($kernel_file, $tmpfile1); -From cf4eeae824ca15077545b040d3de0f8f64234dc4 Mon Sep 17 00:00:00 2001 +From 1053e637ad132ad30385a0d0a3bec9f9ddaad19a Mon Sep 17 00:00:00 2001 From: Herve Jourdain Date: Fri, 20 May 2016 16:02:23 +0800 -Subject: [PATCH 112/147] build: support for .dtbo files for dtb overlays +Subject: [PATCH 112/164] build: support for .dtbo files for dtb overlays Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb. Patch the kernel, which has faulty rules to generate .dtbo the way yocto does @@ -137424,10 +137424,10 @@ index 1d949b7410600dd3b04a3acde8c41cfead15bfa4..1967878a843461c3ff1f473b9a030eb0 -d $(depfile).dtc.tmp $(dtc-tmp) ; \ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) -From 90575664c517a63fdf4da3875737ce4cf4fd912e Mon Sep 17 00:00:00 2001 +From e529c579dd807460f2b9c6c7b9e1f4ff8a36941b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Oct 2016 19:42:55 -0700 -Subject: [PATCH 113/147] [media]bcm2835-camera: fix compilation warning/werror +Subject: [PATCH 113/164] [media]bcm2835-camera: fix compilation warning/werror | /a/builder/mnt/build/tmp-glibc/work-shared/raspberrypi3/kernel-source/drivers/media/platform/bcm2835/bcm2835-camera.c:656:17: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types ] @@ -137457,10 +137457,10 @@ index 70f4db2741037381e638d1dda5a95478809eb161..cb5bab642eaab2f60d641801dd0afdac struct bm2835_mmal_dev *dev = vb2_get_drv_priv(vq); unsigned long size; -From 22db6534fde59cad8c8c5be264815e6861672ffc Mon Sep 17 00:00:00 2001 +From bfd98d3affbe0dbfb8cc9871d8186e6f54081946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 8 Oct 2016 16:26:46 +0200 -Subject: [PATCH 114/147] bcm2709: Drop platform smp and timer init code +Subject: [PATCH 114/164] bcm2709: Drop platform smp and timer init code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -137635,10 +137635,10 @@ index 90773a30b87abbfda1615326c6faf59b9db6d68e..d4c9d57d78a964fbbf799b534471462d .init_early = bcm2709_init_early, .reserve = board_reserve, -From b4cbdcee1d87382e855e58fc59f3f04152220269 Mon Sep 17 00:00:00 2001 +From 06b405d4ba1f3f52b496a63d7f113b8cf327d05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 3 Oct 2016 17:53:15 +0200 -Subject: [PATCH 115/147] BCM270X_DT: Use bcm283x.dtsi, bcm2835.dtsi and +Subject: [PATCH 115/164] BCM270X_DT: Use bcm283x.dtsi, bcm2835.dtsi and bcm2836.dtsi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -138767,10 +138767,10 @@ index 223bd9627b3dcaac5458909dc59c877eed751ce4..491594c918cf5da94fbb19a606edb0dd +}; +#endif -From fa7774975833873689e6e7676e645e829cee79ff Mon Sep 17 00:00:00 2001 +From 69425b8b64f5211d6751759053ab81cb9f456a6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 116/147] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 116/164] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -138894,10 +138894,10 @@ index 4dddd8298a227d64862f2e92954a465f2e44b3f6..1f545e024422f59280932713e6a1b051 register_restart_handler(&wdt->restart_handler); if (pm_power_off == NULL) -From 030afa45a903debfcccf2fc8dce1e25c3cab8ae4 Mon Sep 17 00:00:00 2001 +From 163f8c9a03261e521f352e6840a9c96c4d00c434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 17:07:46 +0200 -Subject: [PATCH 117/147] bcm270x: Use watchdog for reboot/poweroff +Subject: [PATCH 117/164] bcm270x: Use watchdog for reboot/poweroff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139156,10 +139156,10 @@ index d4c9d57d78a964fbbf799b534471462d3c3b88f1..ed5c5414f7a3ad7284cda881e9e55077 module_param(serial, uint, 0644); -module_param(reboot_part, uint, 0644); -From 216d6b21f0820ad52f15c13d65c8d14e9a6756b2 Mon Sep 17 00:00:00 2001 +From c779ba297d9bc20c6b94bbb54983d2b5de5d70f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:35:40 +0200 -Subject: [PATCH 118/147] bcm270x: Remove dead files +Subject: [PATCH 118/164] bcm270x: Remove dead files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139360,10 +139360,10 @@ index 6aa68260dd866c83527dffece8de483913231fb3..00000000000000000000000000000000 - */ -#define VMALLOC_END (0xff000000) -From fe42494868c90a4abc3bfd5a3ab5e800d6bf689e Mon Sep 17 00:00:00 2001 +From ad7c997f88722b899430c148b5d1b56f84dffcb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:37:43 +0200 -Subject: [PATCH 119/147] bcm270x: Drop bcm2835-aux-uart hack +Subject: [PATCH 119/164] bcm270x: Drop bcm2835-aux-uart hack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139443,10 +139443,10 @@ index ed5c5414f7a3ad7284cda881e9e550777cd29282..9a1ad48d13172856e3ec748db015cb95 system_serial_low = serial; } -From 274b9d89a7951612b10f95f304a8bd900d45157a Mon Sep 17 00:00:00 2001 +From cc4b712ea6df48fbc554d3cc7f93bbfc31418d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:39:30 +0200 -Subject: [PATCH 120/147] Revert "bcm2835: Add support for uart1" +Subject: [PATCH 120/164] Revert "bcm2835: Add support for uart1" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139504,10 +139504,10 @@ index 0ef5cd3d1d6ec420360294acc98d40d698d38d8a..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 310e634ea1703b48aac869ffbdcca05da91f7258 Mon Sep 17 00:00:00 2001 +From 531840b4db7e33129d7b13014f9206ff334fc32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:41:26 +0200 -Subject: [PATCH 121/147] bcm270x: Remove unnecessary of_platform_populate +Subject: [PATCH 121/164] bcm270x: Remove unnecessary of_platform_populate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139582,10 +139582,10 @@ index 9a1ad48d13172856e3ec748db015cb95cd110b76..d2762f558f644ac87c56ba9402a638a3 system_serial_low = serial; } -From 82ba7cbc3452d3bda087321dbdf186b514514a53 Mon Sep 17 00:00:00 2001 +From 030daf0f112f19557805ec9a0a26891e2fd4c0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:46:27 +0200 -Subject: [PATCH 122/147] bcm270x: Remove 4MB dma coherent pool +Subject: [PATCH 122/164] bcm270x: Remove 4MB dma coherent pool MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139666,10 +139666,10 @@ index d2762f558f644ac87c56ba9402a638a3c7a26397..d0e43619669e851350c5d9d7bb7e9dd1 .dt_compat = bcm2709_compat, MACHINE_END -From 03b217a1f5d0f70ab498f9ce5af219488f7a7ec3 Mon Sep 17 00:00:00 2001 +From b0f0835921cdc309f1c316b55f760d5ea97bf5ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 19:26:42 +0200 -Subject: [PATCH 123/147] bcm270x: Drop map_io device mapping +Subject: [PATCH 123/164] bcm270x: Drop map_io device mapping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -140618,10 +140618,10 @@ index de7504bfc20ba24be8707861b8389783860adb77..00000000000000000000000000000000 - */ -#define arch_decomp_wdog() -From ec476714f27c47e086cae43736ce588611385e48 Mon Sep 17 00:00:00 2001 +From 5397c49c97f36978916d7413ef6ab4d628d0d7ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 19:37:06 +0200 -Subject: [PATCH 124/147] bcm270x: Use DT_MACHINE_START +Subject: [PATCH 124/164] bcm270x: Use DT_MACHINE_START MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -140703,10 +140703,10 @@ index b52d949ee91d96eb7672fbbb4969bfa1e7afc376..2ed1b8a922ed02b9e3545991873af77b ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 -From 58e4131735311d401d9ae5e3ae9aea4e6c389897 Mon Sep 17 00:00:00 2001 +From bcf2ecc145e4ad033dbd1fa5f6fc9ead0726c318 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Oct 2016 17:48:07 +0100 -Subject: [PATCH 125/147] Use DT rather than modules params for board rev and +Subject: [PATCH 125/164] Use DT rather than modules params for board rev and serial --- @@ -140800,10 +140800,10 @@ index 9cf36118e57b3c362de9adcf089425023d4a601d..9f113736627175bdcb362e0eda469e09 -module_param(boardrev, uint, 0644); -module_param(serial, uint, 0644); -From 8bc7fdbf0d73e0797b5d0fae6f78be6735320a34 Mon Sep 17 00:00:00 2001 +From 30209d500d1a96f569bd8fe2017a2b2424fec2a6 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 126/147] Register the clocks early during the boot process, so +Subject: [PATCH 126/164] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. @@ -140849,10 +140849,10 @@ index fbf616021704178a9d007219a0ea2a9f1704f0a6..cbbc8d4ddcffc797268c0ecb6477005f MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From 2a908551f7bb1c6c0172f639dd9fad7b89b14298 Mon Sep 17 00:00:00 2001 +From cfe0b81dce68687d6f9a11b8d10fa9e9c55c5587 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 27 Sep 2016 04:29:00 -0400 -Subject: [PATCH 127/147] Add Adafruit pitft35 touchscreen support (#1657) +Subject: [PATCH 127/164] Add Adafruit pitft35 touchscreen support (#1657) The dts comes from the Adafruit repository @@ -141057,10 +141057,10 @@ index 952104ab6c4cd0e9d8f7bd5f2fba7a72da75424e..26fa6c2b6b6d745178e666465ba226af CONFIG_FB_TFT_ILI9320=m CONFIG_FB_TFT_ILI9325=m -From 6f7afe8710ea9fc3bf4ef6cd57b717203292d471 Mon Sep 17 00:00:00 2001 +From aeba0295c776b0990dccc7d1d92b485ae1f19d8b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Oct 2016 15:06:20 +0100 -Subject: [PATCH 128/147] BCM270X_DT: Update CM3 to use sdhost interface +Subject: [PATCH 128/164] BCM270X_DT: Update CM3 to use sdhost interface --- arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 9 ++++----- @@ -141096,10 +141096,10 @@ index b5a5ae7747455438f8eabd28e8c11c6aeb0c1ecc..d13e3d4dac4e198c8cac451e3f64ef68 bus-width = <4>; status = "okay"; -From 2c3945297209db3678231d5c64109261c7ff4611 Mon Sep 17 00:00:00 2001 +From b0266e0382c2ae151653f7319d2de52080d6be30 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Oct 2016 18:10:17 +0100 -Subject: [PATCH 129/147] Revert "Register the clocks early during the boot +Subject: [PATCH 129/164] Revert "Register the clocks early during the boot process," This reverts commit bcc804ce3dfd5eb4800c9dd77370da7e7913f77d. @@ -141143,10 +141143,10 @@ index cbbc8d4ddcffc797268c0ecb6477005fa14e228b..fbf616021704178a9d007219a0ea2a9f MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From 3ae99df780c07ea947d98fd330b9d9df2a2aec13 Mon Sep 17 00:00:00 2001 +From d1c9e185a7b617296801fbf02ed517e8ce24f273 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Oct 2016 15:10:14 +0100 -Subject: [PATCH 130/147] mmc: info (not err) msg on clock probe deferral +Subject: [PATCH 130/164] mmc: info (not err) msg on clock probe deferral --- drivers/mmc/host/bcm2835-mmc.c | 5 ++++- @@ -141188,10 +141188,10 @@ index 23dea422182534e248435aeaee3ecb5da69c0d33..9e55d5ac08b5809c40fe391ae6e685fd } -From 6331f4e0b369bb212fc7a4f309b5bd2eb6751cd5 Mon Sep 17 00:00:00 2001 +From e8dc9501fe7ad88e5da5a00cc659f8c89714da79 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 15 Oct 2016 11:49:52 -0700 -Subject: [PATCH 131/147] ARM64: Modify default config to get raspbian to boot +Subject: [PATCH 131/164] ARM64: Modify default config to get raspbian to boot (#1686) 1. Enable emulation of deprecated instructions. @@ -141256,10 +141256,10 @@ index 1fcde8c1329bbfd329245a8bb17691999882ccfc..d7406f5a4620151044b8f716b4d10bb8 CONFIG_MFD_STMPE=y CONFIG_STMPE_SPI=y -From 20e71d135210be9e2c45a44985402f930be5ca3a Mon Sep 17 00:00:00 2001 +From b9d16535c598c898266b8dcc0e5a29fbfe2e3724 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 132/147] Support for Blokas Labs pisound board +Subject: [PATCH 132/164] Support for Blokas Labs pisound board --- .../devicetree/bindings/vendor-prefixes.txt | 1 + @@ -142485,10 +142485,10 @@ index 0000000000000000000000000000000000000000..b156e5793e4c482385dedafd85bbf190 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From d1b99c2fe198693ac8a966fd65582abaf2d5d733 Mon Sep 17 00:00:00 2001 +From 0f37e566d9f98adc6a1663ea0484e63dcb2e0f38 Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Tue, 25 Oct 2016 01:47:20 +0300 -Subject: [PATCH 133/147] FIXUP: pisound: Fix a warning in DEBUG builds +Subject: [PATCH 133/164] FIXUP: pisound: Fix a warning in DEBUG builds Also change a macro that enables debug level printing from DEBUG to PISOUND_DEBUG. @@ -142519,10 +142519,10 @@ index b156e5793e4c482385dedafd85bbf190acc8162b..a3cd089a01447bdb6741ed6bba3b21d4 } -From 019c773638b6525c4099311eb5f0591d2702a177 Mon Sep 17 00:00:00 2001 +From 3280e800f566885bdbaff4bef35b41e500629c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:25:41 +0200 -Subject: [PATCH 134/147] bcm270x: Remove bcm2708_reboot_mode parameter +Subject: [PATCH 134/164] bcm270x: Remove bcm2708_reboot_mode parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -142556,10 +142556,10 @@ index 0a0332cb13a7475ee0c4d75a97685b7de6475c95..612eb530f33fcd19bc4539facb26fc30 { unsigned long flags; -From 3bbebce33cd4df7af988ec21b9d4a2f23fb24388 Mon Sep 17 00:00:00 2001 +From 327ff13907fefdffa78ec467131142335fdfd700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 15:54:41 +0200 -Subject: [PATCH 135/147] bcm270x: Remove NEED_MACH_IO_H +Subject: [PATCH 135/164] bcm270x: Remove NEED_MACH_IO_H MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -142676,10 +142676,10 @@ index e6eb84d71006db417dbd0afc4d08d3b19b09a619..00000000000000000000000000000000 - -#endif -From 3adb8088c33a26d20135bb88ecbfda177dc5010a Mon Sep 17 00:00:00 2001 +From 7f1ca8e80668702796090d5702acaa286c7457f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:01:01 +0200 -Subject: [PATCH 136/147] dwc_otg: Pass struct device to dma_alloc*() +Subject: [PATCH 136/164] dwc_otg: Pass struct device to dma_alloc*() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -143304,10 +143304,10 @@ index 5624f32c9ea9117599df451af29fca2e3bca36de..50aaeacdd12fff93d7a9cf1c54612367 if (!otg_dev->pcd) { DWC_ERROR("dwc_otg_pcd_init failed\n"); -From 5a39905808aeae97c328dd15e092528d8bfbc466 Mon Sep 17 00:00:00 2001 +From 0776837a2552dfd5e502e3c6347fd3667f452dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:05:36 +0200 -Subject: [PATCH 137/147] mmc: bcm2835-sdhost: Pass struct device to +Subject: [PATCH 137/164] mmc: bcm2835-sdhost: Pass struct device to dma_alloc*() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -143357,10 +143357,10 @@ index 9e55d5ac08b5809c40fe391ae6e685fdb4d62df7..a9bc79bfdbb71807819dfe2d8f165144 mmc_of_parse(mmc); else -From b53162d15a72031e04b19d8a9bdd838ae0afdd59 Mon Sep 17 00:00:00 2001 +From 5bc42c8bf4b354d74794382cdd024beb61a18985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:16:48 +0200 -Subject: [PATCH 138/147] bcm270x: Drop NEED_MACH_MEMORY_H and use DT +Subject: [PATCH 138/164] bcm270x: Drop NEED_MACH_MEMORY_H and use DT dma-ranges MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -143615,10 +143615,10 @@ index 7548a52dcf84affa4d1b0667e5e2f89f591891b8..00000000000000000000000000000000 - -#endif -From 8c31b39c5c492e9da9e4a4b0a746cfdc5856040a Mon Sep 17 00:00:00 2001 +From b591582d33b52b742d49c1d415e18e6c99e0ae8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 15:55:09 +0200 -Subject: [PATCH 139/147] dts: Remove bcm2835-rpi-cm.dts +Subject: [PATCH 139/164] dts: Remove bcm2835-rpi-cm.dts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -143784,10 +143784,10 @@ index 9c4000fc686a9882b9ddde24fdcf937d52b0f86f..00000000000000000000000000000000 - }; -}; -From 3fa49a0c237888a5ec69480409441fe4b8f76dc8 Mon Sep 17 00:00:00 2001 +From e6cb31eb381383f5809322475605944f96418faf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 16:00:07 +0200 -Subject: [PATCH 140/147] bcm2708: Convert to ARCH_MULTIPLATFORM +Subject: [PATCH 140/164] bcm2708: Convert to ARCH_MULTIPLATFORM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144108,10 +144108,10 @@ index 75da978fac0e06819d8a9740b95ee3d7035c1059..662790c8fa9c972bbf3ac7f41b9f5eac obj-$(CONFIG_ARCH_BCM2709) += irq-bcm2836.o obj-$(CONFIG_ARCH_EXYNOS) += exynos-combiner.o -From b1b1bc303a19b07b8d5307250e5f746b99b2dd1c Mon Sep 17 00:00:00 2001 +From 6c110ebd6127aaf0abf2e466ea7da918397d3b26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 16:02:39 +0200 -Subject: [PATCH 141/147] bcm2709: Convert to ARCH_MULTIPLATFORM +Subject: [PATCH 141/164] bcm2709: Convert to ARCH_MULTIPLATFORM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144381,10 +144381,10 @@ index 662790c8fa9c972bbf3ac7f41b9f5eace912b69c..4c203b6b816357dce8d7a768ac81feab obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o obj-$(CONFIG_ARCH_LPC32XX) += irq-lpc32xx.o -From 6e7c8eabcb8f4c0adc617e6b6e529823971234e1 Mon Sep 17 00:00:00 2001 +From 49f4af4492d14a900fcd52a4d87bd160b3dd93f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 17:32:02 +0200 -Subject: [PATCH 142/147] kconfig: Just use ARCH_BCM2835 for depends on +Subject: [PATCH 142/164] kconfig: Just use ARCH_BCM2835 for depends on MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144715,10 +144715,10 @@ index aed7b47d8736ea3fb1810b0c77916855082f3b2d..d024377e8450fb5402dcb5ea27161f77 select REGMAP_MMIO help -From 9a41750326ecc5a1089d52a5ca16a57b03b1eded Mon Sep 17 00:00:00 2001 +From a5d0da00086e51acd507e4d76e4f95fd16796b9a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 28 Oct 2016 13:55:36 +0100 -Subject: [PATCH 143/147] bcm270x: Use dma-ranges unconditionally on bcm2710 +Subject: [PATCH 143/164] bcm270x: Use dma-ranges unconditionally on bcm2710 See: https://github.com/raspberrypi/linux/pull/1699 @@ -144752,10 +144752,10 @@ index 491594c918cf5da94fbb19a606edb0dd9a28c3a9..df1a4ce1cd4e570876b7785b357d6c31 interrupts = <8>; }; -From ccf8a90ff33fcc6da99dce23ba08886e742be6ce Mon Sep 17 00:00:00 2001 +From 7b5f91a65d44dac1c809f81d362a6e77bfcdd805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 27 Oct 2016 21:57:56 +0200 -Subject: [PATCH 144/147] BCM270X_DT: Use raspberrypi-power to turn on USB +Subject: [PATCH 144/164] BCM270X_DT: Use raspberrypi-power to turn on USB power MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -144781,10 +144781,10 @@ index d85c05901c8f55f822b89c32d198f15559a2b4b0..46cf8602c3b96e477b05b57dbfe5e349 + power-domains = <&power RPI_POWER_DOMAIN_USB>; +}; -From 1ae1228d385033e1476e2145cfdb274216394cd8 Mon Sep 17 00:00:00 2001 +From 81542c016207c4ea5c673ac0f25a4b7cf76beda3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 27 Oct 2016 21:58:09 +0200 -Subject: [PATCH 145/147] firmware: bcm2835: Don't turn on USB power +Subject: [PATCH 145/164] firmware: bcm2835: Don't turn on USB power MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144840,10 +144840,10 @@ index b980d531b35b9981a88356ef1c8a7b868a85f2b5..3f070bd38a91511c986e3fb114b15bd4 } -From e7924c4cfb4a8dcc76539698914e748e4312dc19 Mon Sep 17 00:00:00 2001 +From dbb94f6d92546a458f7c026541377e7769db76ab Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 31 Oct 2016 17:35:31 +0000 -Subject: [PATCH 146/147] bcm2835: Increase coherent allocation to 1M for +Subject: [PATCH 146/164] bcm2835: Increase coherent allocation to 1M for dwc_otg bounce buffers --- @@ -144901,10 +144901,10 @@ index 6ce49dea7856b243b38f180231afd25b57dee729..efbd18020479c1cab40ce680446a4259 MACHINE_END #endif -From 0d455ab582c43e749bddf333de9ed04c5893f590 Mon Sep 17 00:00:00 2001 +From 1fb0f362fa01d18de299c956f0b8c3a3a3176618 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 31 Oct 2016 17:35:57 +0000 -Subject: [PATCH 147/147] dwc_otg: Warn if dma_alloc_coherent fails +Subject: [PATCH 147/164] dwc_otg: Warn if dma_alloc_coherent fails --- drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c | 1 + @@ -144922,3 +144922,1571 @@ index 50aaeacdd12fff93d7a9cf1c54612367406c6bee..e799f15f294706ad7ac328dcb9ce68fb /* Check dword alignment */ if (((int)buf & 0x3UL) != 0) { + +From 3687ccf0bed7d514473f139bbc12249f82349ce6 Mon Sep 17 00:00:00 2001 +From: Michael Zoran +Date: Fri, 4 Nov 2016 16:13:07 -0700 +Subject: [PATCH 148/164] bcmrpi3_defconfig: Update config to be compatible + with latest Kconfig changes. + +This new config has been run through make savedefconfig. +--- + arch/arm64/configs/bcmrpi3_defconfig | 111 +++++++++++------------------------ + 1 file changed, 33 insertions(+), 78 deletions(-) + +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index d7406f5a4620151044b8f716b4d10bb818648e06..cd1d39b467a947a015eb14568086a6ba4cfb729b 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -1,52 +1,9 @@ +-# CONFIG_ARM_PATCH_PHYS_VIRT is not set +-CONFIG_PHYS_OFFSET=0 + CONFIG_LOCALVERSION="-v8" + # CONFIG_LOCALVERSION_AUTO is not set +-CONFIG_64BIT=y + CONFIG_SYSVIPC=y + CONFIG_POSIX_MQUEUE=y + CONFIG_NO_HZ=y + CONFIG_HIGH_RES_TIMERS=y +- +-# +-# ARM errata workarounds via the alternatives framework +-# +-CONFIG_ARM64_ERRATUM_826319=n +-CONFIG_ARM64_ERRATUM_827319=n +-CONFIG_ARM64_ERRATUM_824069=n +-CONFIG_ARM64_ERRATUM_819472=n +-CONFIG_ARM64_ERRATUM_832075=n +-CONFIG_ARM64_ERRATUM_845719=n +-CONFIG_ARM64_ERRATUM_843419=n +-CONFIG_CAVIUM_ERRATUM_22375=n +-CONFIG_CAVIUM_ERRATUM_23154=n +-CONFIG_CAVIUM_ERRATUM_27456=n +-CONFIG_ARM64_4K_PAGES=y +-CONFIG_ARM64_VA_BITS_39=y +-CONFIG_ARM64_VA_BITS=39 +-CONFIG_SCHED_MC=y +-CONFIG_NR_CPUS=4 +-CONFIG_HOTPLUG_CPU=y +-CONFIG_ARMV8_DEPRECATED=y +-CONFIG_SWP_EMULATION=y +-CONFIG_CP15_BARRIER_EMULATION=y +-CONFIG_SETEND_EMULATION=y +- +-# +-# ARMv8.1 architectural features +-# +-CONFIG_ARM64_HW_AFDBM=y +-CONFIG_ARM64_PAN=y +-CONFIG_ARM64_LSE_ATOMICS=y +-CONFIG_ARM64_VHE=y +- +-# +-# ARMv8.2 architectural features +-# +-CONFIG_ARM64_UAO=y +-CONFIG_ARM64_MODULE_CMODEL_LARGE=n +-CONFIG_RANDOMIZE_BASE=n +- + CONFIG_BSD_PROCESS_ACCT=y + CONFIG_BSD_PROCESS_ACCT_V3=y + CONFIG_TASKSTATS=y +@@ -55,7 +12,6 @@ CONFIG_TASK_XACCT=y + CONFIG_TASK_IO_ACCOUNTING=y + CONFIG_IKCONFIG=m + CONFIG_IKCONFIG_PROC=y +-CONFIG_NMI_LOG_BUF_SHIFT=12 + CONFIG_MEMCG=y + CONFIG_BLK_CGROUP=y + CONFIG_CGROUP_FREEZER=y +@@ -69,7 +25,6 @@ CONFIG_BLK_DEV_INITRD=y + CONFIG_EMBEDDED=y + # CONFIG_COMPAT_BRK is not set + CONFIG_PROFILING=y +-CONFIG_OPROFILE=m + CONFIG_KPROBES=y + CONFIG_JUMP_LABEL=y + CONFIG_MODULES=y +@@ -82,25 +37,37 @@ CONFIG_PARTITION_ADVANCED=y + CONFIG_MAC_PARTITION=y + CONFIG_CFQ_GROUP_IOSCHED=y + CONFIG_ARCH_BCM2709=y +-# CONFIG_CACHE_L2X0 is not set +-CONFIG_SMP=y +-CONFIG_HAVE_ARM_ARCH_TIMER=y +-CONFIG_VMSPLIT_2G=y ++CONFIG_ARCH_BCM2835=y ++# CONFIG_ARM64_ERRATUM_826319 is not set ++# CONFIG_ARM64_ERRATUM_827319 is not set ++# CONFIG_ARM64_ERRATUM_824069 is not set ++# CONFIG_ARM64_ERRATUM_819472 is not set ++# CONFIG_ARM64_ERRATUM_832075 is not set ++# CONFIG_ARM64_ERRATUM_845719 is not set ++# CONFIG_ARM64_ERRATUM_843419 is not set ++# CONFIG_CAVIUM_ERRATUM_22375 is not set ++# CONFIG_CAVIUM_ERRATUM_23154 is not set ++# CONFIG_CAVIUM_ERRATUM_27456 is not set ++CONFIG_SCHED_MC=y ++CONFIG_NR_CPUS=4 ++CONFIG_HOTPLUG_CPU=y + CONFIG_PREEMPT_VOLUNTARY=y +-CONFIG_AEABI=y +-CONFIG_OABI_COMPAT=y +-# CONFIG_CPU_SW_DOMAIN_PAN is not set + CONFIG_CLEANCACHE=y + CONFIG_FRONTSWAP=y + CONFIG_CMA=y + CONFIG_ZSMALLOC=m + CONFIG_PGTABLE_MAPPING=y +-CONFIG_UACCESS_WITH_MEMCPY=y + CONFIG_SECCOMP=y +-# CONFIG_ATAGS is not set +-CONFIG_ZBOOT_ROM_TEXT=0x0 +-CONFIG_ZBOOT_ROM_BSS=0x0 ++CONFIG_ARMV8_DEPRECATED=y ++CONFIG_SWP_EMULATION=y ++CONFIG_CP15_BARRIER_EMULATION=y ++CONFIG_SETEND_EMULATION=y ++CONFIG_ARM64_LSE_ATOMICS=y + CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" ++CONFIG_BINFMT_MISC=m ++CONFIG_COMPAT=y ++# CONFIG_SUSPEND is not set ++CONFIG_PM=y + CONFIG_CPU_FREQ=y + CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y + CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +@@ -108,15 +75,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y + CONFIG_CPU_FREQ_GOV_ONDEMAND=y + CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +-CONFIG_VFP=y +-CONFIG_NEON=y +-CONFIG_KERNEL_MODE_NEON=y +-CONFIG_BINFMT_MISC=m +-CONFIG_COMPAT=y +-CONFIG_SYSVIPC_COMPAT=y +- +-# CONFIG_SUSPEND is not set +-CONFIG_PM=y + CONFIG_NET=y + CONFIG_PACKET=y + CONFIG_UNIX=y +@@ -463,6 +421,7 @@ CONFIG_CDROM_PKTCDVD=m + CONFIG_ATA_OVER_ETH=m + CONFIG_EEPROM_AT24=m + CONFIG_TI_ST=m ++# CONFIG_BCM2708_VCHIQ is not set + CONFIG_SCSI=y + # CONFIG_SCSI_PROC_FS is not set + CONFIG_BLK_DEV_SD=y +@@ -580,7 +539,6 @@ CONFIG_RT2800USB_RT53XX=y + CONFIG_RT2800USB_RT55XX=y + CONFIG_RT2800USB_UNKNOWN=y + CONFIG_RTL8187=m +-CONFIG_RTL8192CU=n + CONFIG_USB_ZD1201=m + CONFIG_ZD1211RW=m + CONFIG_MAC80211_HWSIM=m +@@ -626,10 +584,6 @@ CONFIG_SERIO_RAW=m + CONFIG_GAMEPORT=m + CONFIG_GAMEPORT_NS558=m + CONFIG_GAMEPORT_L4=m +-CONFIG_BRCM_CHAR_DRIVERS=n +-CONFIG_BCM_VC_CMA=n +-CONFIG_BCM_VCIO=n +-CONFIG_BCM_VC_SM=n + # CONFIG_LEGACY_PTYS is not set + # CONFIG_DEVKMEM is not set + CONFIG_SERIAL_8250=y +@@ -638,6 +592,9 @@ CONFIG_SERIAL_8250_CONSOLE=y + # CONFIG_SERIAL_8250_DMA is not set + CONFIG_SERIAL_8250_NR_UARTS=1 + CONFIG_SERIAL_8250_RUNTIME_UARTS=0 ++CONFIG_SERIAL_8250_EXTENDED=y ++CONFIG_SERIAL_8250_SHARE_IRQ=y ++CONFIG_SERIAL_8250_BCM2835AUX=y + CONFIG_SERIAL_OF_PLATFORM=y + CONFIG_SERIAL_AMBA_PL011=y + CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +@@ -682,12 +639,12 @@ CONFIG_W1_SLAVE_DS2781=m + CONFIG_W1_SLAVE_DS28E04=m + CONFIG_W1_SLAVE_BQ27000=m + CONFIG_BATTERY_DS2760=m +-CONFIG_POWER_RESET=y + CONFIG_POWER_RESET_GPIO=y + CONFIG_HWMON=m + CONFIG_SENSORS_LM75=m + CONFIG_SENSORS_SHT21=m + CONFIG_SENSORS_SHTC1=m ++CONFIG_SENSORS_INA2XX=m + CONFIG_THERMAL=y + CONFIG_THERMAL_BCM2835=y + CONFIG_WATCHDOG=y +@@ -835,8 +792,7 @@ CONFIG_VIDEO_EM28XX_V4L2=m + CONFIG_VIDEO_EM28XX_ALSA=m + CONFIG_VIDEO_EM28XX_DVB=m + CONFIG_V4L_PLATFORM_DRIVERS=y +-CONFIG_VIDEO_BCM2835=n +-CONFIG_VIDEO_BCM2835_MMAL=n ++CONFIG_VIDEO_BCM2835=y + CONFIG_RADIO_SI470X=y + CONFIG_USB_SI470X=m + CONFIG_I2C_SI470X=m +@@ -892,8 +848,6 @@ CONFIG_SND_VIRMIDI=m + CONFIG_SND_MTPAV=m + CONFIG_SND_SERIAL_U16550=m + CONFIG_SND_MPU401=m +-CONFIG_SND_ARM=n +-CONFIG_SND_BCM2835=n + CONFIG_SND_USB_AUDIO=m + CONFIG_SND_USB_UA101=m + CONFIG_SND_USB_CAIAQ=m +@@ -916,6 +870,8 @@ CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m + CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m + CONFIG_SND_DIGIDAC1_SOUNDCARD=m + CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m ++CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m ++CONFIG_SND_PISOUND=m + CONFIG_SND_SOC_ADAU1701=m + CONFIG_SND_SOC_WM8804_I2C=m + CONFIG_SND_SIMPLE_CARD=m +@@ -979,8 +935,6 @@ CONFIG_USB_HIDDEV=y + CONFIG_USB=y + CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + CONFIG_USB_MON=m +-CONFIG_USB_DWCOTG=n +-CONFIG_USB_DWC2=y + CONFIG_USB_PRINTER=m + CONFIG_USB_STORAGE=y + CONFIG_USB_STORAGE_REALTEK=m +@@ -1001,6 +955,7 @@ CONFIG_USB_MICROTEK=m + CONFIG_USBIP_CORE=m + CONFIG_USBIP_VHCI_HCD=m + CONFIG_USBIP_HOST=m ++CONFIG_USB_DWC2=y + CONFIG_USB_SERIAL=m + CONFIG_USB_SERIAL_GENERIC=y + CONFIG_USB_SERIAL_AIRCABLE=m +@@ -1153,6 +1108,7 @@ CONFIG_FB_TFT_BD663474=m + CONFIG_FB_TFT_HX8340BN=m + CONFIG_FB_TFT_HX8347D=m + CONFIG_FB_TFT_HX8353D=m ++CONFIG_FB_TFT_HX8357D=m + CONFIG_FB_TFT_ILI9163=m + CONFIG_FB_TFT_ILI9320=m + CONFIG_FB_TFT_ILI9325=m +@@ -1331,4 +1287,3 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m + CONFIG_ARM64_CRYPTO=y + CONFIG_CRC_ITU_T=y + CONFIG_LIBCRC32C=y +-CONFIG_BCM2708_VCHIQ=n + +From 84c53a059eceded2c047c2a0071b27833b25ddf0 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 8 Nov 2016 21:35:38 +0000 +Subject: [PATCH 149/164] spi-bcm2835: Remove unused code + +--- + drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- + 1 file changed, 61 deletions(-) + +diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c +index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a83bebcac 100644 +--- a/drivers/spi/spi-bcm2835.c ++++ b/drivers/spi/spi-bcm2835.c +@@ -679,17 +679,8 @@ static void bcm2835_spi_set_cs(struct spi_device *spi, bool gpio_level) + bcm2835_wr(bs, BCM2835_SPI_CS, cs); + } + +-static int chip_match_name(struct gpio_chip *chip, void *data) +-{ +- return !strcmp(chip->label, data); +-} +- + static int bcm2835_spi_setup(struct spi_device *spi) + { +- int err; +- struct gpio_chip *chip; +- struct device_node *pins; +- u32 pingroup_index; + /* + * sanity checking the native-chipselects + */ +@@ -707,58 +698,6 @@ static int bcm2835_spi_setup(struct spi_device *spi) + return -EINVAL; + } + +-#if 0 +- /* now translate native cs to GPIO */ +- /* first look for chip select pins in the devices pin groups */ +- for (pingroup_index = 0; +- (pins = of_parse_phandle(spi->master->dev.of_node, +- "pinctrl-0", +- pingroup_index)) != 0; +- pingroup_index++) { +- u32 pin; +- u32 pin_index; +- for (pin_index = 0; +- of_property_read_u32_index(pins, +- "brcm,pins", +- pin_index, +- &pin) == 0; +- pin_index++) { +- if (((spi->chip_select == 0) && +- ((pin == 8) || (pin == 36) || (pin == 46))) || +- ((spi->chip_select == 1) && +- ((pin == 7) || (pin == 35)))) { +- spi->cs_gpio = pin; +- break; +- } +- } +- of_node_put(pins); +- } +- /* if that fails, assume GPIOs 7-11 are used */ +- if (!gpio_is_valid(spi->cs_gpio) ) { +- /* get the gpio chip for the base */ +- chip = gpiochip_find("pinctrl-bcm2835", chip_match_name); +- if (!chip) +- return 0; +- +- /* and calculate the real CS */ +- spi->cs_gpio = chip->base + 8 - spi->chip_select; +- } +- +- /* and set up the "mode" and level */ +- dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", +- spi->chip_select, spi->cs_gpio); +- +- /* set up GPIO as output and pull to the correct level */ +- err = gpio_direction_output(spi->cs_gpio, +- (spi->mode & SPI_CS_HIGH) ? 0 : 1); +- if (err) { +- dev_err(&spi->dev, +- "could not set CS%i gpio %i as output: %i", +- spi->chip_select, spi->cs_gpio, err); +- return err; +- } +-#endif +- + return 0; + } + + +From ccc550c6e6f5089ea626764f301dd7355a6e13e2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sat, 17 Sep 2016 15:07:10 +0200 +Subject: [PATCH 150/164] i2c: bcm2835: Fix hang for writing messages larger + than 16 bytes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Writing messages larger than the FIFO size results in a hang, rendering +the machine unusable. This is because the RXD status flag is set on the +first interrupt which results in bcm2835_drain_rxfifo() stealing bytes +from the buffer. The controller continues to trigger interrupts waiting +for the missing bytes, but bcm2835_fill_txfifo() has none to give. +In this situation wait_for_completion_timeout() apparently is unable to +stop the madness. + +The BCM2835 ARM Peripherals datasheet has this to say about the flags: + TXD: is set when the FIFO has space for at least one byte of data. + RXD: is set when the FIFO contains at least one byte of data. + TXW: is set during a write transfer and the FIFO is less than full. + RXR: is set during a read transfer and the FIFO is or more full. + +Implementing the logic from the downstream i2c-bcm2708 driver solved +the hang problem. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +Reviewed-by: Martin Sperl +--- + drivers/i2c/busses/i2c-bcm2835.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index d4f3239b56865919e1b781b20a7c5ebcd76b4eb9..f283b714aa79e2e4685ed95b04b6b289f7e9eee7 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -64,6 +64,7 @@ struct bcm2835_i2c_dev { + int irq; + struct i2c_adapter adapter; + struct completion completion; ++ struct i2c_msg *curr_msg; + u32 msg_err; + u8 *msg_buf; + size_t msg_buf_remaining; +@@ -126,14 +127,13 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + return IRQ_HANDLED; + } + +- if (val & BCM2835_I2C_S_RXD) { +- bcm2835_drain_rxfifo(i2c_dev); +- if (!(val & BCM2835_I2C_S_DONE)) +- return IRQ_HANDLED; +- } +- + if (val & BCM2835_I2C_S_DONE) { +- if (i2c_dev->msg_buf_remaining) ++ if (i2c_dev->curr_msg->flags & I2C_M_RD) { ++ bcm2835_drain_rxfifo(i2c_dev); ++ val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); ++ } ++ ++ if ((val & BCM2835_I2C_S_RXD) || i2c_dev->msg_buf_remaining) + i2c_dev->msg_err = BCM2835_I2C_S_LEN; + else + i2c_dev->msg_err = 0; +@@ -141,11 +141,16 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + return IRQ_HANDLED; + } + +- if (val & BCM2835_I2C_S_TXD) { ++ if (val & BCM2835_I2C_S_TXW) { + bcm2835_fill_txfifo(i2c_dev); + return IRQ_HANDLED; + } + ++ if (val & BCM2835_I2C_S_RXR) { ++ bcm2835_drain_rxfifo(i2c_dev); ++ return IRQ_HANDLED; ++ } ++ + return IRQ_NONE; + } + +@@ -155,6 +160,7 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + u32 c; + unsigned long time_left; + ++ i2c_dev->curr_msg = msg; + i2c_dev->msg_buf = msg->buf; + i2c_dev->msg_buf_remaining = msg->len; + reinit_completion(&i2c_dev->completion); + +From d9afb2ca5b2a1dc5a0e143c6d6ef25147314ff11 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 23 Sep 2016 18:24:38 +0200 +Subject: [PATCH 151/164] i2c: bcm2835: Protect against unexpected TXW/RXR + interrupts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If an unexpected TXW or RXR interrupt occurs (msg_buf_remaining == 0), +the driver has no way to fill/drain the FIFO to stop the interrupts. +In this case the controller has to be disabled and the transfer +completed to avoid hang. + +(CLKT | ERR) and DONE interrupts are completed in their own paths, and +the controller is disabled in the transfer function after completion. +Unite the code paths and do disabling inside the interrupt routine. + +Clear interrupt status bits in the united completion path instead of +trying to do it on every interrupt which isn't necessary. +Only CLKT, ERR and DONE can be cleared that way. + +Add the status value to the error value in case of TXW/RXR errors to +distinguish them from the other S_LEN error. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 40 +++++++++++++++++++++++++++++++--------- + 1 file changed, 31 insertions(+), 9 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index f283b714aa79e2e4685ed95b04b6b289f7e9eee7..d2ba1a4de36af512e8e3c97251bd3537ae61591a 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -50,8 +50,6 @@ + #define BCM2835_I2C_S_CLKT BIT(9) + #define BCM2835_I2C_S_LEN BIT(10) /* Fake bit for SW error reporting */ + +-#define BCM2835_I2C_BITMSK_S 0x03FF +- + #define BCM2835_I2C_CDIV_MIN 0x0002 + #define BCM2835_I2C_CDIV_MAX 0xFFFE + +@@ -111,20 +109,26 @@ static void bcm2835_drain_rxfifo(struct bcm2835_i2c_dev *i2c_dev) + } + } + ++/* ++ * Note about I2C_C_CLEAR on error: ++ * The I2C_C_CLEAR on errors will take some time to resolve -- if you were in ++ * non-idle state and I2C_C_READ, it sets an abort_rx flag and runs through ++ * the state machine to send a NACK and a STOP. Since we're setting CLEAR ++ * without I2CEN, that NACK will be hanging around queued up for next time ++ * we start the engine. ++ */ ++ + static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + { + struct bcm2835_i2c_dev *i2c_dev = data; + u32 val, err; + + val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); +- val &= BCM2835_I2C_BITMSK_S; +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_S, val); + + err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR); + if (err) { + i2c_dev->msg_err = err; +- complete(&i2c_dev->completion); +- return IRQ_HANDLED; ++ goto complete; + } + + if (val & BCM2835_I2C_S_DONE) { +@@ -137,21 +141,38 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + i2c_dev->msg_err = BCM2835_I2C_S_LEN; + else + i2c_dev->msg_err = 0; +- complete(&i2c_dev->completion); +- return IRQ_HANDLED; ++ goto complete; + } + + if (val & BCM2835_I2C_S_TXW) { ++ if (!i2c_dev->msg_buf_remaining) { ++ i2c_dev->msg_err = val | BCM2835_I2C_S_LEN; ++ goto complete; ++ } ++ + bcm2835_fill_txfifo(i2c_dev); + return IRQ_HANDLED; + } + + if (val & BCM2835_I2C_S_RXR) { ++ if (!i2c_dev->msg_buf_remaining) { ++ i2c_dev->msg_err = val | BCM2835_I2C_S_LEN; ++ goto complete; ++ } ++ + bcm2835_drain_rxfifo(i2c_dev); + return IRQ_HANDLED; + } + + return IRQ_NONE; ++ ++complete: ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_S, BCM2835_I2C_S_CLKT | ++ BCM2835_I2C_S_ERR | BCM2835_I2C_S_DONE); ++ complete(&i2c_dev->completion); ++ ++ return IRQ_HANDLED; + } + + static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, +@@ -181,8 +202,9 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + + time_left = wait_for_completion_timeout(&i2c_dev->completion, + BCM2835_I2C_TIMEOUT); +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); + if (!time_left) { ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, ++ BCM2835_I2C_C_CLEAR); + dev_err(i2c_dev->dev, "i2c transfer timed out\n"); + return -ETIMEDOUT; + } + +From 6f08d573999c728aa54cb40f3d1d8a22967e9e4d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Mon, 19 Sep 2016 17:19:41 +0200 +Subject: [PATCH 152/164] i2c: bcm2835: Use dev_dbg logging on transfer errors +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Writing to an AT24C32 generates on average 2x i2c transfer errors per +32-byte page write. Which amounts to a lot for a 4k write. This is due +to the fact that the chip doesn't respond during it's internal write +cycle when the at24 driver tries and retries the next write. +Only a handful drivers use dev_err() on transfer error, so switch to +dev_dbg() instead. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index d2ba1a4de36af512e8e3c97251bd3537ae61591a..54d510abd46a117c9238fc6d7edec84019d1f60d 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -216,7 +216,7 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + (msg->flags & I2C_M_IGNORE_NAK)) + return 0; + +- dev_err(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); ++ dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + return -EREMOTEIO; + +From 31a9c07c25677a41054435f46e9950e138b8daac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Thu, 22 Sep 2016 22:05:50 +0200 +Subject: [PATCH 153/164] i2c: bcm2835: Can't support I2C_M_IGNORE_NAK +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The controller can't support this flag, so remove it. + +Documentation/i2c/i2c-protocol states that all of the message is sent: + +I2C_M_IGNORE_NAK: + Normally message is interrupted immediately if there is [NA] from the + client. Setting this flag treats any [NA] as [A], and all of + message is sent. + +From the BCM2835 ARM Peripherals datasheet: + + The ERR field is set when the slave fails to acknowledge either + its address or a data byte written to it. + +So when the controller doesn't receive an ack, it sets ERR and raises +an interrupt. In other words, the whole message is not sent. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 54d510abd46a117c9238fc6d7edec84019d1f60d..565ef69ce61423544dc0558c85ef318b0ae9c324 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -212,10 +212,6 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + if (likely(!i2c_dev->msg_err)) + return 0; + +- if ((i2c_dev->msg_err & BCM2835_I2C_S_ERR) && +- (msg->flags & I2C_M_IGNORE_NAK)) +- return 0; +- + dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + +From 67c001d6ad4e091619eddb1e1387807a0afaeda9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 23 Sep 2016 04:54:27 +0200 +Subject: [PATCH 154/164] i2c: bcm2835: Add support for Repeated Start + Condition +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Documentation/i2c/i2c-protocol states that Combined transactions should +separate messages with a Start bit and end the whole transaction with a +Stop bit. This patch adds support for issuing only a Start between +messages instead of a Stop followed by a Start. + +This implementation differs from downstream i2c-bcm2708 in 2 respects: +- it uses an interrupt to detect that the transfer is active instead + of using polling. There is no interrupt for Transfer Active, but by + not prefilling the FIFO it's possible to use the TXW interrupt. +- when resetting/disabling the controller between transfers it writes + CLEAR to the control register instead of just zero. + Using just zero gave many errors. This might be the reason why + downstream had to disable this feature and make it available with a + module parameter. + +I have run thousands of transfers to a DS1307 (rtc), MMA8451 (accel) +and AT24C32 (eeprom) in parallel without problems. + +Signed-off-by: Noralf Trønnes +Acked-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 101 ++++++++++++++++++++++++--------------- + 1 file changed, 63 insertions(+), 38 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 565ef69ce61423544dc0558c85ef318b0ae9c324..241e08ae7c27cec23fad3c1bf3ebad3a4d2a8e6f 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -63,6 +63,7 @@ struct bcm2835_i2c_dev { + struct i2c_adapter adapter; + struct completion completion; + struct i2c_msg *curr_msg; ++ int num_msgs; + u32 msg_err; + u8 *msg_buf; + size_t msg_buf_remaining; +@@ -110,6 +111,45 @@ static void bcm2835_drain_rxfifo(struct bcm2835_i2c_dev *i2c_dev) + } + + /* ++ * Repeated Start Condition (Sr) ++ * The BCM2835 ARM Peripherals datasheet mentions a way to trigger a Sr when it ++ * talks about reading from a slave with 10 bit address. This is achieved by ++ * issuing a write, poll the I2CS.TA flag and wait for it to be set, and then ++ * issue a read. ++ * A comment in https://github.com/raspberrypi/linux/issues/254 shows how the ++ * firmware actually does it using polling and says that it's a workaround for ++ * a problem in the state machine. ++ * It turns out that it is possible to use the TXW interrupt to know when the ++ * transfer is active, provided the FIFO has not been prefilled. ++ */ ++ ++static void bcm2835_i2c_start_transfer(struct bcm2835_i2c_dev *i2c_dev) ++{ ++ u32 c = BCM2835_I2C_C_ST | BCM2835_I2C_C_I2CEN; ++ struct i2c_msg *msg = i2c_dev->curr_msg; ++ bool last_msg = (i2c_dev->num_msgs == 1); ++ ++ if (!i2c_dev->num_msgs) ++ return; ++ ++ i2c_dev->num_msgs--; ++ i2c_dev->msg_buf = msg->buf; ++ i2c_dev->msg_buf_remaining = msg->len; ++ ++ if (msg->flags & I2C_M_RD) ++ c |= BCM2835_I2C_C_READ | BCM2835_I2C_C_INTR; ++ else ++ c |= BCM2835_I2C_C_INTT; ++ ++ if (last_msg) ++ c |= BCM2835_I2C_C_INTD; ++ ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); ++} ++ ++/* + * Note about I2C_C_CLEAR on error: + * The I2C_C_CLEAR on errors will take some time to resolve -- if you were in + * non-idle state and I2C_C_READ, it sets an abort_rx flag and runs through +@@ -151,6 +191,12 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + } + + bcm2835_fill_txfifo(i2c_dev); ++ ++ if (i2c_dev->num_msgs && !i2c_dev->msg_buf_remaining) { ++ i2c_dev->curr_msg++; ++ bcm2835_i2c_start_transfer(i2c_dev); ++ } ++ + return IRQ_HANDLED; + } + +@@ -175,30 +221,25 @@ complete: + return IRQ_HANDLED; + } + +-static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, +- struct i2c_msg *msg) ++static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], ++ int num) + { +- u32 c; ++ struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); + unsigned long time_left; ++ int i; + +- i2c_dev->curr_msg = msg; +- i2c_dev->msg_buf = msg->buf; +- i2c_dev->msg_buf_remaining = msg->len; +- reinit_completion(&i2c_dev->completion); +- +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); ++ for (i = 0; i < (num - 1); i++) ++ if (msgs[i].flags & I2C_M_RD) { ++ dev_warn_once(i2c_dev->dev, ++ "only one read message supported, has to be last\n"); ++ return -EOPNOTSUPP; ++ } + +- if (msg->flags & I2C_M_RD) { +- c = BCM2835_I2C_C_READ | BCM2835_I2C_C_INTR; +- } else { +- c = BCM2835_I2C_C_INTT; +- bcm2835_fill_txfifo(i2c_dev); +- } +- c |= BCM2835_I2C_C_ST | BCM2835_I2C_C_INTD | BCM2835_I2C_C_I2CEN; ++ i2c_dev->curr_msg = msgs; ++ i2c_dev->num_msgs = num; ++ reinit_completion(&i2c_dev->completion); + +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); ++ bcm2835_i2c_start_transfer(i2c_dev); + + time_left = wait_for_completion_timeout(&i2c_dev->completion, + BCM2835_I2C_TIMEOUT); +@@ -209,31 +250,15 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + return -ETIMEDOUT; + } + +- if (likely(!i2c_dev->msg_err)) +- return 0; ++ if (!i2c_dev->msg_err) ++ return num; + + dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + return -EREMOTEIO; +- else +- return -EIO; +-} +- +-static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], +- int num) +-{ +- struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); +- int i; +- int ret = 0; +- +- for (i = 0; i < num; i++) { +- ret = bcm2835_i2c_xfer_msg(i2c_dev, &msgs[i]); +- if (ret) +- break; +- } + +- return ret ?: i; ++ return -EIO; + } + + static u32 bcm2835_i2c_func(struct i2c_adapter *adap) + +From 7ef0bb9cec2f6152f2c98065f680bc9c65cf6cae Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 23 Sep 2016 04:57:17 +0200 +Subject: [PATCH 155/164] i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use i2c_adapter->timeout for the completion timeout value. The core +default is 1 second. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 241e08ae7c27cec23fad3c1bf3ebad3a4d2a8e6f..d2085dd3742eabebc537621968088261f8dc7ea8 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -53,8 +53,6 @@ + #define BCM2835_I2C_CDIV_MIN 0x0002 + #define BCM2835_I2C_CDIV_MAX 0xFFFE + +-#define BCM2835_I2C_TIMEOUT (msecs_to_jiffies(1000)) +- + struct bcm2835_i2c_dev { + struct device *dev; + void __iomem *regs; +@@ -242,7 +240,7 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + bcm2835_i2c_start_transfer(i2c_dev); + + time_left = wait_for_completion_timeout(&i2c_dev->completion, +- BCM2835_I2C_TIMEOUT); ++ adap->timeout); + if (!time_left) { + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, + BCM2835_I2C_C_CLEAR); + +From de85a75c99c7accaeb0663d828a3c633c39ce5a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 27 Sep 2016 01:00:08 +0200 +Subject: [PATCH 156/164] i2c: bcm2835: Add support for dynamic clock +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Support a dynamic clock by reading the frequency and setting the +divisor in the transfer function instead of during probe. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Martin Sperl +--- + drivers/i2c/busses/i2c-bcm2835.c | 51 +++++++++++++++++++++++++--------------- + 1 file changed, 32 insertions(+), 19 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index d2085dd3742eabebc537621968088261f8dc7ea8..c3436f627028477f7e21b47e079fd5ab06ec188a 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -58,6 +58,7 @@ struct bcm2835_i2c_dev { + void __iomem *regs; + struct clk *clk; + int irq; ++ u32 bus_clk_rate; + struct i2c_adapter adapter; + struct completion completion; + struct i2c_msg *curr_msg; +@@ -78,6 +79,30 @@ static inline u32 bcm2835_i2c_readl(struct bcm2835_i2c_dev *i2c_dev, u32 reg) + return readl(i2c_dev->regs + reg); + } + ++static int bcm2835_i2c_set_divider(struct bcm2835_i2c_dev *i2c_dev) ++{ ++ u32 divider; ++ ++ divider = DIV_ROUND_UP(clk_get_rate(i2c_dev->clk), ++ i2c_dev->bus_clk_rate); ++ /* ++ * Per the datasheet, the register is always interpreted as an even ++ * number, by rounding down. In other words, the LSB is ignored. So, ++ * if the LSB is set, increment the divider to avoid any issue. ++ */ ++ if (divider & 1) ++ divider++; ++ if ((divider < BCM2835_I2C_CDIV_MIN) || ++ (divider > BCM2835_I2C_CDIV_MAX)) { ++ dev_err_ratelimited(i2c_dev->dev, "Invalid clock-frequency\n"); ++ return -EINVAL; ++ } ++ ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DIV, divider); ++ ++ return 0; ++} ++ + static void bcm2835_fill_txfifo(struct bcm2835_i2c_dev *i2c_dev) + { + u32 val; +@@ -224,7 +249,7 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + { + struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); + unsigned long time_left; +- int i; ++ int i, ret; + + for (i = 0; i < (num - 1); i++) + if (msgs[i].flags & I2C_M_RD) { +@@ -233,6 +258,10 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + return -EOPNOTSUPP; + } + ++ ret = bcm2835_i2c_set_divider(i2c_dev); ++ if (ret) ++ return ret; ++ + i2c_dev->curr_msg = msgs; + i2c_dev->num_msgs = num; + reinit_completion(&i2c_dev->completion); +@@ -282,7 +311,6 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) + { + struct bcm2835_i2c_dev *i2c_dev; + struct resource *mem, *irq; +- u32 bus_clk_rate, divider; + int ret; + struct i2c_adapter *adap; + +@@ -306,27 +334,12 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) + } + + ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency", +- &bus_clk_rate); ++ &i2c_dev->bus_clk_rate); + if (ret < 0) { + dev_warn(&pdev->dev, + "Could not read clock-frequency property\n"); +- bus_clk_rate = 100000; +- } +- +- divider = DIV_ROUND_UP(clk_get_rate(i2c_dev->clk), bus_clk_rate); +- /* +- * Per the datasheet, the register is always interpreted as an even +- * number, by rounding down. In other words, the LSB is ignored. So, +- * if the LSB is set, increment the divider to avoid any issue. +- */ +- if (divider & 1) +- divider++; +- if ((divider < BCM2835_I2C_CDIV_MIN) || +- (divider > BCM2835_I2C_CDIV_MAX)) { +- dev_err(&pdev->dev, "Invalid clock-frequency\n"); +- return -ENODEV; ++ i2c_dev->bus_clk_rate = 100000; + } +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DIV, divider); + + irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); + if (!irq) { + +From a1f654c18d571db09c8607ceb07d5e553726c92b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 1 Nov 2016 15:15:41 +0100 +Subject: [PATCH 157/164] i2c: bcm2835: Add debug support +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This adds a debug module parameter to aid in debugging transfer issues +by printing info to the kernel log. When enabled, status values are +collected in the interrupt routine and msg info in +bcm2835_i2c_start_transfer(). This is done in a way that tries to avoid +affecting timing. Having printk in the isr can mask issues. + +debug values (additive): +1: Print info on error +2: Print info on all transfers +3: Print messages before transfer is started + +The value can be changed at runtime: +/sys/module/i2c_bcm2835/parameters/debug + +Example output, debug=3: +[ 747.114448] bcm2835_i2c_xfer: msg(1/2) write addr=0x54, len=2 flags= [i2c1] +[ 747.114463] bcm2835_i2c_xfer: msg(2/2) read addr=0x54, len=32 flags= [i2c1] +[ 747.117809] start_transfer: msg(1/2) write addr=0x54, len=2 flags= [i2c1] +[ 747.117825] isr: remain=2, status=0x30000055 : TA TXW TXD TXE [i2c1] +[ 747.117839] start_transfer: msg(2/2) read addr=0x54, len=32 flags= [i2c1] +[ 747.117849] isr: remain=32, status=0xd0000039 : TA RXR TXD RXD [i2c1] +[ 747.117861] isr: remain=20, status=0xd0000039 : TA RXR TXD RXD [i2c1] +[ 747.117870] isr: remain=8, status=0x32 : DONE TXD RXD [i2c1] + +Signed-off-by: Noralf Trønnes +--- + drivers/i2c/busses/i2c-bcm2835.c | 99 +++++++++++++++++++++++++++++++++++++++- + 1 file changed, 98 insertions(+), 1 deletion(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index c3436f627028477f7e21b47e079fd5ab06ec188a..8642f580ce41803bd22c76a0fa80d083d0747be1 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -53,6 +53,18 @@ + #define BCM2835_I2C_CDIV_MIN 0x0002 + #define BCM2835_I2C_CDIV_MAX 0xFFFE + ++static unsigned int debug; ++module_param(debug, uint, 0644); ++MODULE_PARM_DESC(debug, "1=err, 2=isr, 3=xfer"); ++ ++#define BCM2835_DEBUG_MAX 512 ++struct bcm2835_debug { ++ struct i2c_msg *msg; ++ int msg_idx; ++ size_t remain; ++ u32 status; ++}; ++ + struct bcm2835_i2c_dev { + struct device *dev; + void __iomem *regs; +@@ -66,8 +78,78 @@ struct bcm2835_i2c_dev { + u32 msg_err; + u8 *msg_buf; + size_t msg_buf_remaining; ++ struct bcm2835_debug debug[BCM2835_DEBUG_MAX]; ++ unsigned int debug_num; ++ unsigned int debug_num_msgs; + }; + ++static inline void bcm2835_debug_add(struct bcm2835_i2c_dev *i2c_dev, u32 s) ++{ ++ if (!i2c_dev->debug_num_msgs || i2c_dev->debug_num >= BCM2835_DEBUG_MAX) ++ return; ++ ++ i2c_dev->debug[i2c_dev->debug_num].msg = i2c_dev->curr_msg; ++ i2c_dev->debug[i2c_dev->debug_num].msg_idx = ++ i2c_dev->debug_num_msgs - i2c_dev->num_msgs; ++ i2c_dev->debug[i2c_dev->debug_num].remain = i2c_dev->msg_buf_remaining; ++ i2c_dev->debug[i2c_dev->debug_num].status = s; ++ i2c_dev->debug_num++; ++} ++ ++static void bcm2835_debug_print_status(struct bcm2835_i2c_dev *i2c_dev, ++ struct bcm2835_debug *d) ++{ ++ u32 s = d->status; ++ ++ pr_info("isr: remain=%zu, status=0x%x : %s%s%s%s%s%s%s%s%s%s [i2c%d]\n", ++ d->remain, s, ++ s & BCM2835_I2C_S_TA ? "TA " : "", ++ s & BCM2835_I2C_S_DONE ? "DONE " : "", ++ s & BCM2835_I2C_S_TXW ? "TXW " : "", ++ s & BCM2835_I2C_S_RXR ? "RXR " : "", ++ s & BCM2835_I2C_S_TXD ? "TXD " : "", ++ s & BCM2835_I2C_S_RXD ? "RXD " : "", ++ s & BCM2835_I2C_S_TXE ? "TXE " : "", ++ s & BCM2835_I2C_S_RXF ? "RXF " : "", ++ s & BCM2835_I2C_S_ERR ? "ERR " : "", ++ s & BCM2835_I2C_S_CLKT ? "CLKT " : "", ++ i2c_dev->adapter.nr); ++} ++ ++static void bcm2835_debug_print_msg(struct bcm2835_i2c_dev *i2c_dev, ++ struct i2c_msg *msg, int i, int total, ++ const char *fname) ++{ ++ pr_info("%s: msg(%d/%d) %s addr=0x%02x, len=%u flags=%s%s%s%s%s%s%s [i2c%d]\n", ++ fname, i, total, ++ msg->flags & I2C_M_RD ? "read" : "write", msg->addr, msg->len, ++ msg->flags & I2C_M_TEN ? "TEN" : "", ++ msg->flags & I2C_M_RECV_LEN ? "RECV_LEN" : "", ++ msg->flags & I2C_M_NO_RD_ACK ? "NO_RD_ACK" : "", ++ msg->flags & I2C_M_IGNORE_NAK ? "IGNORE_NAK" : "", ++ msg->flags & I2C_M_REV_DIR_ADDR ? "REV_DIR_ADDR" : "", ++ msg->flags & I2C_M_NOSTART ? "NOSTART" : "", ++ msg->flags & I2C_M_STOP ? "STOP" : "", ++ i2c_dev->adapter.nr); ++} ++ ++static void bcm2835_debug_print(struct bcm2835_i2c_dev *i2c_dev) ++{ ++ struct bcm2835_debug *d; ++ unsigned int i; ++ ++ for (i = 0; i < i2c_dev->debug_num; i++) { ++ d = &i2c_dev->debug[i]; ++ if (d->status == ~0) ++ bcm2835_debug_print_msg(i2c_dev, d->msg, d->msg_idx, ++ i2c_dev->debug_num_msgs, "start_transfer"); ++ else ++ bcm2835_debug_print_status(i2c_dev, d); ++ } ++ if (i2c_dev->debug_num >= BCM2835_DEBUG_MAX) ++ pr_info("BCM2835_DEBUG_MAX reached\n"); ++} ++ + static inline void bcm2835_i2c_writel(struct bcm2835_i2c_dev *i2c_dev, + u32 reg, u32 val) + { +@@ -170,6 +252,7 @@ static void bcm2835_i2c_start_transfer(struct bcm2835_i2c_dev *i2c_dev) + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); ++ bcm2835_debug_add(i2c_dev, ~0); + } + + /* +@@ -187,6 +270,7 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + u32 val, err; + + val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); ++ bcm2835_debug_add(i2c_dev, val); + + err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR); + if (err) { +@@ -251,6 +335,13 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + unsigned long time_left; + int i, ret; + ++ if (debug) ++ i2c_dev->debug_num_msgs = num; ++ ++ if (debug > 2) ++ for (i = 0; i < num; i++) ++ bcm2835_debug_print_msg(i2c_dev, &msgs[i], i + 1, num, __func__); ++ + for (i = 0; i < (num - 1); i++) + if (msgs[i].flags & I2C_M_RD) { + dev_warn_once(i2c_dev->dev, +@@ -270,6 +361,10 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + + time_left = wait_for_completion_timeout(&i2c_dev->completion, + adap->timeout); ++ if (debug > 1 || (debug && (!time_left || i2c_dev->msg_err))) ++ bcm2835_debug_print(i2c_dev); ++ i2c_dev->debug_num_msgs = 0; ++ i2c_dev->debug_num = 0; + if (!time_left) { + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, + BCM2835_I2C_C_CLEAR); +@@ -280,7 +375,9 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + if (!i2c_dev->msg_err) + return num; + +- dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); ++ if (debug) ++ dev_err(i2c_dev->dev, "i2c transfer failed: %x\n", ++ i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + return -EREMOTEIO; + +From aa9d0e5f5bc75f8b7c23ad5c28d514447cab1c06 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 1 Nov 2016 20:03:29 +0100 +Subject: [PATCH 158/164] config: Enable i2c-bcm2835 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Noralf Trønnes +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index d246dd91b12d40a2d59d5e6758548471f1b195a0..816f832a5f676d905bfae1e06ae8003e38d5cff3 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -606,6 +606,7 @@ CONFIG_I2C=y + CONFIG_I2C_CHARDEV=m + CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m ++CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 27c61471a12a38feda62447af8010530bc89c141..98b2e5992a45a6212ef9a8b9826431d9fc024169 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -602,6 +602,7 @@ CONFIG_I2C=y + CONFIG_I2C_CHARDEV=m + CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m ++CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m + +From d5c07cc7947cab9a1263580d8db8144a8b5df0d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 1 Nov 2016 15:42:55 +0100 +Subject: [PATCH 159/164] BCM270X_DT: Use i2c-bcm2835 as default +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +i2c-bcm2835 has gotten an overhaul so we can now use as default. + +Signed-off-by: Noralf Trønnes +--- + arch/arm/boot/dts/bcm270x.dtsi | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi +index 7fb1f428332dc48bdd91dd4a0773f3bea7057238..514b481d4f4095dc8b55a216ac7335934973e145 100644 +--- a/arch/arm/boot/dts/bcm270x.dtsi ++++ b/arch/arm/boot/dts/bcm270x.dtsi +@@ -49,10 +49,6 @@ + dma-names = "tx", "rx"; + }; + +- i2c@7e205000 { /* i2c0 */ +- compatible = "brcm,bcm2708-i2c"; +- }; +- + pixelvalve0: pixelvalve@7e206000 { + /* Add alias */ + status = "disabled"; +@@ -104,14 +100,6 @@ + status = "disabled"; + }; + +- i2c@7e804000 { /* i2c1 */ +- compatible = "brcm,bcm2708-i2c"; +- }; +- +- i2c@7e805000 { /* i2c2 */ +- compatible = "brcm,bcm2708-i2c"; +- }; +- + pixelvalve2: pixelvalve@7e807000 { + /* Add alias */ + status = "disabled"; + +From 27366d7f67935fccaf9499c14f214704a46c77ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 11 Nov 2016 18:24:26 +0100 +Subject: [PATCH 160/164] BCM270X_DT: Add fallback overlay for i2c-bcm2708 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Noralf Trønnes +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 ++++++ + arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts | 13 +++++++++++++ + 3 files changed, 20 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 555bb5050aaf8464e209f35c50dc1f5c0295e585..7ef449dcfb206f9ab36d63b04bce9f9694c8c697 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -37,6 +37,7 @@ dtbo-$(RPI_DT_OVERLAYS) += hifiberry-digi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hifiberry-digi-pro.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28a.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += i2c-bcm2708.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-mux.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-pwm-pca9685a.dtbo +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 4f9f0ac43f4fe2cb9376fff5a214ffdaf8179591..585f999474ca67155314f2e47d815b081a24d712 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -463,6 +463,12 @@ Params: speed Display SPI bus speed + ledgpio GPIO used to control backlight + + ++Name: i2c-bcm2708 ++Info: Fall back to the i2c_bcm2708 driver for the i2c_arm bus. ++Load: dtoverlay=i2c-bcm2708 ++Params: ++ ++ + Name: i2c-gpio + Info: Adds support for software i2c controller on gpio pins + Load: dtoverlay=i2c-gpio,= +diff --git a/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts b/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..0afc6b405414c97428278dd3e8836759092aedb5 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts +@@ -0,0 +1,13 @@ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&i2c_arm>; ++ __overlay__ { ++ compatible = "brcm,bcm2708-i2c"; ++ }; ++ }; ++}; + +From dfa675bd8f4014b7336a054c0fd10121221f064a Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Fri, 30 Sep 2016 10:07:27 -0700 +Subject: [PATCH 161/164] clk: bcm2835: Clamp the PLL's requested rate to the + hardware limits. + +Fixes setting low-resolution video modes on HDMI. Now the PLLH_PIX +divider adjusts itself until the PLLH is within bounds. + +Signed-off-by: Eric Anholt +Signed-off-by: Stephen Boyd +--- + drivers/clk/bcm/clk-bcm2835.c | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index fbf616021704178a9d007219a0ea2a9f1704f0a6..b07c3485441203356bcda287e32f59041d31196e 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -502,8 +502,12 @@ static long bcm2835_pll_rate_from_divisors(unsigned long parent_rate, + static long bcm2835_pll_round_rate(struct clk_hw *hw, unsigned long rate, + unsigned long *parent_rate) + { ++ struct bcm2835_pll *pll = container_of(hw, struct bcm2835_pll, hw); ++ const struct bcm2835_pll_data *data = pll->data; + u32 ndiv, fdiv; + ++ rate = clamp(rate, data->min_rate, data->max_rate); ++ + bcm2835_pll_choose_ndiv_and_fdiv(rate, *parent_rate, &ndiv, &fdiv); + + return bcm2835_pll_rate_from_divisors(*parent_rate, ndiv, fdiv, 1); +@@ -608,13 +612,6 @@ static int bcm2835_pll_set_rate(struct clk_hw *hw, + u32 ana[4]; + int i; + +- if (rate < data->min_rate || rate > data->max_rate) { +- dev_err(cprman->dev, "%s: rate out of spec: %lu vs (%lu, %lu)\n", +- clk_hw_get_name(hw), rate, +- data->min_rate, data->max_rate); +- return -EINVAL; +- } +- + if (rate > data->max_fb_rate) { + use_fb_prediv = true; + rate /= 2; + +From 7e66587b08d2da8b366279fafae3b16ae0fd1a16 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 1 Nov 2016 13:10:05 +0000 +Subject: [PATCH 162/164] config: Add CONFIG_HTU21 module + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 816f832a5f676d905bfae1e06ae8003e38d5cff3..a620bb77fd7934a9977adf3944bb2f3be9d83443 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1148,6 +1148,7 @@ CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m ++CONFIG_HTU21=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_RASPBERRYPI_FIRMWARE=y +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 98b2e5992a45a6212ef9a8b9826431d9fc024169..43fc0a37f8bf2701aac84962203e7219645d5d7b 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1158,6 +1158,7 @@ CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m ++CONFIG_HTU21=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_RASPBERRYPI_FIRMWARE=y + +From af6549ac3dbb013a166e4a6740e4698a68dc4780 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 31 Oct 2016 17:42:54 +0000 +Subject: [PATCH 163/164] config: Add SECOMP options from #1698 + +--- + arch/arm/configs/bcm2709_defconfig | 8 +++++++- + arch/arm/configs/bcmrpi_defconfig | 7 ++++++- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index a620bb77fd7934a9977adf3944bb2f3be9d83443..8ab82ca775b336c6786a76dbaacaeb8e4a5da660 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -14,11 +14,15 @@ CONFIG_IKCONFIG=m + CONFIG_IKCONFIG_PROC=y + CONFIG_NMI_LOG_BUF_SHIFT=12 + CONFIG_MEMCG=y ++CONFIG_MEMCG_SWAP=y + CONFIG_BLK_CGROUP=y ++CONFIG_CFS_BANDWIDTH=y ++CONFIG_CGROUP_PIDS=y + CONFIG_CGROUP_FREEZER=y + CONFIG_CPUSETS=y + CONFIG_CGROUP_DEVICE=y + CONFIG_CGROUP_CPUACCT=y ++CONFIG_CGROUP_PERF=y + CONFIG_NAMESPACES=y + CONFIG_USER_NS=y + CONFIG_SCHED_AUTOGROUP=y +@@ -44,7 +48,6 @@ CONFIG_SMP=y + CONFIG_VMSPLIT_2G=y + CONFIG_PREEMPT_VOLUNTARY=y + CONFIG_AEABI=y +-CONFIG_OABI_COMPAT=y + # CONFIG_CPU_SW_DOMAIN_PAN is not set + CONFIG_CLEANCACHE=y + CONFIG_FRONTSWAP=y +@@ -342,6 +345,7 @@ CONFIG_NET_ACT_SKBEDIT=m + CONFIG_NET_ACT_CSUM=m + CONFIG_BATMAN_ADV=m + CONFIG_OPENVSWITCH=m ++CONFIG_CGROUP_NET_PRIO=y + CONFIG_NET_PKTGEN=m + CONFIG_HAMRADIO=y + CONFIG_AX25=m +@@ -1278,6 +1282,8 @@ CONFIG_FUNCTION_PROFILER=y + CONFIG_KGDB=y + CONFIG_KGDB_KDB=y + CONFIG_KDB_KEYBOARD=y ++CONFIG_SECURITY=y ++CONFIG_SECURITY_APPARMOR=y + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CBC=y + CONFIG_CRYPTO_CTS=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 43fc0a37f8bf2701aac84962203e7219645d5d7b..3de3a93921cbea9e56ac34d589ec6e83ddb5e7c1 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -13,11 +13,14 @@ CONFIG_IKCONFIG=m + CONFIG_IKCONFIG_PROC=y + CONFIG_NMI_LOG_BUF_SHIFT=12 + CONFIG_MEMCG=y ++CONFIG_MEMCG_SWAP=y + CONFIG_BLK_CGROUP=y ++CONFIG_CGROUP_PIDS=y + CONFIG_CGROUP_FREEZER=y + CONFIG_CPUSETS=y + CONFIG_CGROUP_DEVICE=y + CONFIG_CGROUP_CPUACCT=y ++CONFIG_CGROUP_PERF=y + CONFIG_NAMESPACES=y + CONFIG_USER_NS=y + CONFIG_SCHED_AUTOGROUP=y +@@ -43,7 +46,6 @@ CONFIG_ARCH_BCM2708=y + # CONFIG_CACHE_L2X0 is not set + CONFIG_PREEMPT_VOLUNTARY=y + CONFIG_AEABI=y +-CONFIG_OABI_COMPAT=y + # CONFIG_CPU_SW_DOMAIN_PAN is not set + CONFIG_CLEANCACHE=y + CONFIG_FRONTSWAP=y +@@ -338,6 +340,7 @@ CONFIG_NET_ACT_SKBEDIT=m + CONFIG_NET_ACT_CSUM=m + CONFIG_BATMAN_ADV=m + CONFIG_OPENVSWITCH=m ++CONFIG_CGROUP_NET_PRIO=y + CONFIG_NET_PKTGEN=m + CONFIG_HAMRADIO=y + CONFIG_AX25=m +@@ -1289,6 +1292,8 @@ CONFIG_FUNCTION_PROFILER=y + CONFIG_KGDB=y + CONFIG_KGDB_KDB=y + CONFIG_KDB_KEYBOARD=y ++CONFIG_SECURITY=y ++CONFIG_SECURITY_APPARMOR=y + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CRYPTD=m + CONFIG_CRYPTO_CBC=y + +From 61a0dafeb83dfa15107ce1e6e3e3ea9f550d8c38 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Sun, 13 Nov 2016 17:37:35 +0000 +Subject: [PATCH 164/164] Revert "Revert "Register the clocks early during the + boot process,"" + +This reverts commit a999a266a45996796e5d3edd907f5648ad206239. +--- + drivers/clk/bcm/clk-bcm2835.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index b07c3485441203356bcda287e32f59041d31196e..89645d63af53a3559c4b2e88f9a592fe11f5103f 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -1888,8 +1888,15 @@ static int bcm2835_clk_probe(struct platform_device *pdev) + if (ret) + return ret; + +- return of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, +- &cprman->onecell); ++ ret = of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, ++ &cprman->onecell); ++ if (ret) ++ return ret; ++ ++ /* note that we have registered all the clocks */ ++ dev_dbg(dev, "registered %d clocks\n", asize); ++ ++ return 0; + } + + static const struct of_device_id bcm2835_clk_of_match[] = { +@@ -1906,7 +1913,11 @@ static struct platform_driver bcm2835_clk_driver = { + .probe = bcm2835_clk_probe, + }; + +-builtin_platform_driver(bcm2835_clk_driver); ++static int __init __bcm2835_clk_driver_init(void) ++{ ++ return platform_driver_register(&bcm2835_clk_driver); ++} ++core_initcall(__bcm2835_clk_driver_init); + + MODULE_AUTHOR("Eric Anholt "); + MODULE_DESCRIPTION("BCM2835 clock driver"); diff --git a/projects/RPi2/patches/linux/linux-01-RPi_support.patch b/projects/RPi2/patches/linux/linux-01-RPi_support.patch index c68b684f75..ab7d8fb029 100644 --- a/projects/RPi2/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi2/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From a4af50c1021695afd8d35b00a824d9dcef5b0444 Mon Sep 17 00:00:00 2001 +From de8f49b794063c81c6ec1baa785ff75e05426e4f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 27 Apr 2016 17:43:28 +0100 -Subject: [PATCH 001/147] Revert "SUNRPC: Make NFS swap work with multipath" +Subject: [PATCH 001/164] Revert "SUNRPC: Make NFS swap work with multipath" This reverts commit 15001e5a7e1e207b6bd258cd8f187814cd15b6dc. --- @@ -95,10 +95,10 @@ index 66f23b376fa04a91134eddf6d8ee22a2f5de5808..f55fe2b0137e8fbefcd20c336b28ad48 EXPORT_SYMBOL_GPL(rpc_clnt_swap_deactivate); #endif /* CONFIG_SUNRPC_SWAP */ -From e278f6a69df039c32543d292ae4d5b2bc17c8f86 Mon Sep 17 00:00:00 2001 +From 0275f17007df95eb8f79d31dcf0304b801ba5b53 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/147] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/164] 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. @@ -145,10 +145,10 @@ index dc989a8b5afbd62b07cd65a2fa5edde67d3cc5fb..116680e3089f16e1e3e9113a3b93e62c usbnet_skb_return(dev, ax_skb); } -From 66f5a0d340b638f19d9a094ef37ea62b8888a98f Mon Sep 17 00:00:00 2001 +From 2da0270b1bc9ac5e0251e312cd5f5a3f12ba3588 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 17 Apr 2015 16:58:45 +0100 -Subject: [PATCH 003/147] smsc95xx: Disable turbo mode by default +Subject: [PATCH 003/164] smsc95xx: Disable turbo mode by default --- drivers/net/usb/smsc95xx.c | 2 +- @@ -168,10 +168,10 @@ index 116680e3089f16e1e3e9113a3b93e62cb78cc1bb..aa4cb43dcd9ba83b042332bc15a4dce6 MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction"); -From ddcc944b6565f7f0f0c7d18bf2d2f687bf79bfb1 Mon Sep 17 00:00:00 2001 +From 77f0fd614e08636d8a852babc83a2929eafa91dd Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 004/147] add smsc95xx packetsize module_param +Subject: [PATCH 004/164] add smsc95xx packetsize module_param Signed-off-by: Sam Nazarko --- @@ -213,10 +213,10 @@ index aa4cb43dcd9ba83b042332bc15a4dce68affce28..889bdabd9dea6cebccc361aa4ac569d7 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From a61702e80b9799fcc84d05a4529092fe41be58f4 Mon Sep 17 00:00:00 2001 +From 24e9d8d77d33df7311614bafc521a5750a042afc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 005/147] Allow mac address to be set in smsc95xx +Subject: [PATCH 005/164] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -312,10 +312,10 @@ index 889bdabd9dea6cebccc361aa4ac569d73681396b..d22a2324085fbf61fbd8920362bfc7b9 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From beb6b7e6346a324b6b2a7739df99de9049d7407e Mon Sep 17 00:00:00 2001 +From 0beb2ba6cbf38cedb4d04b01417f5c784ea53b79 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Aug 2016 22:19:28 +0100 -Subject: [PATCH 006/147] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 006/164] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -346,10 +346,10 @@ index d22a2324085fbf61fbd8920362bfc7b9f72bebe3..c846c55075387398d9bcb0957e31f5c8 MODULE_PARM_DESC(packetsize, "Override the RX URB packet size"); -From c1b6d1d2b148ae8b0f59c707c0089a3f4748fda0 Mon Sep 17 00:00:00 2001 +From 027fbdb777cc55a9d818f0dbd1385e36dcb07844 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 13:28:24 +0000 -Subject: [PATCH 007/147] serial: Take care starting a hung-up tty's port +Subject: [PATCH 007/164] serial: Take care starting a hung-up tty's port tty_port_hangup sets a port's tty field to NULL (holding the port lock), but uart_tx_stopped, called from __uart_start (with the port lock), @@ -377,10 +377,10 @@ index 2f44e20136545162d15ee9a39c2eae38352580d1..6b0518ce13ad210b888b73dd6c02a555 return 0; } -From 63ff5aacb1f6a7d2ccff35dbfcb379332db518b9 Mon Sep 17 00:00:00 2001 +From cf67462d3f84c6e9f324fa5f2e0d2e989976e53a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 008/147] Protect __release_resource against resources without +Subject: [PATCH 008/164] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -408,10 +408,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From 7dee84d113ad3984275aa5c9947b9671868b054c Mon Sep 17 00:00:00 2001 +From 7203c5f0d088eda0083955731a65478cc30401f9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 009/147] mm: Remove the PFN busy warning +Subject: [PATCH 009/164] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -436,10 +436,10 @@ index a2214c64ed3cd04dceaed7a579f593852e458df1..de26bffb1baa5cffa692fcb12b478263 goto done; } -From 72a13998cef3853972c04ef161e160657e131928 Mon Sep 17 00:00:00 2001 +From 85204cf198681000328c807a8e644b280d6c9e88 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 010/147] BCM2835_DT: Fix I2S register map +Subject: [PATCH 010/164] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -477,10 +477,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 845f05c3ad428a6d00fd1443df129ce809c87243 Mon Sep 17 00:00:00 2001 +From c6777a31d4a07af1ab0392b103e8145e684576dd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 011/147] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 011/164] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -507,10 +507,10 @@ index d96b2c947e74e3edab3917551c64fbd1ced0f34c..93e3f7660c4230c9f1dd3b195958cb49 #endif } else if (stat) { -From 2d72825126219048d31f47a2ff5591516c78f95e Mon Sep 17 00:00:00 2001 +From 22581d6e84ed94dcca9027bbe39c4d26dd98ad66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 012/147] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 012/164] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -639,10 +639,10 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 } -From 692c02f9867ba3b2fa1c689f117552e685edb6c9 Mon Sep 17 00:00:00 2001 +From 4de698b13dcc99570b658fdf6d81a1446fd77fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 013/147] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 013/164] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -741,10 +741,10 @@ index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From c4d120db5f133a08952ea22590b0c0c67eb6a7ab Mon Sep 17 00:00:00 2001 +From d30ce2f0a53682f01196eb8e192e8fe488f5d247 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 014/147] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 014/164] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -765,10 +765,10 @@ index 2e05046f866bd01bf87edcdeff0d5b76d4d0aea7..d780491b8013a4e97fa843958964454e }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From badd9feeaa82ab875609b7b0a7bf25efbfaa8035 Mon Sep 17 00:00:00 2001 +From 5902ff75c255a23497181aa3bd036d3d3b23176b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 015/147] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 015/164] serial: 8250: Don't crash when nr_uarts is 0 --- drivers/tty/serial/8250/8250_core.c | 2 ++ @@ -788,10 +788,10 @@ index dcf43f66404f12d2bd290a30adfe494dd056162e..0fba189c676ded310b92a09c4e7e8f76 for (i = 0; i < nr_uarts; i++) { struct uart_8250_port *up = &serial8250_ports[i]; -From 67c2058d24c35fcbfc2b8c5f106eac48431dae5c Mon Sep 17 00:00:00 2001 +From f525eb7bba4692b69f88dc664182f8bb58238a16 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 016/147] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 016/164] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -813,10 +813,10 @@ index fa77165fab2c1348163979da507df17e7168c49b..d11e2e4ea189466e686d762cb6c6fef9 .can_sleep = false, }; -From f715cb5504f4fa469703bcb947d79b490e1915bb Mon Sep 17 00:00:00 2001 +From bce45111c205499ec53eb24334986258e1464915 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 017/147] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 017/164] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -962,10 +962,10 @@ index d11e2e4ea189466e686d762cb6c6fef9111ecf8e..107ad7d58de8f8a7f55e09c9cdcf7d66 }, }; -From 70031a22e92ff2be5c3532683240358eff5dc748 Mon Sep 17 00:00:00 2001 +From 1788e923b4b0891e4fdc6fc4da0e618532796e7a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 018/147] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 018/164] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -992,10 +992,10 @@ index 107ad7d58de8f8a7f55e09c9cdcf7d66fa7ab66b..644bdecbcfcb79d3b84a33769265fca5 pc->irq_data[i].irqgroup = i; -From 2cffb96f1be716d7faf8bf834779ee3654664dc6 Mon Sep 17 00:00:00 2001 +From 1eeef586e6e83b5604d03fcdd4c0755ce67fdc8b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2016 12:32:47 +0100 -Subject: [PATCH 019/147] pinctrl-bcm2835: Return pins to inputs when freed +Subject: [PATCH 019/164] pinctrl-bcm2835: Return pins to inputs when freed When dynamically unloading overlays, it is important that freed pins are restored to being inputs to prevent functions from being enabled in @@ -1036,10 +1036,10 @@ index 644bdecbcfcb79d3b84a33769265fca5d3d0c9e5..81a66cba2ab0f7e3ae179de7edd10122 .get_function_name = bcm2835_pmx_get_function_name, .get_function_groups = bcm2835_pmx_get_function_groups, -From d325199f920511b129f6a3f515e3e7b96925d8e6 Mon Sep 17 00:00:00 2001 +From 8b70a822e60413a838e5e923828b7a187a088f1e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 020/147] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 020/164] 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 @@ -1120,10 +1120,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 3b00154095725c4a7fe1ef520c58b2580500bd95 Mon Sep 17 00:00:00 2001 +From 0bf8f9e13838e64f9e05776cac57831ed2f2859a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 021/147] spi-bcm2835: Disable forced software CS +Subject: [PATCH 021/164] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an @@ -1157,10 +1157,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 2864bf800f6e4b7e528bf08b8b4a010f3df791fc Mon Sep 17 00:00:00 2001 +From 53c371da8fc2d0bc866a5e11d208410c942e9216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 022/147] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 022/164] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1213,10 +1213,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 6a4aa446e9349b392a25290731dbec76234b3209 Mon Sep 17 00:00:00 2001 +From 41aa8122070bc4ddcbf50f8223414d2ff260ff24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 023/147] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 023/164] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1319,10 +1319,10 @@ index e18dc596cf2447fa9ef7e41b62d9396e29043426..80d35f760b4a4a51e60c355a84d538ba MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From 43d2daba968de660dd7c9cdc3bea3198de2ac07d Mon Sep 17 00:00:00 2001 +From ca64c2b9d0c016b38b24c60c76175ddb53d4e0bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:50:02 +0200 -Subject: [PATCH 024/147] bcm2835: Add support for uart1 +Subject: [PATCH 024/164] bcm2835: Add support for uart1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1379,10 +1379,10 @@ index 8f152266ba9b470df2eaaed9ebcf158ed2079834..0ef5cd3d1d6ec420360294acc98d40d6 static const char * const bcm2835_compat[] = { -From e173cc5bb5cc0e60e3cbf7d330668196336a02a3 Mon Sep 17 00:00:00 2001 +From e48b295baa0c2a0e0a5e8edf77df61c0956dcba3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 025/147] firmware: Updated mailbox header +Subject: [PATCH 025/164] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 11 +++++++++++ @@ -1445,10 +1445,10 @@ index 3fb357193f09914fe21f8555a4b8613f74f22bc3..227a107214a02deadcca3db202da265e RPI_FIRMWARE_GET_COMMAND_LINE = 0x00050001, RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, -From 5650c43fd3b3fd1dd3a19bbaedf590cac1fce8c2 Mon Sep 17 00:00:00 2001 +From 96cddb0ec832f987166dab74367c2cb99238a6c5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 11:44:59 -0700 -Subject: [PATCH 026/147] clk: bcm2835: Mark the VPU clock as critical +Subject: [PATCH 026/164] clk: bcm2835: Mark the VPU clock as critical The VPU clock is also the clock for our AXI bus, so we really can't disable it. This might have happened during boot if, for example, @@ -1494,10 +1494,10 @@ index 0fc71cbaa4404bddc1ca603a28a43425a7e5a341..085e5217d3b9f73c312dc7fd510ef55c /* clocks with per parent mux */ -From bfab37b97822e45e9cfb0aed8953839ee8c3b1ab Mon Sep 17 00:00:00 2001 +From 0f2d4c0deadb182f9d1f9d5b3cc935dadf9c5783 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 027/147] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 027/164] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1552,10 +1552,10 @@ index 085e5217d3b9f73c312dc7fd510ef55cddb4a27c..e527649ee5e32d20cebd762f4badbfca /* HDMI state machine */ [BCM2835_CLOCK_HSM] = REGISTER_PER_CLK( -From 20f4074103a081f6f62859085ad8c63ed7c26907 Mon Sep 17 00:00:00 2001 +From c71ed43a8bf16ec660c14bd38b46f20366e56377 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Jun 2016 12:05:35 -0700 -Subject: [PATCH 028/147] clk: bcm2835: Mark the CM SDRAM clock's parent as +Subject: [PATCH 028/164] clk: bcm2835: Mark the CM SDRAM clock's parent as critical While the SDRAM is being driven by its dedicated PLL most of the time, @@ -1629,10 +1629,10 @@ index e527649ee5e32d20cebd762f4badbfca06657a84..fbf616021704178a9d007219a0ea2a9f &cprman->onecell); } -From a26e2e949802c585bb0e52eca15eb53d530a3d53 Mon Sep 17 00:00:00 2001 +From fd8f5fbd3ea2cfd478f73b95fb7f7da94d65cc79 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Oct 2016 13:58:40 +0100 -Subject: [PATCH 029/147] Enable upstream BCM2835 auxiliar mini UART support +Subject: [PATCH 029/164] Enable upstream BCM2835 auxiliar mini UART support --- drivers/tty/serial/8250/Kconfig | 2 +- @@ -1652,10 +1652,10 @@ index 7c6f7afca5ddeed7b25fa6272246fc539bf31b04..748098f900d3474b5d535b24da76ad06 help Support for the BCM2835 auxiliar mini UART. -From 22746eb2611f0df11273a5683c6843f08c554fc3 Mon Sep 17 00:00:00 2001 +From d513c4e880e8860b228818787d453f091f587314 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 030/147] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 030/164] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1675,10 +1675,10 @@ index b4478cc92b55dbd76731ea8ec6a4228677adcebb..6981064d5cbad7d7078b23ce4ed5227e MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From 078983ce02393115f2586a2192daa662da250fc1 Mon Sep 17 00:00:00 2001 +From 31ad6874cf350f457774a9685b87bd7d57b8ed25 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 19 Apr 2016 15:55:02 -0700 -Subject: [PATCH 031/147] ARM: bcm2708: Enable building power domain driver. +Subject: [PATCH 031/164] ARM: bcm2708: Enable building power domain driver. Signed-off-by: Eric Anholt --- @@ -1699,10 +1699,10 @@ index a39b0d58ddd0fdf0ac1cc7295f8aafb12546e226..7d11a44f36d2e6f8697773cd49a72e53 select PM_GENERIC_DOMAINS if PM help -From d628172d94f5db1cb8e3447bd5d0646dfe95a88a Mon Sep 17 00:00:00 2001 +From 0832afe377858f8818221ad2228902fb2db05063 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 032/147] Main bcm2708/bcm2709 linux port +Subject: [PATCH 032/164] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -4227,10 +4227,10 @@ index aa4bfbf129e4585ebb89b25fca4b03c928925022..89f7a3a539b5a1b84ddcf0a1548160c0 mmc_pm_flag_t pm_caps; /* supported pm features */ -From c7c3a04135c44b5923a487a5bb6e77cca415066d Mon Sep 17 00:00:00 2001 +From fc94cb1d67f2c948df46b75147aa6cfe236593d1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 033/147] reboot: Use power off rather than busy spinning when +Subject: [PATCH 033/164] reboot: Use power off rather than busy spinning when halt is requested --- @@ -4253,10 +4253,10 @@ index 3fa867a2aae672755c6ce6448f4148c989dbf964..80dca8dcd6709034b643c6a3f35729e0 /* -From 5025942b9ae5e098639b318fe7c16a6630db5eab Mon Sep 17 00:00:00 2001 +From 38ea1c059e3993aadb500ccb7bd333a06f15a6a5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 11 Nov 2015 21:01:15 +0000 -Subject: [PATCH 034/147] squash: include ARCH_BCM2708 / ARCH_BCM2709 +Subject: [PATCH 034/164] squash: include ARCH_BCM2708 / ARCH_BCM2709 --- drivers/char/hw_random/Kconfig | 2 +- @@ -4420,10 +4420,10 @@ index d528aaceaad95bc6bae2147ebe66249629d2512e..03a303e52d5fe57bbdd8769d24bca590 select REGMAP_MMIO help -From 0e37b043e6008b854397be514cfc39ea12e8e7df Mon Sep 17 00:00:00 2001 +From 7a4b0eebb3f5510d0f5fa4d4eae1acfd64b76141 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 035/147] Add dwc_otg driver +Subject: [PATCH 035/164] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -65449,10 +65449,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From e191bd94df99006e4ae446d089365240a0a066b5 Mon Sep 17 00:00:00 2001 +From 1c2ae83bc60313abfdc1951c1ba31299431eadd1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 036/147] bcm2708 framebuffer driver +Subject: [PATCH 036/164] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68911,10 +68911,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From 15691abde28f83698bef6933a1ba3c6b2f33ad94 Mon Sep 17 00:00:00 2001 +From cf57ed4939e0672e8315a26e59b6bc03d988f15b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 037/147] dmaengine: Add support for BCM2708 +Subject: [PATCH 037/164] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69536,10 +69536,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From a5c624f57a5acc7ea245f4f227853004d353627c Mon Sep 17 00:00:00 2001 +From f1377efccbb4fcba8ce525383141cc89afae9e68 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 038/147] MMC: added alternative MMC driver +Subject: [PATCH 038/164] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -71286,10 +71286,10 @@ index 0000000000000000000000000000000000000000..ceb37930e167f47c9c848e8de757ad09 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); -From e1a45e934c517ef9a714d9ffc31e16c78eaf93d0 Mon Sep 17 00:00:00 2001 +From cc1a52b2257884123c188d425f498eba5085668c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 039/147] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 039/164] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -73681,10 +73681,10 @@ index 0000000000000000000000000000000000000000..23dea422182534e248435aeaee3ecb5d +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From e707483b225a17abcde849a17cbdfd058ed89edc Mon Sep 17 00:00:00 2001 +From dbde666ae163f76a50a706b19682e5ad464a05c7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 040/147] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 040/164] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Some SD cards have been found that corrupt data when small blocks are erased. Add a quirk to indicate that ERASE should not be used, @@ -73820,10 +73820,10 @@ index d8673ca968ba2d65fb3da39680583ca5152641e4..510c3872929b3267fb6665bb69d26f5a unsigned int erase_shift; /* if erase unit is power 2 */ unsigned int pref_erase; /* in sectors */ -From 7d1b326d12782751c83a8667b9a381346e9e5b95 Mon Sep 17 00:00:00 2001 +From d95b82055864ad0b03093f761226ad150fc002e6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 041/147] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 041/164] cma: Add vc_cma driver to enable use of CMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -75166,10 +75166,10 @@ index 0000000000000000000000000000000000000000..be2819d5d41f9d5ed65daf8eedb94c9e + +#endif /* VC_CMA_H */ -From be0f0447f09e519cadc268d5e544addc3cfccecd Mon Sep 17 00:00:00 2001 +From 9823aae5f6fb866ba82b09ef978fe66b768610d7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 042/147] bcm2708: alsa sound driver +Subject: [PATCH 042/164] bcm2708: alsa sound driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77905,10 +77905,10 @@ index 0000000000000000000000000000000000000000..af3e6eb690113fc32ce9e06bd2f0f294 + +#endif // _VC_AUDIO_DEFS_H_ -From 76c58b748517c00ec318fb862bd5dd03b1778e64 Mon Sep 17 00:00:00 2001 +From 2228276389817548a91020e8955edf6d5a4d8fb6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 043/147] bcm2708 vchiq driver +Subject: [PATCH 043/164] bcm2708 vchiq driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -91273,10 +91273,10 @@ index 0000000000000000000000000000000000000000..b6bfa21155e431e93bfb2c149d324371 + return vchiq_build_time; +} -From abc3e6c51f5a3efb5e41ea209bfd208d683a5d8c Mon Sep 17 00:00:00 2001 +From fbdbbb1c7bbba89591cbf4755290e0b439233584 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 16:07:06 +0100 -Subject: [PATCH 044/147] vc_mem: Add vc_mem driver +Subject: [PATCH 044/164] vc_mem: Add vc_mem driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -92281,10 +92281,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From b5820bdf78d981ef65ad87f2f01a6ed8c27bc38e Mon Sep 17 00:00:00 2001 +From 9ffe90a0056dcebd6241904c12b4506f2ba7739a Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 045/147] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 045/164] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -96702,10 +96702,10 @@ index 0000000000000000000000000000000000000000..334f36d0d697b047df2922b5f2db67f3 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 3676bbcced7a440d5f67ec7361553eb47ed6eb5b Mon Sep 17 00:00:00 2001 +From 8acd6b0f163ba8bb3458e657052806f793790cce Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 046/147] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 046/164] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -97016,10 +97016,10 @@ index 0000000000000000000000000000000000000000..911f5b7393ed48ceed8751f06967ae64 +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From f7d98fc7e067a2276d2f5ebbd20db617f149d9cd Mon Sep 17 00:00:00 2001 +From e667820473ca7a8750e447db5d0e6e9e1e8b355c Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 047/147] Add SMI driver +Subject: [PATCH 047/164] Add SMI driver Signed-off-by: Luke Wren --- @@ -98970,10 +98970,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 8367c05a30e9624b12d7d3712e6909cf1e215be3 Mon Sep 17 00:00:00 2001 +From 03211436f6337575f10855a93cf7c8daeb2bed27 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 048/147] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 048/164] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -99143,10 +99143,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From 6ba83eb2c7620c477cd1a666a6b84ba007dbb9a1 Mon Sep 17 00:00:00 2001 +From a88d8cf8203933420414be871fcd3a2b68e5f704 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 049/147] Add SMI NAND driver +Subject: [PATCH 049/164] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -99511,10 +99511,10 @@ index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79d + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From 2d577077553d6913a970d0d310f6130698fc7330 Mon Sep 17 00:00:00 2001 +From c6206be4df54175b76bab8537d5358185f356240 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 050/147] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 050/164] 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 @@ -100377,10 +100377,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 89567e90863abb9857b09e3fc051df1c0ee80af6 Mon Sep 17 00:00:00 2001 +From 1d4a8c83e671833d3debb1a1e6bb25ce05f73778 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 051/147] Add cpufreq driver +Subject: [PATCH 051/164] Add cpufreq driver Signed-off-by: popcornmix --- @@ -100642,10 +100642,10 @@ index 0000000000000000000000000000000000000000..3eb9e9326231b08e6ee95ad486485245 +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From c6c210234adf244ae3d7b353138e6212097efd4e Mon Sep 17 00:00:00 2001 +From 736f6abd189be74880cd00b8cf0eae2800329bb0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 052/147] Added hwmon/thermal driver for reporting core +Subject: [PATCH 052/164] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -100811,10 +100811,10 @@ index 0000000000000000000000000000000000000000..c63fb9f9d143e19612a18fe530c7b2b3 +MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); +MODULE_LICENSE("GPL"); -From 40cf8b0e804938d25e1b8a6d708e566dc332d622 Mon Sep 17 00:00:00 2001 +From 6d05fc461f618a4ca71e906b80d1e7b8c8d4571c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 053/147] Add Chris Boot's i2c driver +Subject: [PATCH 053/164] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101488,10 +101488,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 85fd5ef8372d72fd8648d0a2a3238d8d649b9a37 Mon Sep 17 00:00:00 2001 +From ab2e9a4542c9fd183efaf8aac906009eb5e85fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 054/147] char: broadcom: Add vcio module +Subject: [PATCH 054/164] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101717,10 +101717,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 6a3a35c240473f724f22581a956cef5c4c208ce0 Mon Sep 17 00:00:00 2001 +From 332891643a9916eecae2ee1e1b27b30b123cfacf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 055/147] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 055/164] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101826,10 +101826,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..b980d531b35b9981a88356ef1c8a7b86 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From c20b8387cf7daba6d5d8cfca9971ba8d3fb2b0d8 Mon Sep 17 00:00:00 2001 +From e42148a6c79a3c51495433c563a76bb4549f3b16 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 056/147] bcm2835: add v4l2 camera device +Subject: [PATCH 056/164] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -109561,10 +109561,10 @@ index 0000000000000000000000000000000000000000..9d1d11e4a53e510c04a416d92d195a7d + +#endif /* MMAL_VCHIQ_H */ -From b4ef7cff9216b662c6f8a564e59d2d59975af98a Mon Sep 17 00:00:00 2001 +From 854e1e582a10f5522b7d422e1ec0e3eeb821698e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 057/147] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 057/164] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -110076,10 +110076,10 @@ index 0000000000000000000000000000000000000000..78c5845d2f01deb04b477327d83fa606 + return $trailer; +} -From 897b7a7e5dbee3c8f31a15787bc72aa152040ec1 Mon Sep 17 00:00:00 2001 +From 30e0b8d0e83bf3c3282702890b0598871e2403c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 058/147] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 058/164] scripts/dtc: Update to upstream version 1.4.1 Includes the new localfixups format. @@ -112930,10 +112930,10 @@ index ad9b05ae698b0495ecbda42ffcf4743555313a27..2595dfda020fd9e03f0beff5006f229d -#define DTC_VERSION "DTC 1.4.1-g53bf130b" +#define DTC_VERSION "DTC 1.4.1-g25efc119" -From 1000326aad301ee90d38cfeffbe40248844637d4 Mon Sep 17 00:00:00 2001 +From d7f1e3e8e28a7224f1cffd009c3263ddad12d256 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 059/147] BCM2708: Add core Device Tree support +Subject: [PATCH 059/164] BCM2708: Add core Device Tree support Add the bare minimum needed to boot BCM2708 from a Device Tree. @@ -122762,10 +122762,10 @@ index 0000000000000000000000000000000000000000..8498134fdbb3912e9ce18282b53084d8 + +}; -From cb5beb68e71d20d4ca863ba9edddc02584bc663c Mon Sep 17 00:00:00 2001 +From 82aa1f1a2039cbb7c9c54b5fcd659acc119cdca9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 060/147] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 060/164] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -122785,10 +122785,10 @@ index 179219845dfcdfbeb586d12c5ec1296095d9fbf4..e0743e44f84188667a0c322e8c3d36f1 esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 40b94e61e4965f868cd80228722b1c8cb711472f Mon Sep 17 00:00:00 2001 +From 4228f0988df60375cedad17624edac666421b143 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 20:00:21 +0000 -Subject: [PATCH 061/147] BCM270X_DT: Add a .dtbo target, use for overlays +Subject: [PATCH 061/164] BCM270X_DT: Add a .dtbo target, use for overlays Change the filenames and extensions to keep the pre-DDT style of overlay (-overlay.dtb) distinct from new ones that use a @@ -122871,10 +122871,10 @@ index 0a07f9014944ed92a8e2e42983ae43be60b3e471..b1513a7c175885137034b9f7225788c0 # Bzip2 -From 5367a026c7630fd21e5655e240db0b7961f51455 Mon Sep 17 00:00:00 2001 +From 74dc3708ce0339320054d927361309289a70b1a2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 8 Apr 2016 17:43:27 +0100 -Subject: [PATCH 062/147] BCM270X_DT: Don't generate "linux,phandle" props +Subject: [PATCH 062/164] BCM270X_DT: Don't generate "linux,phandle" props The EPAPR standard says to use "phandle" properties to store phandles, rather than the deprecated "linux,phandle" version. By default, dtc @@ -122900,10 +122900,10 @@ index b1513a7c175885137034b9f7225788c0a7c35027..1d949b7410600dd3b04a3acde8c41cfe -d $(depfile).dtc.tmp $(dtc-tmp) ; \ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) -From 38179d1bdd5d56eb4f650e1fcb03e16a9919f3b0 Mon Sep 17 00:00:00 2001 +From 1cf0d93c519b9798c4e1476586ed8fa75799b89f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 063/147] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 063/164] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -123079,10 +123079,10 @@ index 8a3b5d29602ffe665cfb26522180f3a696664371..d067976ddc2f34d5476bcd9321856b1c /* Set LED brightness level * Must not sleep. Use brightness_set_blocking for drivers -From 17563d181c440776b9fd48b955692049b256faef Mon Sep 17 00:00:00 2001 +From af6cf12ab8541697369801ebb756a7776fcfe4a5 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 064/147] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 064/164] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -123181,10 +123181,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..fa72af0c981710fe80bacf4cf6612f6d #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ #define FB_TYPE_PLANES 1 /* Non interleaved planes */ -From d9e798ccdfc952fb773014af8ea17f0761265fc2 Mon Sep 17 00:00:00 2001 +From d4d5514a8eb4bd78c09f0c4aba084d78d977898e Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 065/147] Speed up console framebuffer imageblit function +Subject: [PATCH 065/164] 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 @@ -123393,10 +123393,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From cf627c1a74bbb2365793ba9b95b93343b13ee8f8 Mon Sep 17 00:00:00 2001 +From 0fdd3a68cf5f87f244ce5c67af946d9dda7d06df Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 066/147] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 066/164] 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 @@ -123646,10 +123646,10 @@ index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; -From bbacc68e30e1a11a8cebebf48131c2c88f7a2024 Mon Sep 17 00:00:00 2001 +From 61052b6f0d029c8c87c33ee8942c7226a1d9c168 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 067/147] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 067/164] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -123699,10 +123699,10 @@ index d6b729beba4930bbb1a1ddc4a6a6b8533bbf94e0..69e8d214f663572319f784fe17032b1e * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From 01e472c83c0c80ab085a1cdb57e98d2edb61b19f Mon Sep 17 00:00:00 2001 +From 04a8bcae6ebfb3717c8b7ffe1d25fc2e52e94b5f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 068/147] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 068/164] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -123738,10 +123738,10 @@ index ae83af649a607f67239f1a64bf45dd4b5770cc7d..4a7af9d0b910f59d17421ce14138400d ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -From 89d8d2311e4fc8cd51321ff48ba68453b2ad7f23 Mon Sep 17 00:00:00 2001 +From 3f56a1db6bd99180e3511d9f965e6279ecbe4557 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 069/147] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 069/164] rpi-ft5406: Add touchscreen driver for pi LCD display Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected @@ -124036,10 +124036,10 @@ index 0000000000000000000000000000000000000000..b27dbee8f56773dbd2a5503dc864747d +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From b332bdfd992d99b87de05b8959216c69bbfec7b5 Mon Sep 17 00:00:00 2001 +From 2ad1df751925fea95aee5645c2f290174ae32007 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Oct 2014 11:47:53 +0100 -Subject: [PATCH 070/147] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 070/164] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -125595,10 +125595,10 @@ index 6bd1089b07e0960830ed6bd6a8345202b7efd8b0..cd17dd11ebe7bbe00089e70cd2ccea74 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) -From f32c1e5e821f93a2608c9c348a226953767f2dfc Mon Sep 17 00:00:00 2001 +From 6d92bab505ea3a9d5edcb36d81be5869bf32578a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 071/147] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 071/164] 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 @@ -125633,10 +125633,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 737361dc9e36f0bf100a2858f16d8af95c8c6af8 Mon Sep 17 00:00:00 2001 +From d1bd193cf364ecc3632d54899122fa6c33acc3cf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 072/147] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 072/164] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -126501,10 +126501,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From c68fbf3a29b5f18ecd3d0eb161334aa9248172cc Mon Sep 17 00:00:00 2001 +From 7126e42c498bb9b1326e211dd23e3a949bc7919e Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 073/147] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 073/164] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -126678,10 +126678,10 @@ index 0000000000000000000000000000000000000000..29ecc08a227cdd4b3c6141935d0c5d21 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From b4420a1837db44bde6f4252c2f8895003fe0da11 Mon Sep 17 00:00:00 2001 +From d0714621d973b770793a062bbcae0909b8764608 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 074/147] ASoC: Add support for Rpi-DAC +Subject: [PATCH 074/164] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -126965,10 +126965,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 580f59b3b5f090e913694a3fb720d6b851026d07 Mon Sep 17 00:00:00 2001 +From 2ce853f5042df74a1af892dc11e2fbce362d4975 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 075/147] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 075/164] 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 @@ -127017,10 +127017,10 @@ index 8d914702cae4a3fe2c0ca0599cd1ec79f7322c83..c846716b4ed1027ade5512e8be90801d .dapm_widgets = wm8804_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(wm8804_dapm_widgets), -From fb1c04f22e67e4e5e3ac880b62d88e076a375478 Mon Sep 17 00:00:00 2001 +From 1475ded3f70d7226d47fcbd175cdb85a091b7d28 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 076/147] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 076/164] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -127308,10 +127308,10 @@ index 0000000000000000000000000000000000000000..9840e15d3e2be6396bc3ce6e74749408 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From a731345091e8cac6184b2393626e16752160298e Mon Sep 17 00:00:00 2001 +From d86443bad7ea828e6f676a1ef94a5c09defdabd9 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 077/147] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 077/164] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -127641,10 +127641,10 @@ index 0000000000000000000000000000000000000000..4e8e6dec14bcf4a1ff286c43742d4097 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 272329421a229c079947265c0240a315944b6239 Mon Sep 17 00:00:00 2001 +From f795f9dd79ddd8deeaeb79b2f9334fefa4b9a8e3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jul 2016 17:06:50 +0100 -Subject: [PATCH 078/147] iqaudio-dac: Compile fix - untested +Subject: [PATCH 078/164] iqaudio-dac: Compile fix - untested --- sound/soc/bcm/iqaudio-dac.c | 6 +++++- @@ -127668,10 +127668,10 @@ index 4e8e6dec14bcf4a1ff286c43742d4097249d6777..aa15bc4b49ca95edec905fddd8fd0a6d if (dapm->dev != codec_dai->dev) return 0; -From 4102ff718c700e8e7f2b33334a30e1f325af05f1 Mon Sep 17 00:00:00 2001 +From 40ca8076727f3cb181ba16cddd68e5ea8c105779 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 079/147] Added support for HiFiBerry DAC+ +Subject: [PATCH 079/164] 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. @@ -128300,10 +128300,10 @@ index 047c48953a20cd4075000ac294a17fe59baedcde..090fe0ee08e8765f9edbb62777413bb6 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 37e7ddff6e4a2d5f7c0a600705214f45d8aa1c34 Mon Sep 17 00:00:00 2001 +From d20863fd6f6552769150a340b17ff708dd6f9e1a Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 080/147] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 080/164] 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. @@ -129135,10 +129135,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From bbf443ac198557ce97083a2eec5d379dcb0b9846 Mon Sep 17 00:00:00 2001 +From bcba0b9f5eb84e0135e1598798723f7b8d548de7 Mon Sep 17 00:00:00 2001 From: "Daniel Matuschek (HiFiBerry)" Date: Tue, 26 Jul 2016 19:16:25 +0200 -Subject: [PATCH 081/147] Added HiFiBerry Digi+ Pro driver +Subject: [PATCH 081/164] Added HiFiBerry Digi+ Pro driver Signed-off-by: Daniel Matuschek --- @@ -129246,10 +129246,10 @@ index 9840e15d3e2be6396bc3ce6e74749408cc28c333..52ab9dea2e724c4238986ca53c59c849 ret = snd_soc_register_card(&snd_rpi_hifiberry_digi); -From cefc2e41425094bc18530f8c5911c6cae87d614c Mon Sep 17 00:00:00 2001 +From f323305e2963078a92e843fd4bd367007205be6b Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 082/147] Update ds1307 driver for device-tree support +Subject: [PATCH 082/164] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -129276,10 +129276,10 @@ index 8e1c5cb6ece6f60619e5cafcea4271e056d96778..f9536679b270a39a4d9639fdbd3420fe .driver = { .name = "rtc-ds1307", -From 0e0b3d3128d115eac8bd7ac736c22ae0fc738d20 Mon Sep 17 00:00:00 2001 +From 0e9df7c8a2737727726f970a1d699a42f2095a41 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 083/147] Add driver for rpi-proto +Subject: [PATCH 083/164] 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 @@ -129495,10 +129495,10 @@ index 0000000000000000000000000000000000000000..9db678e885efd63d84d60a098a84ed67 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From ddcd9417f7a403c52ea358c52779fe605110b599 Mon Sep 17 00:00:00 2001 +From b5321a50e000be6fbbb933ad4a706cfeb4f5539d Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 084/147] RaspiDAC3 support +Subject: [PATCH 084/164] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -129741,10 +129741,10 @@ index 0000000000000000000000000000000000000000..dd9eeea2af0382307f437e6db09d1546 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 70c9d6420872f69ec7d5ab2f152e9cbbb7f19d81 Mon Sep 17 00:00:00 2001 +From 1716878e7170a1c1b6ee0068cd9d52436453b310 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Aug 2016 14:49:23 +0100 -Subject: [PATCH 085/147] tpa6130a2: Add headphone switch control +Subject: [PATCH 085/164] tpa6130a2: Add headphone switch control Signed-off-by: Jan Grulich --- @@ -129853,10 +129853,10 @@ index f1ea052a822e1f584eb55cbc876b8e079e813ccd..3bf0163956c5665683d7950798df527f { struct tpa6130a2_data *data = snd_soc_component_get_drvdata(component); -From bdc944205e23a4a113e49dbf570de4f0101bafd1 Mon Sep 17 00:00:00 2001 +From 052bac5e7024865fc24c551c8346d94e57ff2ccf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Aug 2016 14:49:29 +0100 -Subject: [PATCH 086/147] Revert "tpa6130a2: Add headphone switch control" +Subject: [PATCH 086/164] Revert "tpa6130a2: Add headphone switch control" This reverts commit 860574af506a7a28782ca373feb880e7846943f9. --- @@ -129965,10 +129965,10 @@ index 3bf0163956c5665683d7950798df527fa1b57b59..f1ea052a822e1f584eb55cbc876b8e07 { struct tpa6130a2_data *data = snd_soc_component_get_drvdata(component); -From 1696716f31b53ba9a9cf0e521ef792f20165d107 Mon Sep 17 00:00:00 2001 +From 74a09e11382246d9a5700426ac786d8f45128ac8 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 087/147] Add Support for JustBoom Audio boards +Subject: [PATCH 087/164] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -130422,10 +130422,10 @@ index 0000000000000000000000000000000000000000..91acb666380faa3c0deb2230f8a0f8bb +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From de0659bfb838856c751502e97e13affe2a85b7a3 Mon Sep 17 00:00:00 2001 +From 488af72241badf484df31ab2754a9908329b2042 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 088/147] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 088/164] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -130607,10 +130607,10 @@ index 0000000000000000000000000000000000000000..6e2ee027926ee63c89222f75ceb89e3d +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 3644ed3253d6670362751df22e99b874d68a87bb Mon Sep 17 00:00:00 2001 +From b008636acecebd1991b25c5e8d8e80b921646d34 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 089/147] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 089/164] New AudioInjector.net Pi soundcard with low jitter audio in and out. Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile. @@ -130859,10 +130859,10 @@ index 0000000000000000000000000000000000000000..5ff0985e07efb96b95634a65995f09f7 +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From a4e6032dba3a007474c3e20280d494c876140a3d Mon Sep 17 00:00:00 2001 +From 76d796ef052134d5a1e4a041946d223f9c339241 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 090/147] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 090/164] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -131162,10 +131162,10 @@ index 0000000000000000000000000000000000000000..9b6e829bcb5b1762a853775e78163196 +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 300fa7e3486eaacfb0e21252b22ac240d9bdf4f1 Mon Sep 17 00:00:00 2001 +From 7cfde1b0ec9dac1c4065569cc60b82eb985994a8 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 091/147] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 091/164] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -131638,10 +131638,10 @@ index 0000000000000000000000000000000000000000..446796e7e4c14a7d95b2f2a01211d9a0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 84ad27aa1028b7812b2f74c1a8b23a4f0c4f5cdb Mon Sep 17 00:00:00 2001 +From 3c49f806fa6a7dbdfbf5b30052124fe336e74091 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 092/147] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 092/164] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -131814,10 +131814,10 @@ index 0000000000000000000000000000000000000000..89e65317512bc774453ac8d0d5b0ff98 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From 3a9b5642c0f49f89fdb4f83c995cd242d6496d8c Mon Sep 17 00:00:00 2001 +From b03bff37db2db9dbd905bab6567e804443c46e2e Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 093/147] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 093/164] Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, @@ -132024,10 +132024,10 @@ index 0000000000000000000000000000000000000000..8e8e62e5a36a279b425ed4655cfbac99 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 0fe0e233834a7947164cb6d01a96994d75880969 Mon Sep 17 00:00:00 2001 +From c154780e5e7fbb00e7dbca9aaf6ae5a16f089921 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 094/147] rpi_display: add backlight driver and overlay +Subject: [PATCH 094/164] rpi_display: add backlight driver and overlay Add a mailbox-driven backlight controller for the Raspberry Pi DSI touchscreen display. Requires updated GPU firmware to recognise the @@ -132196,10 +132196,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 4865ed3c59b45b63289b98ff732aa96cc377e4ad Mon Sep 17 00:00:00 2001 +From b0b595375579a03660d1415d0ce2d90b95a87c63 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 095/147] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 095/164] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -132425,10 +132425,10 @@ index 0000000000000000000000000000000000000000..f3e0f1620b979e4fa3c7e556eb785ac2 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From 3b62ce62c3a8eeef7d50e3cbf457680627719693 Mon Sep 17 00:00:00 2001 +From 2331cdeab9887cb7b1e04cf0346762e0e09b64fd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 4 Mar 2016 12:49:09 +0000 -Subject: [PATCH 096/147] DRM_VC4: Allow to be built for ARCH_BCM270x +Subject: [PATCH 096/164] DRM_VC4: Allow to be built for ARCH_BCM270x --- drivers/gpu/drm/vc4/Kconfig | 2 +- @@ -132447,10 +132447,10 @@ index e53df59cb139f25f8e6ae916bca93abf0c49e063..f6e938208b73512f20eab46a383ca91b select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER -From 20a14552028b3dac925f53afebcfbe5b259a9f69 Mon Sep 17 00:00:00 2001 +From 521c940d1cc75adef3a26540109f9d7ccdc3f025 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 097/147] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 097/164] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -132479,10 +132479,10 @@ index 8a9e213387a79fcc335caad27520a68edf03f446..4a5a1c5cf9b345e255f4d79714a7ae46 uap->old_cr = 0; uap->port.dev = dev; -From 7f7a084613bc66c4d06326fab4e1cbdb67349a23 Mon Sep 17 00:00:00 2001 +From fc5207e777a6ae24b4863b24e46bd82eed68d797 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 098/147] OF: DT-Overlay configfs interface +Subject: [PATCH 098/164] OF: DT-Overlay configfs interface This is a port of Pantelis Antoniou's v3 port that makes use of the new upstreamed configfs support for binary attributes. @@ -132914,10 +132914,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From c4a12c0f368ac62c71f241e2a007fef50a0e4a31 Mon Sep 17 00:00:00 2001 +From 0853e3aadc0fe5a05d98d0c867bb60d291f84cbe Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 099/147] brcm: adds support for BCM43341 wifi +Subject: [PATCH 099/164] brcm: adds support for BCM43341 wifi --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 ++ @@ -132957,10 +132957,10 @@ index 3cc42bef6245529c37320f0ec6ab5e7b77f1d2f6..2ae9d0c9dbaaab6bc16610ac012039cd #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 -From 5390e78a93ce43d5e73c234fe811d3a7900b259d Mon Sep 17 00:00:00 2001 +From cba620cb7a5a988aa167eaea07eaa79be6eca3fd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 17:25:59 +0000 -Subject: [PATCH 100/147] brcmfmac: Disable power management +Subject: [PATCH 100/164] brcmfmac: Disable power management Disable wireless power saving in the brcmfmac WLAN driver. This is a temporary measure until the connectivity loss resulting from power @@ -132985,10 +132985,10 @@ index abaf003a5b396f94e891c6569217ffbb595987e1..f6221c20ff8e2c07a9ddb329204cc59c if (!check_vif_up(ifp->vif)) { -From dd1ce01c2721bd6400d9c4ae6c7691ca6d5ea5e8 Mon Sep 17 00:00:00 2001 +From 3dfa53d910eb7b34a91b057b86e25837e539e1f8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Apr 2016 17:13:47 +0100 -Subject: [PATCH 101/147] brcmfmac: Use original country code as a fallback +Subject: [PATCH 101/164] brcmfmac: Use original country code as a fallback Commit 73345fd212980d2e28a5c6d83801c903bd773680: @@ -133047,10 +133047,10 @@ index f6221c20ff8e2c07a9ddb329204cc59ce574117b..12bffe239e9d28ce8f73db48b3f5759f ccreq->country_abbrev[1] = alpha2[1]; ccreq->country_abbrev[2] = 0; -From e69aabda86715cce55c8b8cddda7e4d5cfc879e7 Mon Sep 17 00:00:00 2001 +From 90f55b8f5103768bc16fdc3e0ed2ada4549771a1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 13 Sep 2016 16:32:37 +0100 -Subject: [PATCH 102/147] brcmfmac: do not use internal roaming engine by +Subject: [PATCH 102/164] brcmfmac: do not use internal roaming engine by default Some evidence of curing disconnects with this disabled, so make it a default. @@ -133074,10 +133074,10 @@ index 3e15d64c64813513bc22202dd9e468588699abb0..4051780f64f44a5ce522babe6c371a1b MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); -From f517714e4bf668d741543df203c4e4535a93d270 Mon Sep 17 00:00:00 2001 +From 782386a4347f0686acfe44393e0d39f765668de8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 Aug 2016 17:10:09 +0100 -Subject: [PATCH 103/147] brcmfmac: Change stop_ap sequence +Subject: [PATCH 103/164] brcmfmac: Change stop_ap sequence Patch from Broadcom/Cypress to resolve a customer error @@ -133110,10 +133110,10 @@ index 12bffe239e9d28ce8f73db48b3f5759ffe550162..0c3cecb22763db2db5ccbc1789f50b2b brcmf_fil_iovar_int_set(ifp, "mbss", 0); err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_REGULATORY, -From d83d64c25aaa6922c6409d7072519ae7b3a661b1 Mon Sep 17 00:00:00 2001 +From d50b946478dbde39003512fb1063c66e5b38b31d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 104/147] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 104/164] hci_h5: Don't send conf_req when ACTIVE Without this patch, a modem and kernel can continuously bombard each other with conf_req and conf_rsp messages, in a demented game of tag. @@ -133136,10 +133136,10 @@ index 0879d64b1caf58afb6e5d494c07d9ab7e7cdf983..5161ab30fd533d50f516bb93d5b9f402 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 0bcd78b36798f8e47e741009724395bd89d2fd99 Mon Sep 17 00:00:00 2001 +From b80d061c12fcc16a1e07c58f31bfb04796907355 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Jan 2016 13:06:39 -0800 -Subject: [PATCH 105/147] drm/vc4: Add a debugfs node for tracking execution +Subject: [PATCH 105/164] drm/vc4: Add a debugfs node for tracking execution state. Signed-off-by: Eric Anholt @@ -133199,10 +133199,10 @@ index ae1609e739ef424d99207f830cd2bac41ce71557..26dc4f5b491e2e7fcd1a28dcc8ef0cbe vc4_queue_hangcheck(struct drm_device *dev) { -From 994c435395b96dd51459aae172fe9b8de0f0007c Mon Sep 17 00:00:00 2001 +From 99816377ca332391180d1ea82612884a88429a0f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:03:33 -0800 -Subject: [PATCH 106/147] drm/vc4: Include vc4_drm.h in uapi in downstream +Subject: [PATCH 106/164] drm/vc4: Include vc4_drm.h in uapi in downstream build. Signed-off-by: Eric Anholt @@ -133223,10 +133223,10 @@ index 9355dd8eff3ba39401dfe37e7fbf7737f0397f11..68828bf586f05a8d9b0a6ab409ee91a7 header-y += vmwgfx_drm.h header-y += msm_drm.h -From 3c8d3033afca8aab182da9869d319e14365606f4 Mon Sep 17 00:00:00 2001 +From 24c1c95ae8b96f40c1a273b1e330215d3d1c62eb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Oct 2015 11:32:14 -0700 -Subject: [PATCH 107/147] drm/vc4: Force HDMI to connected. +Subject: [PATCH 107/164] drm/vc4: Force HDMI to connected. For some reason on the downstream tree, the HPD GPIO isn't working. @@ -133249,10 +133249,10 @@ index 4452f3631cacea37bbd5dc8a594367631e308adc..3a622f70a077c2ebe214830f5d700cd8 if (gpio_get_value_cansleep(vc4->hdmi->hpd_gpio) ^ vc4->hdmi->hpd_active_low) -From 75d03980407e81b671f70db64d5c2eb8701742f9 Mon Sep 17 00:00:00 2001 +From c1455863ee4f8cb17e9ec4e16e56cfe087b1eeb7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 108/147] config: Add default configs +Subject: [PATCH 108/164] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1294 +++++++++++++++++++++++++++++++++++ @@ -135871,10 +135871,10 @@ index 0000000000000000000000000000000000000000..cfe21355f7d95326b292be1b018b988f +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 0ede8332ea5e3b571cf37fad426991f8ac0fa603 Mon Sep 17 00:00:00 2001 +From aa5c852274690a7ea13451238d5ae709d5ae979f Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 109/147] Add arm64 configuration and device tree differences. +Subject: [PATCH 109/164] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -137277,10 +137277,10 @@ index 0000000000000000000000000000000000000000..1fcde8c1329bbfd329245a8bb1769199 +CONFIG_LIBCRC32C=y +CONFIG_BCM2708_VCHIQ=n -From 00a5965015003650f46ae16830020624f085f062 Mon Sep 17 00:00:00 2001 +From b650382bc5222883b04fb38973bd769c22ee4a08 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 5 Oct 2016 16:10:59 +0100 -Subject: [PATCH 110/147] bcm2835-cpufreq: Only report a single frequency when +Subject: [PATCH 110/164] bcm2835-cpufreq: Only report a single frequency when max and min frequencies are the same 4.8 kernel gives EINV error when max and min frequencies are the same (e.g. from using force_turbo=1) @@ -137349,10 +137349,10 @@ index 3eb9e9326231b08e6ee95ad486485245c71cf868..414fbdc10dfbfc6e4bb47870a7af3fd5 /* the CPUFreq driver */ -From 4b96fd892f5d8beb28ece1053d13a448d9799100 Mon Sep 17 00:00:00 2001 +From e1086983e04a14818420aa0c6e1101fca47c9e09 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 7 Oct 2016 12:37:09 +0100 -Subject: [PATCH 111/147] scripts/mkknlimg: Change string for DDT detection +Subject: [PATCH 111/164] scripts/mkknlimg: Change string for DDT detection The old "of_overlay_apply" string does not appear in 4.8 kernel builds. "of_cfs_init" is both present and a more accurate indication of support @@ -137379,10 +137379,10 @@ index 78c5845d2f01deb04b477327d83fa60624f87f98..a21f7e31bc904233e980e66ae3e6337e my $res = try_extract($kernel_file, $tmpfile1); -From cf4eeae824ca15077545b040d3de0f8f64234dc4 Mon Sep 17 00:00:00 2001 +From 1053e637ad132ad30385a0d0a3bec9f9ddaad19a Mon Sep 17 00:00:00 2001 From: Herve Jourdain Date: Fri, 20 May 2016 16:02:23 +0800 -Subject: [PATCH 112/147] build: support for .dtbo files for dtb overlays +Subject: [PATCH 112/164] build: support for .dtbo files for dtb overlays Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb. Patch the kernel, which has faulty rules to generate .dtbo the way yocto does @@ -137424,10 +137424,10 @@ index 1d949b7410600dd3b04a3acde8c41cfead15bfa4..1967878a843461c3ff1f473b9a030eb0 -d $(depfile).dtc.tmp $(dtc-tmp) ; \ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) -From 90575664c517a63fdf4da3875737ce4cf4fd912e Mon Sep 17 00:00:00 2001 +From e529c579dd807460f2b9c6c7b9e1f4ff8a36941b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Oct 2016 19:42:55 -0700 -Subject: [PATCH 113/147] [media]bcm2835-camera: fix compilation warning/werror +Subject: [PATCH 113/164] [media]bcm2835-camera: fix compilation warning/werror | /a/builder/mnt/build/tmp-glibc/work-shared/raspberrypi3/kernel-source/drivers/media/platform/bcm2835/bcm2835-camera.c:656:17: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types ] @@ -137457,10 +137457,10 @@ index 70f4db2741037381e638d1dda5a95478809eb161..cb5bab642eaab2f60d641801dd0afdac struct bm2835_mmal_dev *dev = vb2_get_drv_priv(vq); unsigned long size; -From 22db6534fde59cad8c8c5be264815e6861672ffc Mon Sep 17 00:00:00 2001 +From bfd98d3affbe0dbfb8cc9871d8186e6f54081946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 8 Oct 2016 16:26:46 +0200 -Subject: [PATCH 114/147] bcm2709: Drop platform smp and timer init code +Subject: [PATCH 114/164] bcm2709: Drop platform smp and timer init code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -137635,10 +137635,10 @@ index 90773a30b87abbfda1615326c6faf59b9db6d68e..d4c9d57d78a964fbbf799b534471462d .init_early = bcm2709_init_early, .reserve = board_reserve, -From b4cbdcee1d87382e855e58fc59f3f04152220269 Mon Sep 17 00:00:00 2001 +From 06b405d4ba1f3f52b496a63d7f113b8cf327d05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 3 Oct 2016 17:53:15 +0200 -Subject: [PATCH 115/147] BCM270X_DT: Use bcm283x.dtsi, bcm2835.dtsi and +Subject: [PATCH 115/164] BCM270X_DT: Use bcm283x.dtsi, bcm2835.dtsi and bcm2836.dtsi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -138767,10 +138767,10 @@ index 223bd9627b3dcaac5458909dc59c877eed751ce4..491594c918cf5da94fbb19a606edb0dd +}; +#endif -From fa7774975833873689e6e7676e645e829cee79ff Mon Sep 17 00:00:00 2001 +From 69425b8b64f5211d6751759053ab81cb9f456a6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 116/147] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 116/164] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -138894,10 +138894,10 @@ index 4dddd8298a227d64862f2e92954a465f2e44b3f6..1f545e024422f59280932713e6a1b051 register_restart_handler(&wdt->restart_handler); if (pm_power_off == NULL) -From 030afa45a903debfcccf2fc8dce1e25c3cab8ae4 Mon Sep 17 00:00:00 2001 +From 163f8c9a03261e521f352e6840a9c96c4d00c434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 17:07:46 +0200 -Subject: [PATCH 117/147] bcm270x: Use watchdog for reboot/poweroff +Subject: [PATCH 117/164] bcm270x: Use watchdog for reboot/poweroff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139156,10 +139156,10 @@ index d4c9d57d78a964fbbf799b534471462d3c3b88f1..ed5c5414f7a3ad7284cda881e9e55077 module_param(serial, uint, 0644); -module_param(reboot_part, uint, 0644); -From 216d6b21f0820ad52f15c13d65c8d14e9a6756b2 Mon Sep 17 00:00:00 2001 +From c779ba297d9bc20c6b94bbb54983d2b5de5d70f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:35:40 +0200 -Subject: [PATCH 118/147] bcm270x: Remove dead files +Subject: [PATCH 118/164] bcm270x: Remove dead files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139360,10 +139360,10 @@ index 6aa68260dd866c83527dffece8de483913231fb3..00000000000000000000000000000000 - */ -#define VMALLOC_END (0xff000000) -From fe42494868c90a4abc3bfd5a3ab5e800d6bf689e Mon Sep 17 00:00:00 2001 +From ad7c997f88722b899430c148b5d1b56f84dffcb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:37:43 +0200 -Subject: [PATCH 119/147] bcm270x: Drop bcm2835-aux-uart hack +Subject: [PATCH 119/164] bcm270x: Drop bcm2835-aux-uart hack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139443,10 +139443,10 @@ index ed5c5414f7a3ad7284cda881e9e550777cd29282..9a1ad48d13172856e3ec748db015cb95 system_serial_low = serial; } -From 274b9d89a7951612b10f95f304a8bd900d45157a Mon Sep 17 00:00:00 2001 +From cc4b712ea6df48fbc554d3cc7f93bbfc31418d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:39:30 +0200 -Subject: [PATCH 120/147] Revert "bcm2835: Add support for uart1" +Subject: [PATCH 120/164] Revert "bcm2835: Add support for uart1" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139504,10 +139504,10 @@ index 0ef5cd3d1d6ec420360294acc98d40d698d38d8a..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 310e634ea1703b48aac869ffbdcca05da91f7258 Mon Sep 17 00:00:00 2001 +From 531840b4db7e33129d7b13014f9206ff334fc32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:41:26 +0200 -Subject: [PATCH 121/147] bcm270x: Remove unnecessary of_platform_populate +Subject: [PATCH 121/164] bcm270x: Remove unnecessary of_platform_populate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139582,10 +139582,10 @@ index 9a1ad48d13172856e3ec748db015cb95cd110b76..d2762f558f644ac87c56ba9402a638a3 system_serial_low = serial; } -From 82ba7cbc3452d3bda087321dbdf186b514514a53 Mon Sep 17 00:00:00 2001 +From 030daf0f112f19557805ec9a0a26891e2fd4c0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 17:46:27 +0200 -Subject: [PATCH 122/147] bcm270x: Remove 4MB dma coherent pool +Subject: [PATCH 122/164] bcm270x: Remove 4MB dma coherent pool MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -139666,10 +139666,10 @@ index d2762f558f644ac87c56ba9402a638a3c7a26397..d0e43619669e851350c5d9d7bb7e9dd1 .dt_compat = bcm2709_compat, MACHINE_END -From 03b217a1f5d0f70ab498f9ce5af219488f7a7ec3 Mon Sep 17 00:00:00 2001 +From b0f0835921cdc309f1c316b55f760d5ea97bf5ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 19:26:42 +0200 -Subject: [PATCH 123/147] bcm270x: Drop map_io device mapping +Subject: [PATCH 123/164] bcm270x: Drop map_io device mapping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -140618,10 +140618,10 @@ index de7504bfc20ba24be8707861b8389783860adb77..00000000000000000000000000000000 - */ -#define arch_decomp_wdog() -From ec476714f27c47e086cae43736ce588611385e48 Mon Sep 17 00:00:00 2001 +From 5397c49c97f36978916d7413ef6ab4d628d0d7ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Mon, 10 Oct 2016 19:37:06 +0200 -Subject: [PATCH 124/147] bcm270x: Use DT_MACHINE_START +Subject: [PATCH 124/164] bcm270x: Use DT_MACHINE_START MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -140703,10 +140703,10 @@ index b52d949ee91d96eb7672fbbb4969bfa1e7afc376..2ed1b8a922ed02b9e3545991873af77b ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 -From 58e4131735311d401d9ae5e3ae9aea4e6c389897 Mon Sep 17 00:00:00 2001 +From bcf2ecc145e4ad033dbd1fa5f6fc9ead0726c318 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Oct 2016 17:48:07 +0100 -Subject: [PATCH 125/147] Use DT rather than modules params for board rev and +Subject: [PATCH 125/164] Use DT rather than modules params for board rev and serial --- @@ -140800,10 +140800,10 @@ index 9cf36118e57b3c362de9adcf089425023d4a601d..9f113736627175bdcb362e0eda469e09 -module_param(boardrev, uint, 0644); -module_param(serial, uint, 0644); -From 8bc7fdbf0d73e0797b5d0fae6f78be6735320a34 Mon Sep 17 00:00:00 2001 +From 30209d500d1a96f569bd8fe2017a2b2424fec2a6 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 126/147] Register the clocks early during the boot process, so +Subject: [PATCH 126/164] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. @@ -140849,10 +140849,10 @@ index fbf616021704178a9d007219a0ea2a9f1704f0a6..cbbc8d4ddcffc797268c0ecb6477005f MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From 2a908551f7bb1c6c0172f639dd9fad7b89b14298 Mon Sep 17 00:00:00 2001 +From cfe0b81dce68687d6f9a11b8d10fa9e9c55c5587 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 27 Sep 2016 04:29:00 -0400 -Subject: [PATCH 127/147] Add Adafruit pitft35 touchscreen support (#1657) +Subject: [PATCH 127/164] Add Adafruit pitft35 touchscreen support (#1657) The dts comes from the Adafruit repository @@ -141057,10 +141057,10 @@ index 952104ab6c4cd0e9d8f7bd5f2fba7a72da75424e..26fa6c2b6b6d745178e666465ba226af CONFIG_FB_TFT_ILI9320=m CONFIG_FB_TFT_ILI9325=m -From 6f7afe8710ea9fc3bf4ef6cd57b717203292d471 Mon Sep 17 00:00:00 2001 +From aeba0295c776b0990dccc7d1d92b485ae1f19d8b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Oct 2016 15:06:20 +0100 -Subject: [PATCH 128/147] BCM270X_DT: Update CM3 to use sdhost interface +Subject: [PATCH 128/164] BCM270X_DT: Update CM3 to use sdhost interface --- arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 9 ++++----- @@ -141096,10 +141096,10 @@ index b5a5ae7747455438f8eabd28e8c11c6aeb0c1ecc..d13e3d4dac4e198c8cac451e3f64ef68 bus-width = <4>; status = "okay"; -From 2c3945297209db3678231d5c64109261c7ff4611 Mon Sep 17 00:00:00 2001 +From b0266e0382c2ae151653f7319d2de52080d6be30 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Oct 2016 18:10:17 +0100 -Subject: [PATCH 129/147] Revert "Register the clocks early during the boot +Subject: [PATCH 129/164] Revert "Register the clocks early during the boot process," This reverts commit bcc804ce3dfd5eb4800c9dd77370da7e7913f77d. @@ -141143,10 +141143,10 @@ index cbbc8d4ddcffc797268c0ecb6477005fa14e228b..fbf616021704178a9d007219a0ea2a9f MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From 3ae99df780c07ea947d98fd330b9d9df2a2aec13 Mon Sep 17 00:00:00 2001 +From d1c9e185a7b617296801fbf02ed517e8ce24f273 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Oct 2016 15:10:14 +0100 -Subject: [PATCH 130/147] mmc: info (not err) msg on clock probe deferral +Subject: [PATCH 130/164] mmc: info (not err) msg on clock probe deferral --- drivers/mmc/host/bcm2835-mmc.c | 5 ++++- @@ -141188,10 +141188,10 @@ index 23dea422182534e248435aeaee3ecb5da69c0d33..9e55d5ac08b5809c40fe391ae6e685fd } -From 6331f4e0b369bb212fc7a4f309b5bd2eb6751cd5 Mon Sep 17 00:00:00 2001 +From e8dc9501fe7ad88e5da5a00cc659f8c89714da79 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 15 Oct 2016 11:49:52 -0700 -Subject: [PATCH 131/147] ARM64: Modify default config to get raspbian to boot +Subject: [PATCH 131/164] ARM64: Modify default config to get raspbian to boot (#1686) 1. Enable emulation of deprecated instructions. @@ -141256,10 +141256,10 @@ index 1fcde8c1329bbfd329245a8bb17691999882ccfc..d7406f5a4620151044b8f716b4d10bb8 CONFIG_MFD_STMPE=y CONFIG_STMPE_SPI=y -From 20e71d135210be9e2c45a44985402f930be5ca3a Mon Sep 17 00:00:00 2001 +From b9d16535c598c898266b8dcc0e5a29fbfe2e3724 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 132/147] Support for Blokas Labs pisound board +Subject: [PATCH 132/164] Support for Blokas Labs pisound board --- .../devicetree/bindings/vendor-prefixes.txt | 1 + @@ -142485,10 +142485,10 @@ index 0000000000000000000000000000000000000000..b156e5793e4c482385dedafd85bbf190 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From d1b99c2fe198693ac8a966fd65582abaf2d5d733 Mon Sep 17 00:00:00 2001 +From 0f37e566d9f98adc6a1663ea0484e63dcb2e0f38 Mon Sep 17 00:00:00 2001 From: Giedrius Trainavicius Date: Tue, 25 Oct 2016 01:47:20 +0300 -Subject: [PATCH 133/147] FIXUP: pisound: Fix a warning in DEBUG builds +Subject: [PATCH 133/164] FIXUP: pisound: Fix a warning in DEBUG builds Also change a macro that enables debug level printing from DEBUG to PISOUND_DEBUG. @@ -142519,10 +142519,10 @@ index b156e5793e4c482385dedafd85bbf190acc8162b..a3cd089a01447bdb6741ed6bba3b21d4 } -From 019c773638b6525c4099311eb5f0591d2702a177 Mon Sep 17 00:00:00 2001 +From 3280e800f566885bdbaff4bef35b41e500629c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:25:41 +0200 -Subject: [PATCH 134/147] bcm270x: Remove bcm2708_reboot_mode parameter +Subject: [PATCH 134/164] bcm270x: Remove bcm2708_reboot_mode parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -142556,10 +142556,10 @@ index 0a0332cb13a7475ee0c4d75a97685b7de6475c95..612eb530f33fcd19bc4539facb26fc30 { unsigned long flags; -From 3bbebce33cd4df7af988ec21b9d4a2f23fb24388 Mon Sep 17 00:00:00 2001 +From 327ff13907fefdffa78ec467131142335fdfd700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 15:54:41 +0200 -Subject: [PATCH 135/147] bcm270x: Remove NEED_MACH_IO_H +Subject: [PATCH 135/164] bcm270x: Remove NEED_MACH_IO_H MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -142676,10 +142676,10 @@ index e6eb84d71006db417dbd0afc4d08d3b19b09a619..00000000000000000000000000000000 - -#endif -From 3adb8088c33a26d20135bb88ecbfda177dc5010a Mon Sep 17 00:00:00 2001 +From 7f1ca8e80668702796090d5702acaa286c7457f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:01:01 +0200 -Subject: [PATCH 136/147] dwc_otg: Pass struct device to dma_alloc*() +Subject: [PATCH 136/164] dwc_otg: Pass struct device to dma_alloc*() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -143304,10 +143304,10 @@ index 5624f32c9ea9117599df451af29fca2e3bca36de..50aaeacdd12fff93d7a9cf1c54612367 if (!otg_dev->pcd) { DWC_ERROR("dwc_otg_pcd_init failed\n"); -From 5a39905808aeae97c328dd15e092528d8bfbc466 Mon Sep 17 00:00:00 2001 +From 0776837a2552dfd5e502e3c6347fd3667f452dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:05:36 +0200 -Subject: [PATCH 137/147] mmc: bcm2835-sdhost: Pass struct device to +Subject: [PATCH 137/164] mmc: bcm2835-sdhost: Pass struct device to dma_alloc*() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -143357,10 +143357,10 @@ index 9e55d5ac08b5809c40fe391ae6e685fdb4d62df7..a9bc79bfdbb71807819dfe2d8f165144 mmc_of_parse(mmc); else -From b53162d15a72031e04b19d8a9bdd838ae0afdd59 Mon Sep 17 00:00:00 2001 +From 5bc42c8bf4b354d74794382cdd024beb61a18985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 19 Oct 2016 16:16:48 +0200 -Subject: [PATCH 138/147] bcm270x: Drop NEED_MACH_MEMORY_H and use DT +Subject: [PATCH 138/164] bcm270x: Drop NEED_MACH_MEMORY_H and use DT dma-ranges MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -143615,10 +143615,10 @@ index 7548a52dcf84affa4d1b0667e5e2f89f591891b8..00000000000000000000000000000000 - -#endif -From 8c31b39c5c492e9da9e4a4b0a746cfdc5856040a Mon Sep 17 00:00:00 2001 +From b591582d33b52b742d49c1d415e18e6c99e0ae8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 15:55:09 +0200 -Subject: [PATCH 139/147] dts: Remove bcm2835-rpi-cm.dts +Subject: [PATCH 139/164] dts: Remove bcm2835-rpi-cm.dts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -143784,10 +143784,10 @@ index 9c4000fc686a9882b9ddde24fdcf937d52b0f86f..00000000000000000000000000000000 - }; -}; -From 3fa49a0c237888a5ec69480409441fe4b8f76dc8 Mon Sep 17 00:00:00 2001 +From e6cb31eb381383f5809322475605944f96418faf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 16:00:07 +0200 -Subject: [PATCH 140/147] bcm2708: Convert to ARCH_MULTIPLATFORM +Subject: [PATCH 140/164] bcm2708: Convert to ARCH_MULTIPLATFORM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144108,10 +144108,10 @@ index 75da978fac0e06819d8a9740b95ee3d7035c1059..662790c8fa9c972bbf3ac7f41b9f5eac obj-$(CONFIG_ARCH_BCM2709) += irq-bcm2836.o obj-$(CONFIG_ARCH_EXYNOS) += exynos-combiner.o -From b1b1bc303a19b07b8d5307250e5f746b99b2dd1c Mon Sep 17 00:00:00 2001 +From 6c110ebd6127aaf0abf2e466ea7da918397d3b26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 16:02:39 +0200 -Subject: [PATCH 141/147] bcm2709: Convert to ARCH_MULTIPLATFORM +Subject: [PATCH 141/164] bcm2709: Convert to ARCH_MULTIPLATFORM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144381,10 +144381,10 @@ index 662790c8fa9c972bbf3ac7f41b9f5eace912b69c..4c203b6b816357dce8d7a768ac81feab obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o obj-$(CONFIG_ARCH_LPC32XX) += irq-lpc32xx.o -From 6e7c8eabcb8f4c0adc617e6b6e529823971234e1 Mon Sep 17 00:00:00 2001 +From 49f4af4492d14a900fcd52a4d87bd160b3dd93f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 25 Oct 2016 17:32:02 +0200 -Subject: [PATCH 142/147] kconfig: Just use ARCH_BCM2835 for depends on +Subject: [PATCH 142/164] kconfig: Just use ARCH_BCM2835 for depends on MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144715,10 +144715,10 @@ index aed7b47d8736ea3fb1810b0c77916855082f3b2d..d024377e8450fb5402dcb5ea27161f77 select REGMAP_MMIO help -From 9a41750326ecc5a1089d52a5ca16a57b03b1eded Mon Sep 17 00:00:00 2001 +From a5d0da00086e51acd507e4d76e4f95fd16796b9a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 28 Oct 2016 13:55:36 +0100 -Subject: [PATCH 143/147] bcm270x: Use dma-ranges unconditionally on bcm2710 +Subject: [PATCH 143/164] bcm270x: Use dma-ranges unconditionally on bcm2710 See: https://github.com/raspberrypi/linux/pull/1699 @@ -144752,10 +144752,10 @@ index 491594c918cf5da94fbb19a606edb0dd9a28c3a9..df1a4ce1cd4e570876b7785b357d6c31 interrupts = <8>; }; -From ccf8a90ff33fcc6da99dce23ba08886e742be6ce Mon Sep 17 00:00:00 2001 +From 7b5f91a65d44dac1c809f81d362a6e77bfcdd805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 27 Oct 2016 21:57:56 +0200 -Subject: [PATCH 144/147] BCM270X_DT: Use raspberrypi-power to turn on USB +Subject: [PATCH 144/164] BCM270X_DT: Use raspberrypi-power to turn on USB power MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -144781,10 +144781,10 @@ index d85c05901c8f55f822b89c32d198f15559a2b4b0..46cf8602c3b96e477b05b57dbfe5e349 + power-domains = <&power RPI_POWER_DOMAIN_USB>; +}; -From 1ae1228d385033e1476e2145cfdb274216394cd8 Mon Sep 17 00:00:00 2001 +From 81542c016207c4ea5c673ac0f25a4b7cf76beda3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 27 Oct 2016 21:58:09 +0200 -Subject: [PATCH 145/147] firmware: bcm2835: Don't turn on USB power +Subject: [PATCH 145/164] firmware: bcm2835: Don't turn on USB power MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -144840,10 +144840,10 @@ index b980d531b35b9981a88356ef1c8a7b868a85f2b5..3f070bd38a91511c986e3fb114b15bd4 } -From e7924c4cfb4a8dcc76539698914e748e4312dc19 Mon Sep 17 00:00:00 2001 +From dbb94f6d92546a458f7c026541377e7769db76ab Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 31 Oct 2016 17:35:31 +0000 -Subject: [PATCH 146/147] bcm2835: Increase coherent allocation to 1M for +Subject: [PATCH 146/164] bcm2835: Increase coherent allocation to 1M for dwc_otg bounce buffers --- @@ -144901,10 +144901,10 @@ index 6ce49dea7856b243b38f180231afd25b57dee729..efbd18020479c1cab40ce680446a4259 MACHINE_END #endif -From 0d455ab582c43e749bddf333de9ed04c5893f590 Mon Sep 17 00:00:00 2001 +From 1fb0f362fa01d18de299c956f0b8c3a3a3176618 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 31 Oct 2016 17:35:57 +0000 -Subject: [PATCH 147/147] dwc_otg: Warn if dma_alloc_coherent fails +Subject: [PATCH 147/164] dwc_otg: Warn if dma_alloc_coherent fails --- drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c | 1 + @@ -144922,3 +144922,1571 @@ index 50aaeacdd12fff93d7a9cf1c54612367406c6bee..e799f15f294706ad7ac328dcb9ce68fb /* Check dword alignment */ if (((int)buf & 0x3UL) != 0) { + +From 3687ccf0bed7d514473f139bbc12249f82349ce6 Mon Sep 17 00:00:00 2001 +From: Michael Zoran +Date: Fri, 4 Nov 2016 16:13:07 -0700 +Subject: [PATCH 148/164] bcmrpi3_defconfig: Update config to be compatible + with latest Kconfig changes. + +This new config has been run through make savedefconfig. +--- + arch/arm64/configs/bcmrpi3_defconfig | 111 +++++++++++------------------------ + 1 file changed, 33 insertions(+), 78 deletions(-) + +diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig +index d7406f5a4620151044b8f716b4d10bb818648e06..cd1d39b467a947a015eb14568086a6ba4cfb729b 100644 +--- a/arch/arm64/configs/bcmrpi3_defconfig ++++ b/arch/arm64/configs/bcmrpi3_defconfig +@@ -1,52 +1,9 @@ +-# CONFIG_ARM_PATCH_PHYS_VIRT is not set +-CONFIG_PHYS_OFFSET=0 + CONFIG_LOCALVERSION="-v8" + # CONFIG_LOCALVERSION_AUTO is not set +-CONFIG_64BIT=y + CONFIG_SYSVIPC=y + CONFIG_POSIX_MQUEUE=y + CONFIG_NO_HZ=y + CONFIG_HIGH_RES_TIMERS=y +- +-# +-# ARM errata workarounds via the alternatives framework +-# +-CONFIG_ARM64_ERRATUM_826319=n +-CONFIG_ARM64_ERRATUM_827319=n +-CONFIG_ARM64_ERRATUM_824069=n +-CONFIG_ARM64_ERRATUM_819472=n +-CONFIG_ARM64_ERRATUM_832075=n +-CONFIG_ARM64_ERRATUM_845719=n +-CONFIG_ARM64_ERRATUM_843419=n +-CONFIG_CAVIUM_ERRATUM_22375=n +-CONFIG_CAVIUM_ERRATUM_23154=n +-CONFIG_CAVIUM_ERRATUM_27456=n +-CONFIG_ARM64_4K_PAGES=y +-CONFIG_ARM64_VA_BITS_39=y +-CONFIG_ARM64_VA_BITS=39 +-CONFIG_SCHED_MC=y +-CONFIG_NR_CPUS=4 +-CONFIG_HOTPLUG_CPU=y +-CONFIG_ARMV8_DEPRECATED=y +-CONFIG_SWP_EMULATION=y +-CONFIG_CP15_BARRIER_EMULATION=y +-CONFIG_SETEND_EMULATION=y +- +-# +-# ARMv8.1 architectural features +-# +-CONFIG_ARM64_HW_AFDBM=y +-CONFIG_ARM64_PAN=y +-CONFIG_ARM64_LSE_ATOMICS=y +-CONFIG_ARM64_VHE=y +- +-# +-# ARMv8.2 architectural features +-# +-CONFIG_ARM64_UAO=y +-CONFIG_ARM64_MODULE_CMODEL_LARGE=n +-CONFIG_RANDOMIZE_BASE=n +- + CONFIG_BSD_PROCESS_ACCT=y + CONFIG_BSD_PROCESS_ACCT_V3=y + CONFIG_TASKSTATS=y +@@ -55,7 +12,6 @@ CONFIG_TASK_XACCT=y + CONFIG_TASK_IO_ACCOUNTING=y + CONFIG_IKCONFIG=m + CONFIG_IKCONFIG_PROC=y +-CONFIG_NMI_LOG_BUF_SHIFT=12 + CONFIG_MEMCG=y + CONFIG_BLK_CGROUP=y + CONFIG_CGROUP_FREEZER=y +@@ -69,7 +25,6 @@ CONFIG_BLK_DEV_INITRD=y + CONFIG_EMBEDDED=y + # CONFIG_COMPAT_BRK is not set + CONFIG_PROFILING=y +-CONFIG_OPROFILE=m + CONFIG_KPROBES=y + CONFIG_JUMP_LABEL=y + CONFIG_MODULES=y +@@ -82,25 +37,37 @@ CONFIG_PARTITION_ADVANCED=y + CONFIG_MAC_PARTITION=y + CONFIG_CFQ_GROUP_IOSCHED=y + CONFIG_ARCH_BCM2709=y +-# CONFIG_CACHE_L2X0 is not set +-CONFIG_SMP=y +-CONFIG_HAVE_ARM_ARCH_TIMER=y +-CONFIG_VMSPLIT_2G=y ++CONFIG_ARCH_BCM2835=y ++# CONFIG_ARM64_ERRATUM_826319 is not set ++# CONFIG_ARM64_ERRATUM_827319 is not set ++# CONFIG_ARM64_ERRATUM_824069 is not set ++# CONFIG_ARM64_ERRATUM_819472 is not set ++# CONFIG_ARM64_ERRATUM_832075 is not set ++# CONFIG_ARM64_ERRATUM_845719 is not set ++# CONFIG_ARM64_ERRATUM_843419 is not set ++# CONFIG_CAVIUM_ERRATUM_22375 is not set ++# CONFIG_CAVIUM_ERRATUM_23154 is not set ++# CONFIG_CAVIUM_ERRATUM_27456 is not set ++CONFIG_SCHED_MC=y ++CONFIG_NR_CPUS=4 ++CONFIG_HOTPLUG_CPU=y + CONFIG_PREEMPT_VOLUNTARY=y +-CONFIG_AEABI=y +-CONFIG_OABI_COMPAT=y +-# CONFIG_CPU_SW_DOMAIN_PAN is not set + CONFIG_CLEANCACHE=y + CONFIG_FRONTSWAP=y + CONFIG_CMA=y + CONFIG_ZSMALLOC=m + CONFIG_PGTABLE_MAPPING=y +-CONFIG_UACCESS_WITH_MEMCPY=y + CONFIG_SECCOMP=y +-# CONFIG_ATAGS is not set +-CONFIG_ZBOOT_ROM_TEXT=0x0 +-CONFIG_ZBOOT_ROM_BSS=0x0 ++CONFIG_ARMV8_DEPRECATED=y ++CONFIG_SWP_EMULATION=y ++CONFIG_CP15_BARRIER_EMULATION=y ++CONFIG_SETEND_EMULATION=y ++CONFIG_ARM64_LSE_ATOMICS=y + CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" ++CONFIG_BINFMT_MISC=m ++CONFIG_COMPAT=y ++# CONFIG_SUSPEND is not set ++CONFIG_PM=y + CONFIG_CPU_FREQ=y + CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y + CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +@@ -108,15 +75,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y + CONFIG_CPU_FREQ_GOV_ONDEMAND=y + CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +-CONFIG_VFP=y +-CONFIG_NEON=y +-CONFIG_KERNEL_MODE_NEON=y +-CONFIG_BINFMT_MISC=m +-CONFIG_COMPAT=y +-CONFIG_SYSVIPC_COMPAT=y +- +-# CONFIG_SUSPEND is not set +-CONFIG_PM=y + CONFIG_NET=y + CONFIG_PACKET=y + CONFIG_UNIX=y +@@ -463,6 +421,7 @@ CONFIG_CDROM_PKTCDVD=m + CONFIG_ATA_OVER_ETH=m + CONFIG_EEPROM_AT24=m + CONFIG_TI_ST=m ++# CONFIG_BCM2708_VCHIQ is not set + CONFIG_SCSI=y + # CONFIG_SCSI_PROC_FS is not set + CONFIG_BLK_DEV_SD=y +@@ -580,7 +539,6 @@ CONFIG_RT2800USB_RT53XX=y + CONFIG_RT2800USB_RT55XX=y + CONFIG_RT2800USB_UNKNOWN=y + CONFIG_RTL8187=m +-CONFIG_RTL8192CU=n + CONFIG_USB_ZD1201=m + CONFIG_ZD1211RW=m + CONFIG_MAC80211_HWSIM=m +@@ -626,10 +584,6 @@ CONFIG_SERIO_RAW=m + CONFIG_GAMEPORT=m + CONFIG_GAMEPORT_NS558=m + CONFIG_GAMEPORT_L4=m +-CONFIG_BRCM_CHAR_DRIVERS=n +-CONFIG_BCM_VC_CMA=n +-CONFIG_BCM_VCIO=n +-CONFIG_BCM_VC_SM=n + # CONFIG_LEGACY_PTYS is not set + # CONFIG_DEVKMEM is not set + CONFIG_SERIAL_8250=y +@@ -638,6 +592,9 @@ CONFIG_SERIAL_8250_CONSOLE=y + # CONFIG_SERIAL_8250_DMA is not set + CONFIG_SERIAL_8250_NR_UARTS=1 + CONFIG_SERIAL_8250_RUNTIME_UARTS=0 ++CONFIG_SERIAL_8250_EXTENDED=y ++CONFIG_SERIAL_8250_SHARE_IRQ=y ++CONFIG_SERIAL_8250_BCM2835AUX=y + CONFIG_SERIAL_OF_PLATFORM=y + CONFIG_SERIAL_AMBA_PL011=y + CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +@@ -682,12 +639,12 @@ CONFIG_W1_SLAVE_DS2781=m + CONFIG_W1_SLAVE_DS28E04=m + CONFIG_W1_SLAVE_BQ27000=m + CONFIG_BATTERY_DS2760=m +-CONFIG_POWER_RESET=y + CONFIG_POWER_RESET_GPIO=y + CONFIG_HWMON=m + CONFIG_SENSORS_LM75=m + CONFIG_SENSORS_SHT21=m + CONFIG_SENSORS_SHTC1=m ++CONFIG_SENSORS_INA2XX=m + CONFIG_THERMAL=y + CONFIG_THERMAL_BCM2835=y + CONFIG_WATCHDOG=y +@@ -835,8 +792,7 @@ CONFIG_VIDEO_EM28XX_V4L2=m + CONFIG_VIDEO_EM28XX_ALSA=m + CONFIG_VIDEO_EM28XX_DVB=m + CONFIG_V4L_PLATFORM_DRIVERS=y +-CONFIG_VIDEO_BCM2835=n +-CONFIG_VIDEO_BCM2835_MMAL=n ++CONFIG_VIDEO_BCM2835=y + CONFIG_RADIO_SI470X=y + CONFIG_USB_SI470X=m + CONFIG_I2C_SI470X=m +@@ -892,8 +848,6 @@ CONFIG_SND_VIRMIDI=m + CONFIG_SND_MTPAV=m + CONFIG_SND_SERIAL_U16550=m + CONFIG_SND_MPU401=m +-CONFIG_SND_ARM=n +-CONFIG_SND_BCM2835=n + CONFIG_SND_USB_AUDIO=m + CONFIG_SND_USB_UA101=m + CONFIG_SND_USB_CAIAQ=m +@@ -916,6 +870,8 @@ CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m + CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m + CONFIG_SND_DIGIDAC1_SOUNDCARD=m + CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m ++CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m ++CONFIG_SND_PISOUND=m + CONFIG_SND_SOC_ADAU1701=m + CONFIG_SND_SOC_WM8804_I2C=m + CONFIG_SND_SIMPLE_CARD=m +@@ -979,8 +935,6 @@ CONFIG_USB_HIDDEV=y + CONFIG_USB=y + CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + CONFIG_USB_MON=m +-CONFIG_USB_DWCOTG=n +-CONFIG_USB_DWC2=y + CONFIG_USB_PRINTER=m + CONFIG_USB_STORAGE=y + CONFIG_USB_STORAGE_REALTEK=m +@@ -1001,6 +955,7 @@ CONFIG_USB_MICROTEK=m + CONFIG_USBIP_CORE=m + CONFIG_USBIP_VHCI_HCD=m + CONFIG_USBIP_HOST=m ++CONFIG_USB_DWC2=y + CONFIG_USB_SERIAL=m + CONFIG_USB_SERIAL_GENERIC=y + CONFIG_USB_SERIAL_AIRCABLE=m +@@ -1153,6 +1108,7 @@ CONFIG_FB_TFT_BD663474=m + CONFIG_FB_TFT_HX8340BN=m + CONFIG_FB_TFT_HX8347D=m + CONFIG_FB_TFT_HX8353D=m ++CONFIG_FB_TFT_HX8357D=m + CONFIG_FB_TFT_ILI9163=m + CONFIG_FB_TFT_ILI9320=m + CONFIG_FB_TFT_ILI9325=m +@@ -1331,4 +1287,3 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m + CONFIG_ARM64_CRYPTO=y + CONFIG_CRC_ITU_T=y + CONFIG_LIBCRC32C=y +-CONFIG_BCM2708_VCHIQ=n + +From 84c53a059eceded2c047c2a0071b27833b25ddf0 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 8 Nov 2016 21:35:38 +0000 +Subject: [PATCH 149/164] spi-bcm2835: Remove unused code + +--- + drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- + 1 file changed, 61 deletions(-) + +diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c +index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a83bebcac 100644 +--- a/drivers/spi/spi-bcm2835.c ++++ b/drivers/spi/spi-bcm2835.c +@@ -679,17 +679,8 @@ static void bcm2835_spi_set_cs(struct spi_device *spi, bool gpio_level) + bcm2835_wr(bs, BCM2835_SPI_CS, cs); + } + +-static int chip_match_name(struct gpio_chip *chip, void *data) +-{ +- return !strcmp(chip->label, data); +-} +- + static int bcm2835_spi_setup(struct spi_device *spi) + { +- int err; +- struct gpio_chip *chip; +- struct device_node *pins; +- u32 pingroup_index; + /* + * sanity checking the native-chipselects + */ +@@ -707,58 +698,6 @@ static int bcm2835_spi_setup(struct spi_device *spi) + return -EINVAL; + } + +-#if 0 +- /* now translate native cs to GPIO */ +- /* first look for chip select pins in the devices pin groups */ +- for (pingroup_index = 0; +- (pins = of_parse_phandle(spi->master->dev.of_node, +- "pinctrl-0", +- pingroup_index)) != 0; +- pingroup_index++) { +- u32 pin; +- u32 pin_index; +- for (pin_index = 0; +- of_property_read_u32_index(pins, +- "brcm,pins", +- pin_index, +- &pin) == 0; +- pin_index++) { +- if (((spi->chip_select == 0) && +- ((pin == 8) || (pin == 36) || (pin == 46))) || +- ((spi->chip_select == 1) && +- ((pin == 7) || (pin == 35)))) { +- spi->cs_gpio = pin; +- break; +- } +- } +- of_node_put(pins); +- } +- /* if that fails, assume GPIOs 7-11 are used */ +- if (!gpio_is_valid(spi->cs_gpio) ) { +- /* get the gpio chip for the base */ +- chip = gpiochip_find("pinctrl-bcm2835", chip_match_name); +- if (!chip) +- return 0; +- +- /* and calculate the real CS */ +- spi->cs_gpio = chip->base + 8 - spi->chip_select; +- } +- +- /* and set up the "mode" and level */ +- dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", +- spi->chip_select, spi->cs_gpio); +- +- /* set up GPIO as output and pull to the correct level */ +- err = gpio_direction_output(spi->cs_gpio, +- (spi->mode & SPI_CS_HIGH) ? 0 : 1); +- if (err) { +- dev_err(&spi->dev, +- "could not set CS%i gpio %i as output: %i", +- spi->chip_select, spi->cs_gpio, err); +- return err; +- } +-#endif +- + return 0; + } + + +From ccc550c6e6f5089ea626764f301dd7355a6e13e2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sat, 17 Sep 2016 15:07:10 +0200 +Subject: [PATCH 150/164] i2c: bcm2835: Fix hang for writing messages larger + than 16 bytes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Writing messages larger than the FIFO size results in a hang, rendering +the machine unusable. This is because the RXD status flag is set on the +first interrupt which results in bcm2835_drain_rxfifo() stealing bytes +from the buffer. The controller continues to trigger interrupts waiting +for the missing bytes, but bcm2835_fill_txfifo() has none to give. +In this situation wait_for_completion_timeout() apparently is unable to +stop the madness. + +The BCM2835 ARM Peripherals datasheet has this to say about the flags: + TXD: is set when the FIFO has space for at least one byte of data. + RXD: is set when the FIFO contains at least one byte of data. + TXW: is set during a write transfer and the FIFO is less than full. + RXR: is set during a read transfer and the FIFO is or more full. + +Implementing the logic from the downstream i2c-bcm2708 driver solved +the hang problem. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +Reviewed-by: Martin Sperl +--- + drivers/i2c/busses/i2c-bcm2835.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index d4f3239b56865919e1b781b20a7c5ebcd76b4eb9..f283b714aa79e2e4685ed95b04b6b289f7e9eee7 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -64,6 +64,7 @@ struct bcm2835_i2c_dev { + int irq; + struct i2c_adapter adapter; + struct completion completion; ++ struct i2c_msg *curr_msg; + u32 msg_err; + u8 *msg_buf; + size_t msg_buf_remaining; +@@ -126,14 +127,13 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + return IRQ_HANDLED; + } + +- if (val & BCM2835_I2C_S_RXD) { +- bcm2835_drain_rxfifo(i2c_dev); +- if (!(val & BCM2835_I2C_S_DONE)) +- return IRQ_HANDLED; +- } +- + if (val & BCM2835_I2C_S_DONE) { +- if (i2c_dev->msg_buf_remaining) ++ if (i2c_dev->curr_msg->flags & I2C_M_RD) { ++ bcm2835_drain_rxfifo(i2c_dev); ++ val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); ++ } ++ ++ if ((val & BCM2835_I2C_S_RXD) || i2c_dev->msg_buf_remaining) + i2c_dev->msg_err = BCM2835_I2C_S_LEN; + else + i2c_dev->msg_err = 0; +@@ -141,11 +141,16 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + return IRQ_HANDLED; + } + +- if (val & BCM2835_I2C_S_TXD) { ++ if (val & BCM2835_I2C_S_TXW) { + bcm2835_fill_txfifo(i2c_dev); + return IRQ_HANDLED; + } + ++ if (val & BCM2835_I2C_S_RXR) { ++ bcm2835_drain_rxfifo(i2c_dev); ++ return IRQ_HANDLED; ++ } ++ + return IRQ_NONE; + } + +@@ -155,6 +160,7 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + u32 c; + unsigned long time_left; + ++ i2c_dev->curr_msg = msg; + i2c_dev->msg_buf = msg->buf; + i2c_dev->msg_buf_remaining = msg->len; + reinit_completion(&i2c_dev->completion); + +From d9afb2ca5b2a1dc5a0e143c6d6ef25147314ff11 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 23 Sep 2016 18:24:38 +0200 +Subject: [PATCH 151/164] i2c: bcm2835: Protect against unexpected TXW/RXR + interrupts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If an unexpected TXW or RXR interrupt occurs (msg_buf_remaining == 0), +the driver has no way to fill/drain the FIFO to stop the interrupts. +In this case the controller has to be disabled and the transfer +completed to avoid hang. + +(CLKT | ERR) and DONE interrupts are completed in their own paths, and +the controller is disabled in the transfer function after completion. +Unite the code paths and do disabling inside the interrupt routine. + +Clear interrupt status bits in the united completion path instead of +trying to do it on every interrupt which isn't necessary. +Only CLKT, ERR and DONE can be cleared that way. + +Add the status value to the error value in case of TXW/RXR errors to +distinguish them from the other S_LEN error. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 40 +++++++++++++++++++++++++++++++--------- + 1 file changed, 31 insertions(+), 9 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index f283b714aa79e2e4685ed95b04b6b289f7e9eee7..d2ba1a4de36af512e8e3c97251bd3537ae61591a 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -50,8 +50,6 @@ + #define BCM2835_I2C_S_CLKT BIT(9) + #define BCM2835_I2C_S_LEN BIT(10) /* Fake bit for SW error reporting */ + +-#define BCM2835_I2C_BITMSK_S 0x03FF +- + #define BCM2835_I2C_CDIV_MIN 0x0002 + #define BCM2835_I2C_CDIV_MAX 0xFFFE + +@@ -111,20 +109,26 @@ static void bcm2835_drain_rxfifo(struct bcm2835_i2c_dev *i2c_dev) + } + } + ++/* ++ * Note about I2C_C_CLEAR on error: ++ * The I2C_C_CLEAR on errors will take some time to resolve -- if you were in ++ * non-idle state and I2C_C_READ, it sets an abort_rx flag and runs through ++ * the state machine to send a NACK and a STOP. Since we're setting CLEAR ++ * without I2CEN, that NACK will be hanging around queued up for next time ++ * we start the engine. ++ */ ++ + static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + { + struct bcm2835_i2c_dev *i2c_dev = data; + u32 val, err; + + val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); +- val &= BCM2835_I2C_BITMSK_S; +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_S, val); + + err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR); + if (err) { + i2c_dev->msg_err = err; +- complete(&i2c_dev->completion); +- return IRQ_HANDLED; ++ goto complete; + } + + if (val & BCM2835_I2C_S_DONE) { +@@ -137,21 +141,38 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + i2c_dev->msg_err = BCM2835_I2C_S_LEN; + else + i2c_dev->msg_err = 0; +- complete(&i2c_dev->completion); +- return IRQ_HANDLED; ++ goto complete; + } + + if (val & BCM2835_I2C_S_TXW) { ++ if (!i2c_dev->msg_buf_remaining) { ++ i2c_dev->msg_err = val | BCM2835_I2C_S_LEN; ++ goto complete; ++ } ++ + bcm2835_fill_txfifo(i2c_dev); + return IRQ_HANDLED; + } + + if (val & BCM2835_I2C_S_RXR) { ++ if (!i2c_dev->msg_buf_remaining) { ++ i2c_dev->msg_err = val | BCM2835_I2C_S_LEN; ++ goto complete; ++ } ++ + bcm2835_drain_rxfifo(i2c_dev); + return IRQ_HANDLED; + } + + return IRQ_NONE; ++ ++complete: ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_S, BCM2835_I2C_S_CLKT | ++ BCM2835_I2C_S_ERR | BCM2835_I2C_S_DONE); ++ complete(&i2c_dev->completion); ++ ++ return IRQ_HANDLED; + } + + static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, +@@ -181,8 +202,9 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + + time_left = wait_for_completion_timeout(&i2c_dev->completion, + BCM2835_I2C_TIMEOUT); +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); + if (!time_left) { ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, ++ BCM2835_I2C_C_CLEAR); + dev_err(i2c_dev->dev, "i2c transfer timed out\n"); + return -ETIMEDOUT; + } + +From 6f08d573999c728aa54cb40f3d1d8a22967e9e4d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Mon, 19 Sep 2016 17:19:41 +0200 +Subject: [PATCH 152/164] i2c: bcm2835: Use dev_dbg logging on transfer errors +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Writing to an AT24C32 generates on average 2x i2c transfer errors per +32-byte page write. Which amounts to a lot for a 4k write. This is due +to the fact that the chip doesn't respond during it's internal write +cycle when the at24 driver tries and retries the next write. +Only a handful drivers use dev_err() on transfer error, so switch to +dev_dbg() instead. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index d2ba1a4de36af512e8e3c97251bd3537ae61591a..54d510abd46a117c9238fc6d7edec84019d1f60d 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -216,7 +216,7 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + (msg->flags & I2C_M_IGNORE_NAK)) + return 0; + +- dev_err(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); ++ dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + return -EREMOTEIO; + +From 31a9c07c25677a41054435f46e9950e138b8daac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Thu, 22 Sep 2016 22:05:50 +0200 +Subject: [PATCH 153/164] i2c: bcm2835: Can't support I2C_M_IGNORE_NAK +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The controller can't support this flag, so remove it. + +Documentation/i2c/i2c-protocol states that all of the message is sent: + +I2C_M_IGNORE_NAK: + Normally message is interrupted immediately if there is [NA] from the + client. Setting this flag treats any [NA] as [A], and all of + message is sent. + +From the BCM2835 ARM Peripherals datasheet: + + The ERR field is set when the slave fails to acknowledge either + its address or a data byte written to it. + +So when the controller doesn't receive an ack, it sets ERR and raises +an interrupt. In other words, the whole message is not sent. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 54d510abd46a117c9238fc6d7edec84019d1f60d..565ef69ce61423544dc0558c85ef318b0ae9c324 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -212,10 +212,6 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + if (likely(!i2c_dev->msg_err)) + return 0; + +- if ((i2c_dev->msg_err & BCM2835_I2C_S_ERR) && +- (msg->flags & I2C_M_IGNORE_NAK)) +- return 0; +- + dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + +From 67c001d6ad4e091619eddb1e1387807a0afaeda9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 23 Sep 2016 04:54:27 +0200 +Subject: [PATCH 154/164] i2c: bcm2835: Add support for Repeated Start + Condition +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Documentation/i2c/i2c-protocol states that Combined transactions should +separate messages with a Start bit and end the whole transaction with a +Stop bit. This patch adds support for issuing only a Start between +messages instead of a Stop followed by a Start. + +This implementation differs from downstream i2c-bcm2708 in 2 respects: +- it uses an interrupt to detect that the transfer is active instead + of using polling. There is no interrupt for Transfer Active, but by + not prefilling the FIFO it's possible to use the TXW interrupt. +- when resetting/disabling the controller between transfers it writes + CLEAR to the control register instead of just zero. + Using just zero gave many errors. This might be the reason why + downstream had to disable this feature and make it available with a + module parameter. + +I have run thousands of transfers to a DS1307 (rtc), MMA8451 (accel) +and AT24C32 (eeprom) in parallel without problems. + +Signed-off-by: Noralf Trønnes +Acked-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 101 ++++++++++++++++++++++++--------------- + 1 file changed, 63 insertions(+), 38 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 565ef69ce61423544dc0558c85ef318b0ae9c324..241e08ae7c27cec23fad3c1bf3ebad3a4d2a8e6f 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -63,6 +63,7 @@ struct bcm2835_i2c_dev { + struct i2c_adapter adapter; + struct completion completion; + struct i2c_msg *curr_msg; ++ int num_msgs; + u32 msg_err; + u8 *msg_buf; + size_t msg_buf_remaining; +@@ -110,6 +111,45 @@ static void bcm2835_drain_rxfifo(struct bcm2835_i2c_dev *i2c_dev) + } + + /* ++ * Repeated Start Condition (Sr) ++ * The BCM2835 ARM Peripherals datasheet mentions a way to trigger a Sr when it ++ * talks about reading from a slave with 10 bit address. This is achieved by ++ * issuing a write, poll the I2CS.TA flag and wait for it to be set, and then ++ * issue a read. ++ * A comment in https://github.com/raspberrypi/linux/issues/254 shows how the ++ * firmware actually does it using polling and says that it's a workaround for ++ * a problem in the state machine. ++ * It turns out that it is possible to use the TXW interrupt to know when the ++ * transfer is active, provided the FIFO has not been prefilled. ++ */ ++ ++static void bcm2835_i2c_start_transfer(struct bcm2835_i2c_dev *i2c_dev) ++{ ++ u32 c = BCM2835_I2C_C_ST | BCM2835_I2C_C_I2CEN; ++ struct i2c_msg *msg = i2c_dev->curr_msg; ++ bool last_msg = (i2c_dev->num_msgs == 1); ++ ++ if (!i2c_dev->num_msgs) ++ return; ++ ++ i2c_dev->num_msgs--; ++ i2c_dev->msg_buf = msg->buf; ++ i2c_dev->msg_buf_remaining = msg->len; ++ ++ if (msg->flags & I2C_M_RD) ++ c |= BCM2835_I2C_C_READ | BCM2835_I2C_C_INTR; ++ else ++ c |= BCM2835_I2C_C_INTT; ++ ++ if (last_msg) ++ c |= BCM2835_I2C_C_INTD; ++ ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); ++} ++ ++/* + * Note about I2C_C_CLEAR on error: + * The I2C_C_CLEAR on errors will take some time to resolve -- if you were in + * non-idle state and I2C_C_READ, it sets an abort_rx flag and runs through +@@ -151,6 +191,12 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + } + + bcm2835_fill_txfifo(i2c_dev); ++ ++ if (i2c_dev->num_msgs && !i2c_dev->msg_buf_remaining) { ++ i2c_dev->curr_msg++; ++ bcm2835_i2c_start_transfer(i2c_dev); ++ } ++ + return IRQ_HANDLED; + } + +@@ -175,30 +221,25 @@ complete: + return IRQ_HANDLED; + } + +-static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, +- struct i2c_msg *msg) ++static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], ++ int num) + { +- u32 c; ++ struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); + unsigned long time_left; ++ int i; + +- i2c_dev->curr_msg = msg; +- i2c_dev->msg_buf = msg->buf; +- i2c_dev->msg_buf_remaining = msg->len; +- reinit_completion(&i2c_dev->completion); +- +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); ++ for (i = 0; i < (num - 1); i++) ++ if (msgs[i].flags & I2C_M_RD) { ++ dev_warn_once(i2c_dev->dev, ++ "only one read message supported, has to be last\n"); ++ return -EOPNOTSUPP; ++ } + +- if (msg->flags & I2C_M_RD) { +- c = BCM2835_I2C_C_READ | BCM2835_I2C_C_INTR; +- } else { +- c = BCM2835_I2C_C_INTT; +- bcm2835_fill_txfifo(i2c_dev); +- } +- c |= BCM2835_I2C_C_ST | BCM2835_I2C_C_INTD | BCM2835_I2C_C_I2CEN; ++ i2c_dev->curr_msg = msgs; ++ i2c_dev->num_msgs = num; ++ reinit_completion(&i2c_dev->completion); + +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); ++ bcm2835_i2c_start_transfer(i2c_dev); + + time_left = wait_for_completion_timeout(&i2c_dev->completion, + BCM2835_I2C_TIMEOUT); +@@ -209,31 +250,15 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev, + return -ETIMEDOUT; + } + +- if (likely(!i2c_dev->msg_err)) +- return 0; ++ if (!i2c_dev->msg_err) ++ return num; + + dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + return -EREMOTEIO; +- else +- return -EIO; +-} +- +-static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], +- int num) +-{ +- struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); +- int i; +- int ret = 0; +- +- for (i = 0; i < num; i++) { +- ret = bcm2835_i2c_xfer_msg(i2c_dev, &msgs[i]); +- if (ret) +- break; +- } + +- return ret ?: i; ++ return -EIO; + } + + static u32 bcm2835_i2c_func(struct i2c_adapter *adap) + +From 7ef0bb9cec2f6152f2c98065f680bc9c65cf6cae Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 23 Sep 2016 04:57:17 +0200 +Subject: [PATCH 155/164] i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use i2c_adapter->timeout for the completion timeout value. The core +default is 1 second. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +--- + drivers/i2c/busses/i2c-bcm2835.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 241e08ae7c27cec23fad3c1bf3ebad3a4d2a8e6f..d2085dd3742eabebc537621968088261f8dc7ea8 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -53,8 +53,6 @@ + #define BCM2835_I2C_CDIV_MIN 0x0002 + #define BCM2835_I2C_CDIV_MAX 0xFFFE + +-#define BCM2835_I2C_TIMEOUT (msecs_to_jiffies(1000)) +- + struct bcm2835_i2c_dev { + struct device *dev; + void __iomem *regs; +@@ -242,7 +240,7 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + bcm2835_i2c_start_transfer(i2c_dev); + + time_left = wait_for_completion_timeout(&i2c_dev->completion, +- BCM2835_I2C_TIMEOUT); ++ adap->timeout); + if (!time_left) { + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, + BCM2835_I2C_C_CLEAR); + +From de85a75c99c7accaeb0663d828a3c633c39ce5a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 27 Sep 2016 01:00:08 +0200 +Subject: [PATCH 156/164] i2c: bcm2835: Add support for dynamic clock +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Support a dynamic clock by reading the frequency and setting the +divisor in the transfer function instead of during probe. + +Signed-off-by: Noralf Trønnes +Reviewed-by: Martin Sperl +--- + drivers/i2c/busses/i2c-bcm2835.c | 51 +++++++++++++++++++++++++--------------- + 1 file changed, 32 insertions(+), 19 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index d2085dd3742eabebc537621968088261f8dc7ea8..c3436f627028477f7e21b47e079fd5ab06ec188a 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -58,6 +58,7 @@ struct bcm2835_i2c_dev { + void __iomem *regs; + struct clk *clk; + int irq; ++ u32 bus_clk_rate; + struct i2c_adapter adapter; + struct completion completion; + struct i2c_msg *curr_msg; +@@ -78,6 +79,30 @@ static inline u32 bcm2835_i2c_readl(struct bcm2835_i2c_dev *i2c_dev, u32 reg) + return readl(i2c_dev->regs + reg); + } + ++static int bcm2835_i2c_set_divider(struct bcm2835_i2c_dev *i2c_dev) ++{ ++ u32 divider; ++ ++ divider = DIV_ROUND_UP(clk_get_rate(i2c_dev->clk), ++ i2c_dev->bus_clk_rate); ++ /* ++ * Per the datasheet, the register is always interpreted as an even ++ * number, by rounding down. In other words, the LSB is ignored. So, ++ * if the LSB is set, increment the divider to avoid any issue. ++ */ ++ if (divider & 1) ++ divider++; ++ if ((divider < BCM2835_I2C_CDIV_MIN) || ++ (divider > BCM2835_I2C_CDIV_MAX)) { ++ dev_err_ratelimited(i2c_dev->dev, "Invalid clock-frequency\n"); ++ return -EINVAL; ++ } ++ ++ bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DIV, divider); ++ ++ return 0; ++} ++ + static void bcm2835_fill_txfifo(struct bcm2835_i2c_dev *i2c_dev) + { + u32 val; +@@ -224,7 +249,7 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + { + struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); + unsigned long time_left; +- int i; ++ int i, ret; + + for (i = 0; i < (num - 1); i++) + if (msgs[i].flags & I2C_M_RD) { +@@ -233,6 +258,10 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + return -EOPNOTSUPP; + } + ++ ret = bcm2835_i2c_set_divider(i2c_dev); ++ if (ret) ++ return ret; ++ + i2c_dev->curr_msg = msgs; + i2c_dev->num_msgs = num; + reinit_completion(&i2c_dev->completion); +@@ -282,7 +311,6 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) + { + struct bcm2835_i2c_dev *i2c_dev; + struct resource *mem, *irq; +- u32 bus_clk_rate, divider; + int ret; + struct i2c_adapter *adap; + +@@ -306,27 +334,12 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) + } + + ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency", +- &bus_clk_rate); ++ &i2c_dev->bus_clk_rate); + if (ret < 0) { + dev_warn(&pdev->dev, + "Could not read clock-frequency property\n"); +- bus_clk_rate = 100000; +- } +- +- divider = DIV_ROUND_UP(clk_get_rate(i2c_dev->clk), bus_clk_rate); +- /* +- * Per the datasheet, the register is always interpreted as an even +- * number, by rounding down. In other words, the LSB is ignored. So, +- * if the LSB is set, increment the divider to avoid any issue. +- */ +- if (divider & 1) +- divider++; +- if ((divider < BCM2835_I2C_CDIV_MIN) || +- (divider > BCM2835_I2C_CDIV_MAX)) { +- dev_err(&pdev->dev, "Invalid clock-frequency\n"); +- return -ENODEV; ++ i2c_dev->bus_clk_rate = 100000; + } +- bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DIV, divider); + + irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); + if (!irq) { + +From a1f654c18d571db09c8607ceb07d5e553726c92b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 1 Nov 2016 15:15:41 +0100 +Subject: [PATCH 157/164] i2c: bcm2835: Add debug support +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This adds a debug module parameter to aid in debugging transfer issues +by printing info to the kernel log. When enabled, status values are +collected in the interrupt routine and msg info in +bcm2835_i2c_start_transfer(). This is done in a way that tries to avoid +affecting timing. Having printk in the isr can mask issues. + +debug values (additive): +1: Print info on error +2: Print info on all transfers +3: Print messages before transfer is started + +The value can be changed at runtime: +/sys/module/i2c_bcm2835/parameters/debug + +Example output, debug=3: +[ 747.114448] bcm2835_i2c_xfer: msg(1/2) write addr=0x54, len=2 flags= [i2c1] +[ 747.114463] bcm2835_i2c_xfer: msg(2/2) read addr=0x54, len=32 flags= [i2c1] +[ 747.117809] start_transfer: msg(1/2) write addr=0x54, len=2 flags= [i2c1] +[ 747.117825] isr: remain=2, status=0x30000055 : TA TXW TXD TXE [i2c1] +[ 747.117839] start_transfer: msg(2/2) read addr=0x54, len=32 flags= [i2c1] +[ 747.117849] isr: remain=32, status=0xd0000039 : TA RXR TXD RXD [i2c1] +[ 747.117861] isr: remain=20, status=0xd0000039 : TA RXR TXD RXD [i2c1] +[ 747.117870] isr: remain=8, status=0x32 : DONE TXD RXD [i2c1] + +Signed-off-by: Noralf Trønnes +--- + drivers/i2c/busses/i2c-bcm2835.c | 99 +++++++++++++++++++++++++++++++++++++++- + 1 file changed, 98 insertions(+), 1 deletion(-) + +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index c3436f627028477f7e21b47e079fd5ab06ec188a..8642f580ce41803bd22c76a0fa80d083d0747be1 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -53,6 +53,18 @@ + #define BCM2835_I2C_CDIV_MIN 0x0002 + #define BCM2835_I2C_CDIV_MAX 0xFFFE + ++static unsigned int debug; ++module_param(debug, uint, 0644); ++MODULE_PARM_DESC(debug, "1=err, 2=isr, 3=xfer"); ++ ++#define BCM2835_DEBUG_MAX 512 ++struct bcm2835_debug { ++ struct i2c_msg *msg; ++ int msg_idx; ++ size_t remain; ++ u32 status; ++}; ++ + struct bcm2835_i2c_dev { + struct device *dev; + void __iomem *regs; +@@ -66,8 +78,78 @@ struct bcm2835_i2c_dev { + u32 msg_err; + u8 *msg_buf; + size_t msg_buf_remaining; ++ struct bcm2835_debug debug[BCM2835_DEBUG_MAX]; ++ unsigned int debug_num; ++ unsigned int debug_num_msgs; + }; + ++static inline void bcm2835_debug_add(struct bcm2835_i2c_dev *i2c_dev, u32 s) ++{ ++ if (!i2c_dev->debug_num_msgs || i2c_dev->debug_num >= BCM2835_DEBUG_MAX) ++ return; ++ ++ i2c_dev->debug[i2c_dev->debug_num].msg = i2c_dev->curr_msg; ++ i2c_dev->debug[i2c_dev->debug_num].msg_idx = ++ i2c_dev->debug_num_msgs - i2c_dev->num_msgs; ++ i2c_dev->debug[i2c_dev->debug_num].remain = i2c_dev->msg_buf_remaining; ++ i2c_dev->debug[i2c_dev->debug_num].status = s; ++ i2c_dev->debug_num++; ++} ++ ++static void bcm2835_debug_print_status(struct bcm2835_i2c_dev *i2c_dev, ++ struct bcm2835_debug *d) ++{ ++ u32 s = d->status; ++ ++ pr_info("isr: remain=%zu, status=0x%x : %s%s%s%s%s%s%s%s%s%s [i2c%d]\n", ++ d->remain, s, ++ s & BCM2835_I2C_S_TA ? "TA " : "", ++ s & BCM2835_I2C_S_DONE ? "DONE " : "", ++ s & BCM2835_I2C_S_TXW ? "TXW " : "", ++ s & BCM2835_I2C_S_RXR ? "RXR " : "", ++ s & BCM2835_I2C_S_TXD ? "TXD " : "", ++ s & BCM2835_I2C_S_RXD ? "RXD " : "", ++ s & BCM2835_I2C_S_TXE ? "TXE " : "", ++ s & BCM2835_I2C_S_RXF ? "RXF " : "", ++ s & BCM2835_I2C_S_ERR ? "ERR " : "", ++ s & BCM2835_I2C_S_CLKT ? "CLKT " : "", ++ i2c_dev->adapter.nr); ++} ++ ++static void bcm2835_debug_print_msg(struct bcm2835_i2c_dev *i2c_dev, ++ struct i2c_msg *msg, int i, int total, ++ const char *fname) ++{ ++ pr_info("%s: msg(%d/%d) %s addr=0x%02x, len=%u flags=%s%s%s%s%s%s%s [i2c%d]\n", ++ fname, i, total, ++ msg->flags & I2C_M_RD ? "read" : "write", msg->addr, msg->len, ++ msg->flags & I2C_M_TEN ? "TEN" : "", ++ msg->flags & I2C_M_RECV_LEN ? "RECV_LEN" : "", ++ msg->flags & I2C_M_NO_RD_ACK ? "NO_RD_ACK" : "", ++ msg->flags & I2C_M_IGNORE_NAK ? "IGNORE_NAK" : "", ++ msg->flags & I2C_M_REV_DIR_ADDR ? "REV_DIR_ADDR" : "", ++ msg->flags & I2C_M_NOSTART ? "NOSTART" : "", ++ msg->flags & I2C_M_STOP ? "STOP" : "", ++ i2c_dev->adapter.nr); ++} ++ ++static void bcm2835_debug_print(struct bcm2835_i2c_dev *i2c_dev) ++{ ++ struct bcm2835_debug *d; ++ unsigned int i; ++ ++ for (i = 0; i < i2c_dev->debug_num; i++) { ++ d = &i2c_dev->debug[i]; ++ if (d->status == ~0) ++ bcm2835_debug_print_msg(i2c_dev, d->msg, d->msg_idx, ++ i2c_dev->debug_num_msgs, "start_transfer"); ++ else ++ bcm2835_debug_print_status(i2c_dev, d); ++ } ++ if (i2c_dev->debug_num >= BCM2835_DEBUG_MAX) ++ pr_info("BCM2835_DEBUG_MAX reached\n"); ++} ++ + static inline void bcm2835_i2c_writel(struct bcm2835_i2c_dev *i2c_dev, + u32 reg, u32 val) + { +@@ -170,6 +252,7 @@ static void bcm2835_i2c_start_transfer(struct bcm2835_i2c_dev *i2c_dev) + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); ++ bcm2835_debug_add(i2c_dev, ~0); + } + + /* +@@ -187,6 +270,7 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) + u32 val, err; + + val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); ++ bcm2835_debug_add(i2c_dev, val); + + err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR); + if (err) { +@@ -251,6 +335,13 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + unsigned long time_left; + int i, ret; + ++ if (debug) ++ i2c_dev->debug_num_msgs = num; ++ ++ if (debug > 2) ++ for (i = 0; i < num; i++) ++ bcm2835_debug_print_msg(i2c_dev, &msgs[i], i + 1, num, __func__); ++ + for (i = 0; i < (num - 1); i++) + if (msgs[i].flags & I2C_M_RD) { + dev_warn_once(i2c_dev->dev, +@@ -270,6 +361,10 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + + time_left = wait_for_completion_timeout(&i2c_dev->completion, + adap->timeout); ++ if (debug > 1 || (debug && (!time_left || i2c_dev->msg_err))) ++ bcm2835_debug_print(i2c_dev); ++ i2c_dev->debug_num_msgs = 0; ++ i2c_dev->debug_num = 0; + if (!time_left) { + bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, + BCM2835_I2C_C_CLEAR); +@@ -280,7 +375,9 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], + if (!i2c_dev->msg_err) + return num; + +- dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err); ++ if (debug) ++ dev_err(i2c_dev->dev, "i2c transfer failed: %x\n", ++ i2c_dev->msg_err); + + if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) + return -EREMOTEIO; + +From aa9d0e5f5bc75f8b7c23ad5c28d514447cab1c06 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 1 Nov 2016 20:03:29 +0100 +Subject: [PATCH 158/164] config: Enable i2c-bcm2835 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Noralf Trønnes +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index d246dd91b12d40a2d59d5e6758548471f1b195a0..816f832a5f676d905bfae1e06ae8003e38d5cff3 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -606,6 +606,7 @@ CONFIG_I2C=y + CONFIG_I2C_CHARDEV=m + CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m ++CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 27c61471a12a38feda62447af8010530bc89c141..98b2e5992a45a6212ef9a8b9826431d9fc024169 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -602,6 +602,7 @@ CONFIG_I2C=y + CONFIG_I2C_CHARDEV=m + CONFIG_I2C_MUX_PCA954x=m + CONFIG_I2C_BCM2708=m ++CONFIG_I2C_BCM2835=m + CONFIG_I2C_GPIO=m + CONFIG_SPI=y + CONFIG_SPI_BCM2835=m + +From d5c07cc7947cab9a1263580d8db8144a8b5df0d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Tue, 1 Nov 2016 15:42:55 +0100 +Subject: [PATCH 159/164] BCM270X_DT: Use i2c-bcm2835 as default +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +i2c-bcm2835 has gotten an overhaul so we can now use as default. + +Signed-off-by: Noralf Trønnes +--- + arch/arm/boot/dts/bcm270x.dtsi | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi +index 7fb1f428332dc48bdd91dd4a0773f3bea7057238..514b481d4f4095dc8b55a216ac7335934973e145 100644 +--- a/arch/arm/boot/dts/bcm270x.dtsi ++++ b/arch/arm/boot/dts/bcm270x.dtsi +@@ -49,10 +49,6 @@ + dma-names = "tx", "rx"; + }; + +- i2c@7e205000 { /* i2c0 */ +- compatible = "brcm,bcm2708-i2c"; +- }; +- + pixelvalve0: pixelvalve@7e206000 { + /* Add alias */ + status = "disabled"; +@@ -104,14 +100,6 @@ + status = "disabled"; + }; + +- i2c@7e804000 { /* i2c1 */ +- compatible = "brcm,bcm2708-i2c"; +- }; +- +- i2c@7e805000 { /* i2c2 */ +- compatible = "brcm,bcm2708-i2c"; +- }; +- + pixelvalve2: pixelvalve@7e807000 { + /* Add alias */ + status = "disabled"; + +From 27366d7f67935fccaf9499c14f214704a46c77ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 11 Nov 2016 18:24:26 +0100 +Subject: [PATCH 160/164] BCM270X_DT: Add fallback overlay for i2c-bcm2708 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Noralf Trønnes +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 ++++++ + arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts | 13 +++++++++++++ + 3 files changed, 20 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 555bb5050aaf8464e209f35c50dc1f5c0295e585..7ef449dcfb206f9ab36d63b04bce9f9694c8c697 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -37,6 +37,7 @@ dtbo-$(RPI_DT_OVERLAYS) += hifiberry-digi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hifiberry-digi-pro.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28a.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += i2c-bcm2708.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-mux.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-pwm-pca9685a.dtbo +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 4f9f0ac43f4fe2cb9376fff5a214ffdaf8179591..585f999474ca67155314f2e47d815b081a24d712 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -463,6 +463,12 @@ Params: speed Display SPI bus speed + ledgpio GPIO used to control backlight + + ++Name: i2c-bcm2708 ++Info: Fall back to the i2c_bcm2708 driver for the i2c_arm bus. ++Load: dtoverlay=i2c-bcm2708 ++Params: ++ ++ + Name: i2c-gpio + Info: Adds support for software i2c controller on gpio pins + Load: dtoverlay=i2c-gpio,= +diff --git a/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts b/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..0afc6b405414c97428278dd3e8836759092aedb5 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts +@@ -0,0 +1,13 @@ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&i2c_arm>; ++ __overlay__ { ++ compatible = "brcm,bcm2708-i2c"; ++ }; ++ }; ++}; + +From dfa675bd8f4014b7336a054c0fd10121221f064a Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Fri, 30 Sep 2016 10:07:27 -0700 +Subject: [PATCH 161/164] clk: bcm2835: Clamp the PLL's requested rate to the + hardware limits. + +Fixes setting low-resolution video modes on HDMI. Now the PLLH_PIX +divider adjusts itself until the PLLH is within bounds. + +Signed-off-by: Eric Anholt +Signed-off-by: Stephen Boyd +--- + drivers/clk/bcm/clk-bcm2835.c | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index fbf616021704178a9d007219a0ea2a9f1704f0a6..b07c3485441203356bcda287e32f59041d31196e 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -502,8 +502,12 @@ static long bcm2835_pll_rate_from_divisors(unsigned long parent_rate, + static long bcm2835_pll_round_rate(struct clk_hw *hw, unsigned long rate, + unsigned long *parent_rate) + { ++ struct bcm2835_pll *pll = container_of(hw, struct bcm2835_pll, hw); ++ const struct bcm2835_pll_data *data = pll->data; + u32 ndiv, fdiv; + ++ rate = clamp(rate, data->min_rate, data->max_rate); ++ + bcm2835_pll_choose_ndiv_and_fdiv(rate, *parent_rate, &ndiv, &fdiv); + + return bcm2835_pll_rate_from_divisors(*parent_rate, ndiv, fdiv, 1); +@@ -608,13 +612,6 @@ static int bcm2835_pll_set_rate(struct clk_hw *hw, + u32 ana[4]; + int i; + +- if (rate < data->min_rate || rate > data->max_rate) { +- dev_err(cprman->dev, "%s: rate out of spec: %lu vs (%lu, %lu)\n", +- clk_hw_get_name(hw), rate, +- data->min_rate, data->max_rate); +- return -EINVAL; +- } +- + if (rate > data->max_fb_rate) { + use_fb_prediv = true; + rate /= 2; + +From 7e66587b08d2da8b366279fafae3b16ae0fd1a16 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 1 Nov 2016 13:10:05 +0000 +Subject: [PATCH 162/164] config: Add CONFIG_HTU21 module + +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 816f832a5f676d905bfae1e06ae8003e38d5cff3..a620bb77fd7934a9977adf3944bb2f3be9d83443 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -1148,6 +1148,7 @@ CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m ++CONFIG_HTU21=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_RASPBERRYPI_FIRMWARE=y +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 98b2e5992a45a6212ef9a8b9826431d9fc024169..43fc0a37f8bf2701aac84962203e7219645d5d7b 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -1158,6 +1158,7 @@ CONFIG_IIO_KFIFO_BUF=m + CONFIG_MCP320X=m + CONFIG_MCP3422=m + CONFIG_DHT11=m ++CONFIG_HTU21=m + CONFIG_PWM_BCM2835=m + CONFIG_PWM_PCA9685=m + CONFIG_RASPBERRYPI_FIRMWARE=y + +From af6549ac3dbb013a166e4a6740e4698a68dc4780 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 31 Oct 2016 17:42:54 +0000 +Subject: [PATCH 163/164] config: Add SECOMP options from #1698 + +--- + arch/arm/configs/bcm2709_defconfig | 8 +++++++- + arch/arm/configs/bcmrpi_defconfig | 7 ++++++- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index a620bb77fd7934a9977adf3944bb2f3be9d83443..8ab82ca775b336c6786a76dbaacaeb8e4a5da660 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -14,11 +14,15 @@ CONFIG_IKCONFIG=m + CONFIG_IKCONFIG_PROC=y + CONFIG_NMI_LOG_BUF_SHIFT=12 + CONFIG_MEMCG=y ++CONFIG_MEMCG_SWAP=y + CONFIG_BLK_CGROUP=y ++CONFIG_CFS_BANDWIDTH=y ++CONFIG_CGROUP_PIDS=y + CONFIG_CGROUP_FREEZER=y + CONFIG_CPUSETS=y + CONFIG_CGROUP_DEVICE=y + CONFIG_CGROUP_CPUACCT=y ++CONFIG_CGROUP_PERF=y + CONFIG_NAMESPACES=y + CONFIG_USER_NS=y + CONFIG_SCHED_AUTOGROUP=y +@@ -44,7 +48,6 @@ CONFIG_SMP=y + CONFIG_VMSPLIT_2G=y + CONFIG_PREEMPT_VOLUNTARY=y + CONFIG_AEABI=y +-CONFIG_OABI_COMPAT=y + # CONFIG_CPU_SW_DOMAIN_PAN is not set + CONFIG_CLEANCACHE=y + CONFIG_FRONTSWAP=y +@@ -342,6 +345,7 @@ CONFIG_NET_ACT_SKBEDIT=m + CONFIG_NET_ACT_CSUM=m + CONFIG_BATMAN_ADV=m + CONFIG_OPENVSWITCH=m ++CONFIG_CGROUP_NET_PRIO=y + CONFIG_NET_PKTGEN=m + CONFIG_HAMRADIO=y + CONFIG_AX25=m +@@ -1278,6 +1282,8 @@ CONFIG_FUNCTION_PROFILER=y + CONFIG_KGDB=y + CONFIG_KGDB_KDB=y + CONFIG_KDB_KEYBOARD=y ++CONFIG_SECURITY=y ++CONFIG_SECURITY_APPARMOR=y + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CBC=y + CONFIG_CRYPTO_CTS=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 43fc0a37f8bf2701aac84962203e7219645d5d7b..3de3a93921cbea9e56ac34d589ec6e83ddb5e7c1 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -13,11 +13,14 @@ CONFIG_IKCONFIG=m + CONFIG_IKCONFIG_PROC=y + CONFIG_NMI_LOG_BUF_SHIFT=12 + CONFIG_MEMCG=y ++CONFIG_MEMCG_SWAP=y + CONFIG_BLK_CGROUP=y ++CONFIG_CGROUP_PIDS=y + CONFIG_CGROUP_FREEZER=y + CONFIG_CPUSETS=y + CONFIG_CGROUP_DEVICE=y + CONFIG_CGROUP_CPUACCT=y ++CONFIG_CGROUP_PERF=y + CONFIG_NAMESPACES=y + CONFIG_USER_NS=y + CONFIG_SCHED_AUTOGROUP=y +@@ -43,7 +46,6 @@ CONFIG_ARCH_BCM2708=y + # CONFIG_CACHE_L2X0 is not set + CONFIG_PREEMPT_VOLUNTARY=y + CONFIG_AEABI=y +-CONFIG_OABI_COMPAT=y + # CONFIG_CPU_SW_DOMAIN_PAN is not set + CONFIG_CLEANCACHE=y + CONFIG_FRONTSWAP=y +@@ -338,6 +340,7 @@ CONFIG_NET_ACT_SKBEDIT=m + CONFIG_NET_ACT_CSUM=m + CONFIG_BATMAN_ADV=m + CONFIG_OPENVSWITCH=m ++CONFIG_CGROUP_NET_PRIO=y + CONFIG_NET_PKTGEN=m + CONFIG_HAMRADIO=y + CONFIG_AX25=m +@@ -1289,6 +1292,8 @@ CONFIG_FUNCTION_PROFILER=y + CONFIG_KGDB=y + CONFIG_KGDB_KDB=y + CONFIG_KDB_KEYBOARD=y ++CONFIG_SECURITY=y ++CONFIG_SECURITY_APPARMOR=y + CONFIG_CRYPTO_USER=m + CONFIG_CRYPTO_CRYPTD=m + CONFIG_CRYPTO_CBC=y + +From 61a0dafeb83dfa15107ce1e6e3e3ea9f550d8c38 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Sun, 13 Nov 2016 17:37:35 +0000 +Subject: [PATCH 164/164] Revert "Revert "Register the clocks early during the + boot process,"" + +This reverts commit a999a266a45996796e5d3edd907f5648ad206239. +--- + drivers/clk/bcm/clk-bcm2835.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index b07c3485441203356bcda287e32f59041d31196e..89645d63af53a3559c4b2e88f9a592fe11f5103f 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -1888,8 +1888,15 @@ static int bcm2835_clk_probe(struct platform_device *pdev) + if (ret) + return ret; + +- return of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, +- &cprman->onecell); ++ ret = of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, ++ &cprman->onecell); ++ if (ret) ++ return ret; ++ ++ /* note that we have registered all the clocks */ ++ dev_dbg(dev, "registered %d clocks\n", asize); ++ ++ return 0; + } + + static const struct of_device_id bcm2835_clk_of_match[] = { +@@ -1906,7 +1913,11 @@ static struct platform_driver bcm2835_clk_driver = { + .probe = bcm2835_clk_probe, + }; + +-builtin_platform_driver(bcm2835_clk_driver); ++static int __init __bcm2835_clk_driver_init(void) ++{ ++ return platform_driver_register(&bcm2835_clk_driver); ++} ++core_initcall(__bcm2835_clk_driver_init); + + MODULE_AUTHOR("Eric Anholt "); + MODULE_DESCRIPTION("BCM2835 clock driver");