brcm2708: refresh patches
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> SVN-Revision: 44433
This commit is contained in:
parent
2dbcf5e91f
commit
9b74de00f7
114 changed files with 645 additions and 2950 deletions
124
target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
Executable file → Normal file
124
target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
Executable file → Normal file
|
@ -83,8 +83,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
|||
create mode 100644 arch/arm/mach-bcm2708/vc_mem.c
|
||||
create mode 100644 arch/arm/mach-bcm2708/vcio.c
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 89c4b5c..4cedaf2 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -381,6 +381,22 @@ config ARCH_AT91
|
||||
|
@ -118,8 +116,6 @@ index 89c4b5c..4cedaf2 100644
|
|||
|
||||
source "arch/arm/mach-zynq/Kconfig"
|
||||
|
||||
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
|
||||
index d8f6a2e..526e50d 100644
|
||||
--- a/arch/arm/Kconfig.debug
|
||||
+++ b/arch/arm/Kconfig.debug
|
||||
@@ -985,6 +985,14 @@ choice
|
||||
|
@ -137,11 +133,9 @@ index d8f6a2e..526e50d 100644
|
|||
endchoice
|
||||
|
||||
config DEBUG_EXYNOS_UART
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index 034a949..fea9213 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -146,6 +146,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
|
||||
@@ -151,6 +151,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x003080
|
||||
machine-$(CONFIG_ARCH_AT91) += at91
|
||||
machine-$(CONFIG_ARCH_AXXIA) += axxia
|
||||
machine-$(CONFIG_ARCH_BCM) += bcm
|
||||
|
@ -149,9 +143,6 @@ index 034a949..fea9213 100644
|
|||
machine-$(CONFIG_ARCH_BERLIN) += berlin
|
||||
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
|
||||
machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..8950e53
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -0,0 +1,464 @@
|
||||
|
@ -619,8 +610,6 @@ index 0000000..8950e53
|
|||
+# CONFIG_CRYPTO_HW is not set
|
||||
+CONFIG_CRC_ITU_T=y
|
||||
+CONFIG_LIBCRC32C=y
|
||||
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
|
||||
index fe972a2..f4f3bfd 100644
|
||||
--- a/arch/arm/kernel/process.c
|
||||
+++ b/arch/arm/kernel/process.c
|
||||
@@ -166,6 +166,16 @@ void arch_cpu_idle_dead(void)
|
||||
|
@ -640,9 +629,6 @@ index fe972a2..f4f3bfd 100644
|
|||
/*
|
||||
* Called by kexec, immediately prior to machine_kexec().
|
||||
*
|
||||
diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000..1f11478
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/Kconfig
|
||||
@@ -0,0 +1,26 @@
|
||||
|
@ -672,9 +658,6 @@ index 0000000..1f11478
|
|||
+ Do not allow ARM to use GPU's L2 cache. Requires disable_l2cache in config.txt.
|
||||
+
|
||||
+endmenu
|
||||
diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..c76f39bc
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/Makefile
|
||||
@@ -0,0 +1,6 @@
|
||||
|
@ -684,18 +667,12 @@ index 0000000..c76f39bc
|
|||
+
|
||||
+obj-$(CONFIG_MACH_BCM2708) += clock.o bcm2708.o armctrl.o vcio.o power.o dma.o
|
||||
+obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
|
||||
diff --git a/arch/arm/mach-bcm2708/Makefile.boot b/arch/arm/mach-bcm2708/Makefile.boot
|
||||
new file mode 100644
|
||||
index 0000000..67039c3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/Makefile.boot
|
||||
@@ -0,0 +1,3 @@
|
||||
+ zreladdr-y := 0x00008000
|
||||
+params_phys-y := 0x00000100
|
||||
+initrd_phys-y := 0x00800000
|
||||
diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c
|
||||
new file mode 100644
|
||||
index 0000000..ef1c8d5
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/armctrl.c
|
||||
@@ -0,0 +1,208 @@
|
||||
|
@ -907,9 +884,6 @@ index 0000000..ef1c8d5
|
|||
+ armctrl_pm_register(base, irq_start, resume_sources);
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/arch/arm/mach-bcm2708/armctrl.h b/arch/arm/mach-bcm2708/armctrl.h
|
||||
new file mode 100644
|
||||
index 0000000..0aa916e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/armctrl.h
|
||||
@@ -0,0 +1,27 @@
|
||||
|
@ -940,9 +914,6 @@ index 0000000..0aa916e
|
|||
+ u32 armctrl_sources, u32 resume_sources);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
new file mode 100644
|
||||
index 0000000..9b4e709
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -0,0 +1,662 @@
|
||||
|
@ -1608,9 +1579,6 @@ index 0000000..9b4e709
|
|||
+module_param(disk_led_gpio, uint, 0644);
|
||||
+module_param(disk_led_active_low, uint, 0644);
|
||||
+module_param(reboot_part, uint, 0644);
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.h b/arch/arm/mach-bcm2708/bcm2708.h
|
||||
new file mode 100644
|
||||
index 0000000..e339a93
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.h
|
||||
@@ -0,0 +1,49 @@
|
||||
|
@ -1663,9 +1631,6 @@ index 0000000..e339a93
|
|||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/clock.c b/arch/arm/mach-bcm2708/clock.c
|
||||
new file mode 100644
|
||||
index 0000000..4fc556e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/clock.c
|
||||
@@ -0,0 +1,61 @@
|
||||
|
@ -1730,9 +1695,6 @@ index 0000000..4fc556e
|
|||
+ return -EIO;
|
||||
+}
|
||||
+EXPORT_SYMBOL(clk_set_rate);
|
||||
diff --git a/arch/arm/mach-bcm2708/clock.h b/arch/arm/mach-bcm2708/clock.h
|
||||
new file mode 100644
|
||||
index 0000000..5f9d725
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/clock.h
|
||||
@@ -0,0 +1,24 @@
|
||||
|
@ -1760,9 +1722,6 @@ index 0000000..5f9d725
|
|||
+struct clk {
|
||||
+ unsigned long rate;
|
||||
+};
|
||||
diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c
|
||||
new file mode 100644
|
||||
index 0000000..51d147a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/dma.c
|
||||
@@ -0,0 +1,399 @@
|
||||
|
@ -2165,9 +2124,6 @@ index 0000000..51d147a
|
|||
+MODULE_LICENSE("GPL");
|
||||
+
|
||||
+MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM");
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/arm_control.h b/arch/arm/mach-bcm2708/include/mach/arm_control.h
|
||||
new file mode 100644
|
||||
index 0000000..a82bb92
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/arm_control.h
|
||||
@@ -0,0 +1,419 @@
|
||||
|
@ -2590,9 +2546,6 @@ index 0000000..a82bb92
|
|||
+#define AJBTDO HW_REGISTER_RW(AJB_BASE+0x0c)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/arm_power.h b/arch/arm/mach-bcm2708/include/mach/arm_power.h
|
||||
new file mode 100644
|
||||
index 0000000..d3bf245
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/arm_power.h
|
||||
@@ -0,0 +1,62 @@
|
||||
|
@ -2658,9 +2611,6 @@ index 0000000..d3bf245
|
|||
+};
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/clkdev.h b/arch/arm/mach-bcm2708/include/mach/clkdev.h
|
||||
new file mode 100644
|
||||
index 0000000..04b37a8
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/clkdev.h
|
||||
@@ -0,0 +1,7 @@
|
||||
|
@ -2671,9 +2621,6 @@ index 0000000..04b37a8
|
|||
+#define __clk_put(clk) do { } while (0)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/debug-macro.S b/arch/arm/mach-bcm2708/include/mach/debug-macro.S
|
||||
new file mode 100644
|
||||
index 0000000..b24304a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/debug-macro.S
|
||||
@@ -0,0 +1,22 @@
|
||||
|
@ -2699,9 +2646,6 @@ index 0000000..b24304a
|
|||
+ .endm
|
||||
+
|
||||
+#include <debug/pl01x.S>
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
new file mode 100644
|
||||
index 0000000..f2568d4
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
@@ -0,0 +1,88 @@
|
||||
|
@ -2793,9 +2737,6 @@ index 0000000..f2568d4
|
|||
+
|
||||
+
|
||||
+#endif /* _MACH_BCM2708_DMA_H */
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/entry-macro.S b/arch/arm/mach-bcm2708/include/mach/entry-macro.S
|
||||
new file mode 100644
|
||||
index 0000000..79b62d9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/entry-macro.S
|
||||
@@ -0,0 +1,69 @@
|
||||
|
@ -2868,9 +2809,6 @@ index 0000000..79b62d9
|
|||
+1020: @ EQ will be set if no irqs pending
|
||||
+
|
||||
+ .endm
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/frc.h b/arch/arm/mach-bcm2708/include/mach/frc.h
|
||||
new file mode 100644
|
||||
index 0000000..dd51e07
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/frc.h
|
||||
@@ -0,0 +1,38 @@
|
||||
|
@ -2912,9 +2850,6 @@ index 0000000..dd51e07
|
|||
+extern unsigned long long frc_clock_ticks63(void);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/hardware.h b/arch/arm/mach-bcm2708/include/mach/hardware.h
|
||||
new file mode 100644
|
||||
index 0000000..c2954e8
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/hardware.h
|
||||
@@ -0,0 +1,28 @@
|
||||
|
@ -2946,9 +2881,6 @@ index 0000000..c2954e8
|
|||
+#include <mach/platform.h>
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/io.h b/arch/arm/mach-bcm2708/include/mach/io.h
|
||||
new file mode 100644
|
||||
index 0000000..e6eb84d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/io.h
|
||||
@@ -0,0 +1,27 @@
|
||||
|
@ -2979,9 +2911,6 @@ index 0000000..e6eb84d
|
|||
+#define __io(a) __typesafe_io(a)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h
|
||||
new file mode 100644
|
||||
index 0000000..3a88a1a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/irqs.h
|
||||
@@ -0,0 +1,196 @@
|
||||
|
@ -3181,9 +3110,6 @@ index 0000000..3a88a1a
|
|||
+#define NR_IRQS (BCM2708_ALLOC_IRQS+FREE_IRQS)
|
||||
+
|
||||
+#endif /* _BCM2708_IRQS_H_ */
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/memory.h b/arch/arm/mach-bcm2708/include/mach/memory.h
|
||||
new file mode 100644
|
||||
index 0000000..7548a52
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/memory.h
|
||||
@@ -0,0 +1,57 @@
|
||||
|
@ -3244,9 +3170,6 @@ index 0000000..7548a52
|
|||
+#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - BCM_PLAT_PHYS_OFFSET))
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h
|
||||
new file mode 100644
|
||||
index 0000000..2e7e1bb
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/platform.h
|
||||
@@ -0,0 +1,228 @@
|
||||
|
@ -3478,9 +3401,6 @@ index 0000000..2e7e1bb
|
|||
+#endif
|
||||
+
|
||||
+/* END */
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/power.h b/arch/arm/mach-bcm2708/include/mach/power.h
|
||||
new file mode 100644
|
||||
index 0000000..52b3b02
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/power.h
|
||||
@@ -0,0 +1,26 @@
|
||||
|
@ -3510,9 +3430,6 @@ index 0000000..52b3b02
|
|||
+extern int bcm_power_close(BCM_POWER_HANDLE_T handle);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/system.h b/arch/arm/mach-bcm2708/include/mach/system.h
|
||||
new file mode 100644
|
||||
index 0000000..2d0b821
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/system.h
|
||||
@@ -0,0 +1,38 @@
|
||||
|
@ -3554,9 +3471,6 @@ index 0000000..2d0b821
|
|||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/timex.h b/arch/arm/mach-bcm2708/include/mach/timex.h
|
||||
new file mode 100644
|
||||
index 0000000..64a660c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/timex.h
|
||||
@@ -0,0 +1,23 @@
|
||||
|
@ -3583,9 +3497,6 @@ index 0000000..64a660c
|
|||
+ */
|
||||
+
|
||||
+#define CLOCK_TICK_RATE (1000000)
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/uncompress.h b/arch/arm/mach-bcm2708/include/mach/uncompress.h
|
||||
new file mode 100644
|
||||
index 0000000..d634813
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/uncompress.h
|
||||
@@ -0,0 +1,84 @@
|
||||
|
@ -3673,9 +3584,6 @@ index 0000000..d634813
|
|||
+ * nothing to do
|
||||
+ */
|
||||
+#define arch_decomp_wdog()
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/vc_mem.h b/arch/arm/mach-bcm2708/include/mach/vc_mem.h
|
||||
new file mode 100644
|
||||
index 0000000..4a4a338
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/vc_mem.h
|
||||
@@ -0,0 +1,35 @@
|
||||
|
@ -3714,9 +3622,6 @@ index 0000000..4a4a338
|
|||
+#endif
|
||||
+
|
||||
+#endif /* VC_MEM_H */
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/vcio.h b/arch/arm/mach-bcm2708/include/mach/vcio.h
|
||||
new file mode 100644
|
||||
index 0000000..8e11d67
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/vcio.h
|
||||
@@ -0,0 +1,165 @@
|
||||
|
@ -3885,9 +3790,6 @@ index 0000000..8e11d67
|
|||
+#define DEVICE_FILE_NAME "vcio"
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/vmalloc.h b/arch/arm/mach-bcm2708/include/mach/vmalloc.h
|
||||
new file mode 100644
|
||||
index 0000000..502c617
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/vmalloc.h
|
||||
@@ -0,0 +1,20 @@
|
||||
|
@ -3911,9 +3813,6 @@ index 0000000..502c617
|
|||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
+ */
|
||||
+#define VMALLOC_END (0xe8000000)
|
||||
diff --git a/arch/arm/mach-bcm2708/power.c b/arch/arm/mach-bcm2708/power.c
|
||||
new file mode 100644
|
||||
index 0000000..2696be9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/power.c
|
||||
@@ -0,0 +1,197 @@
|
||||
|
@ -4114,9 +4013,6 @@ index 0000000..2696be9
|
|||
+MODULE_AUTHOR("Phil Elwell");
|
||||
+MODULE_DESCRIPTION("Interface to BCM2708 power management");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/arch/arm/mach-bcm2708/vc_mem.c b/arch/arm/mach-bcm2708/vc_mem.c
|
||||
new file mode 100644
|
||||
index 0000000..2982af7
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/vc_mem.c
|
||||
@@ -0,0 +1,431 @@
|
||||
|
@ -4551,9 +4447,6 @@ index 0000000..2982af7
|
|||
+module_param(phys_addr, uint, 0644);
|
||||
+module_param(mem_size, uint, 0644);
|
||||
+module_param(mem_base, uint, 0644);
|
||||
diff --git a/arch/arm/mach-bcm2708/vcio.c b/arch/arm/mach-bcm2708/vcio.c
|
||||
new file mode 100644
|
||||
index 0000000..5e43e85
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/vcio.c
|
||||
@@ -0,0 +1,474 @@
|
||||
|
@ -5031,8 +4924,6 @@ index 0000000..5e43e85
|
|||
+MODULE_DESCRIPTION("ARM I/O to VideoCore processor");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("platform:bcm-mbox");
|
||||
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
|
||||
index 7eb94e6..7b58dae 100644
|
||||
--- a/arch/arm/mm/Kconfig
|
||||
+++ b/arch/arm/mm/Kconfig
|
||||
@@ -358,7 +358,7 @@ config CPU_PJ4B
|
||||
|
@ -5044,8 +4935,6 @@ index 7eb94e6..7b58dae 100644
|
|||
select CPU_32v6
|
||||
select CPU_ABRT_EV6
|
||||
select CPU_CACHE_V6
|
||||
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S
|
||||
index d0390f4..a042de8 100644
|
||||
--- a/arch/arm/mm/proc-v6.S
|
||||
+++ b/arch/arm/mm/proc-v6.S
|
||||
@@ -73,10 +73,19 @@ ENDPROC(cpu_v6_reset)
|
||||
|
@ -5071,8 +4960,6 @@ index d0390f4..a042de8 100644
|
|||
ret lr
|
||||
|
||||
ENTRY(cpu_v6_dcache_clean_area)
|
||||
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
|
||||
index a10297d..c9ddd87 100644
|
||||
--- a/arch/arm/tools/mach-types
|
||||
+++ b/arch/arm/tools/mach-types
|
||||
@@ -522,6 +522,7 @@ torbreck MACH_TORBRECK TORBRECK 3090
|
||||
|
@ -5083,8 +4970,6 @@ index a10297d..c9ddd87 100644
|
|||
ag5evm MACH_AG5EVM AG5EVM 3189
|
||||
ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206
|
||||
wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207
|
||||
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
|
||||
index 02016fc..fed2b92 100644
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -84,7 +84,7 @@ struct vendor_data {
|
||||
|
@ -5096,8 +4981,6 @@ index 02016fc..fed2b92 100644
|
|||
}
|
||||
|
||||
static struct vendor_data vendor_arm = {
|
||||
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
|
||||
index df0c153..c226105 100644
|
||||
--- a/include/linux/mmc/host.h
|
||||
+++ b/include/linux/mmc/host.h
|
||||
@@ -290,6 +290,7 @@ struct mmc_host {
|
||||
|
@ -5108,8 +4991,6 @@ index df0c153..c226105 100644
|
|||
|
||||
mmc_pm_flag_t pm_caps; /* supported pm features */
|
||||
|
||||
diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
|
||||
index dba793e..9300f87 100644
|
||||
--- a/include/linux/mmc/sdhci.h
|
||||
+++ b/include/linux/mmc/sdhci.h
|
||||
@@ -130,6 +130,7 @@ struct sdhci_host {
|
||||
|
@ -5120,6 +5001,3 @@ index dba793e..9300f87 100644
|
|||
|
||||
unsigned int version; /* SDHCI spec. version */
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
20
target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch
Executable file → Normal file
20
target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch
Executable file → Normal file
|
@ -45,8 +45,6 @@ Issue: linux #760
|
|||
create mode 100644 arch/arm/mach-bcm2708/include/mach/gpio.h
|
||||
create mode 100644 include/linux/platform_data/bcm2708.h
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
|
||||
index 1f11478..9355841 100644
|
||||
--- a/arch/arm/mach-bcm2708/Kconfig
|
||||
+++ b/arch/arm/mach-bcm2708/Kconfig
|
||||
@@ -9,6 +9,14 @@ config MACH_BCM2708
|
||||
|
@ -64,8 +62,6 @@ index 1f11478..9355841 100644
|
|||
config BCM2708_VCMEM
|
||||
bool "Videocore Memory"
|
||||
depends on MACH_BCM2708
|
||||
diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile
|
||||
index c76f39bc..a722f3f 100644
|
||||
--- a/arch/arm/mach-bcm2708/Makefile
|
||||
+++ b/arch/arm/mach-bcm2708/Makefile
|
||||
@@ -3,4 +3,5 @@
|
||||
|
@ -74,11 +70,9 @@ index c76f39bc..a722f3f 100644
|
|||
obj-$(CONFIG_MACH_BCM2708) += clock.o bcm2708.o armctrl.o vcio.o power.o dma.o
|
||||
+obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o
|
||||
obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 9b4e709..7503649 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -331,6 +331,31 @@ static struct platform_device bcm2708_vcio_device = {
|
||||
@@ -331,6 +331,31 @@ static struct platform_device bcm2708_vc
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -120,9 +114,6 @@ index 9b4e709..7503649 100644
|
|||
bcm_register_device(&bcm2708_systemtimer_device);
|
||||
bcm_register_device(&bcm2708_fb_device);
|
||||
bcm_register_device(&bcm2708_usb_device);
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708_gpio.c b/arch/arm/mach-bcm2708/bcm2708_gpio.c
|
||||
new file mode 100644
|
||||
index 0000000..c1e9254
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708_gpio.c
|
||||
@@ -0,0 +1,426 @@
|
||||
|
@ -552,9 +543,6 @@ index 0000000..c1e9254
|
|||
+
|
||||
+MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/gpio.h b/arch/arm/mach-bcm2708/include/mach/gpio.h
|
||||
new file mode 100644
|
||||
index 0000000..7965a97
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/gpio.h
|
||||
@@ -0,0 +1,17 @@
|
||||
|
@ -575,9 +563,6 @@ index 0000000..7965a97
|
|||
+#define irq_to_gpio(x) ((x) - GPIO_IRQ_START)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/include/linux/platform_data/bcm2708.h b/include/linux/platform_data/bcm2708.h
|
||||
new file mode 100644
|
||||
index 0000000..fb69624
|
||||
--- /dev/null
|
||||
+++ b/include/linux/platform_data/bcm2708.h
|
||||
@@ -0,0 +1,23 @@
|
||||
|
@ -604,6 +589,3 @@ index 0000000..fb69624
|
|||
+ bcm2708_gpio_pull_t value);
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
6
target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch
Executable file → Normal file
6
target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch
Executable file → Normal file
|
@ -10,9 +10,6 @@ No modules are needed and it includes all Pi specific drivers
|
|||
1 file changed, 197 insertions(+)
|
||||
create mode 100644 arch/arm/configs/bcmrpi_quick_defconfig
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_quick_defconfig b/arch/arm/configs/bcmrpi_quick_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..e5efe75
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcmrpi_quick_defconfig
|
||||
@@ -0,0 +1,197 @@
|
||||
|
@ -213,6 +210,3 @@ index 0000000..e5efe75
|
|||
+# CONFIG_CRYPTO_HW is not set
|
||||
+CONFIG_CRC_ITU_T=y
|
||||
+CONFIG_LIBCRC32C=y
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
209
target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
Executable file → Normal file
209
target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
Executable file → Normal file
|
@ -137,8 +137,6 @@ Signed-off-by: Kari Suvanto <karis79@gmail.com>
|
|||
create mode 100644 drivers/usb/host/dwc_otg/test/test_mod_param.pl
|
||||
create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl
|
||||
|
||||
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
|
||||
index d7be717..f48b630 100644
|
||||
--- a/drivers/usb/Makefile
|
||||
+++ b/drivers/usb/Makefile
|
||||
@@ -24,6 +24,7 @@ obj-$(CONFIG_USB_U132_HCD) += host/
|
||||
|
@ -149,11 +147,9 @@ index d7be717..f48b630 100644
|
|||
obj-$(CONFIG_USB_IMX21_HCD) += host/
|
||||
obj-$(CONFIG_USB_FSL_MPH_DR_OF) += host/
|
||||
obj-$(CONFIG_USB_FUSBH200_HCD) += host/
|
||||
diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c
|
||||
index 358ca8d..abaac7c 100644
|
||||
--- a/drivers/usb/core/generic.c
|
||||
+++ b/drivers/usb/core/generic.c
|
||||
@@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_device *udev)
|
||||
@@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_
|
||||
dev_warn(&udev->dev,
|
||||
"no configuration chosen from %d choice%s\n",
|
||||
num_configs, plural(num_configs));
|
||||
|
@ -161,8 +157,6 @@ index 358ca8d..abaac7c 100644
|
|||
}
|
||||
return i;
|
||||
}
|
||||
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
|
||||
index f7b7713..5423d18 100644
|
||||
--- a/drivers/usb/core/message.c
|
||||
+++ b/drivers/usb/core/message.c
|
||||
@@ -1889,6 +1889,85 @@ free_interfaces:
|
||||
|
@ -251,8 +245,6 @@ index f7b7713..5423d18 100644
|
|||
|
||||
/* Now that the interfaces are installed, re-enable LPM. */
|
||||
usb_unlocked_enable_lpm(dev);
|
||||
diff --git a/drivers/usb/core/otg_whitelist.h b/drivers/usb/core/otg_whitelist.h
|
||||
index a6315ab..165dd53 100644
|
||||
--- a/drivers/usb/core/otg_whitelist.h
|
||||
+++ b/drivers/usb/core/otg_whitelist.h
|
||||
@@ -19,33 +19,82 @@
|
||||
|
@ -344,7 +336,7 @@ index a6315ab..165dd53 100644
|
|||
static int is_targeted(struct usb_device *dev)
|
||||
{
|
||||
struct usb_device_id *id = whitelist_table;
|
||||
@@ -95,16 +144,57 @@ static int is_targeted(struct usb_device *dev)
|
||||
@@ -95,16 +144,57 @@ static int is_targeted(struct usb_device
|
||||
continue;
|
||||
|
||||
return 1;
|
||||
|
@ -367,15 +359,11 @@ index a6315ab..165dd53 100644
|
|||
+ if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) &&
|
||||
+ id->idVendor != le16_to_cpu(dev->descriptor.idVendor))
|
||||
+ continue;
|
||||
|
||||
+
|
||||
+ if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) &&
|
||||
+ id->idProduct != le16_to_cpu(dev->descriptor.idProduct))
|
||||
+ continue;
|
||||
|
||||
- /* OTG MESSAGE: report errors here, customize to match your product */
|
||||
- dev_err(&dev->dev, "device v%04x p%04x is not supported\n",
|
||||
- le16_to_cpu(dev->descriptor.idVendor),
|
||||
- le16_to_cpu(dev->descriptor.idProduct));
|
||||
+
|
||||
+ /* No need to test id->bcdDevice_lo != 0, since 0 is never
|
||||
+ greater than any unsigned number. */
|
||||
+ if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) &&
|
||||
|
@ -397,20 +385,21 @@ index a6315ab..165dd53 100644
|
|||
+ if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) &&
|
||||
+ (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol))
|
||||
+ continue;
|
||||
+
|
||||
|
||||
+ return 1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
||||
- /* OTG MESSAGE: report errors here, customize to match your product */
|
||||
- dev_err(&dev->dev, "device v%04x p%04x is not supported\n",
|
||||
- le16_to_cpu(dev->descriptor.idVendor),
|
||||
- le16_to_cpu(dev->descriptor.idProduct));
|
||||
+ /* add other match criteria here ... */
|
||||
|
||||
+ report_errors(dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c
|
||||
new file mode 100644
|
||||
index 0000000..a896d73
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/gadget/file_storage.c
|
||||
@@ -0,0 +1,3676 @@
|
||||
|
@ -4090,8 +4079,6 @@ index 0000000..a896d73
|
|||
+ kref_put(&fsg->ref, fsg_release);
|
||||
+}
|
||||
+module_exit(fsg_cleanup);
|
||||
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
|
||||
index a3ca137..4937c9c 100644
|
||||
--- a/drivers/usb/host/Kconfig
|
||||
+++ b/drivers/usb/host/Kconfig
|
||||
@@ -744,6 +744,19 @@ config USB_HWA_HCD
|
||||
|
@ -4114,8 +4101,6 @@ index a3ca137..4937c9c 100644
|
|||
config USB_IMX21_HCD
|
||||
tristate "i.MX21 HCD support"
|
||||
depends on ARM && ARCH_MXC
|
||||
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
|
||||
index 348c243..7ca1836 100644
|
||||
--- a/drivers/usb/host/Makefile
|
||||
+++ b/drivers/usb/host/Makefile
|
||||
@@ -71,6 +71,8 @@ obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o
|
||||
|
@ -4127,9 +4112,6 @@ index 348c243..7ca1836 100644
|
|||
obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o
|
||||
obj-$(CONFIG_USB_FSL_MPH_DR_OF) += fsl-mph-dr-of.o
|
||||
obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o
|
||||
diff --git a/drivers/usb/host/dwc_common_port/Makefile b/drivers/usb/host/dwc_common_port/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..f10d466
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/Makefile
|
||||
@@ -0,0 +1,58 @@
|
||||
|
@ -4191,9 +4173,6 @@ index 0000000..f10d466
|
|||
+
|
||||
+clean:
|
||||
+ rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
|
||||
diff --git a/drivers/usb/host/dwc_common_port/Makefile.fbsd b/drivers/usb/host/dwc_common_port/Makefile.fbsd
|
||||
new file mode 100644
|
||||
index 0000000..45db991
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd
|
||||
@@ -0,0 +1,17 @@
|
||||
|
@ -4214,9 +4193,6 @@ index 0000000..45db991
|
|||
+ dwc_common_fbsd.c dwc_mem.c
|
||||
+
|
||||
+.include <bsd.kmod.mk>
|
||||
diff --git a/drivers/usb/host/dwc_common_port/Makefile.linux b/drivers/usb/host/dwc_common_port/Makefile.linux
|
||||
new file mode 100644
|
||||
index 0000000..0cef7b4
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/Makefile.linux
|
||||
@@ -0,0 +1,49 @@
|
||||
|
@ -4269,9 +4245,6 @@ index 0000000..0cef7b4
|
|||
+
|
||||
+clean:
|
||||
+ rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
|
||||
diff --git a/drivers/usb/host/dwc_common_port/changes.txt b/drivers/usb/host/dwc_common_port/changes.txt
|
||||
new file mode 100644
|
||||
index 0000000..f6839f9
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/changes.txt
|
||||
@@ -0,0 +1,174 @@
|
||||
|
@ -4449,9 +4422,6 @@ index 0000000..f6839f9
|
|||
+A DWC_LIBMODULE #define has also been added. If this is not defined, then the
|
||||
+module code in dwc_common_linux.c is not compiled in. This allows linking the
|
||||
+library code directly into a driver module, instead of as a standalone module.
|
||||
diff --git a/drivers/usb/host/dwc_common_port/doc/doxygen.cfg b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
|
||||
new file mode 100644
|
||||
index 0000000..89aa887
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
|
||||
@@ -0,0 +1,270 @@
|
||||
|
@ -4725,9 +4695,6 @@ index 0000000..89aa887
|
|||
+# Configuration::additions related to the search engine
|
||||
+#---------------------------------------------------------------------------
|
||||
+SEARCHENGINE = NO
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.c b/drivers/usb/host/dwc_common_port/dwc_cc.c
|
||||
new file mode 100644
|
||||
index 0000000..5ec2ae2
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_cc.c
|
||||
@@ -0,0 +1,532 @@
|
||||
|
@ -5263,9 +5230,6 @@ index 0000000..5ec2ae2
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_CCLIB */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.h b/drivers/usb/host/dwc_common_port/dwc_cc.h
|
||||
new file mode 100644
|
||||
index 0000000..f86e6f2
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_cc.h
|
||||
@@ -0,0 +1,224 @@
|
||||
|
@ -5493,9 +5457,6 @@ index 0000000..f86e6f2
|
|||
+#endif
|
||||
+
|
||||
+#endif /* _DWC_CC_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
|
||||
new file mode 100644
|
||||
index 0000000..6dd04b5
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
|
||||
@@ -0,0 +1,1308 @@
|
||||
|
@ -6807,9 +6768,6 @@ index 0000000..6dd04b5
|
|||
+{
|
||||
+ return wq->pending;
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
new file mode 100644
|
||||
index 0000000..1668f10
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
@@ -0,0 +1,1429 @@
|
||||
|
@ -8242,9 +8200,6 @@ index 0000000..1668f10
|
|||
+MODULE_LICENSE ("GPL");
|
||||
+
|
||||
+#endif /* DWC_LIBMODULE */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
|
||||
new file mode 100644
|
||||
index 0000000..49b07e1
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
|
||||
@@ -0,0 +1,1275 @@
|
||||
|
@ -9523,9 +9478,6 @@ index 0000000..49b07e1
|
|||
+{
|
||||
+ return wq->pending;
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.c b/drivers/usb/host/dwc_common_port/dwc_crypto.c
|
||||
new file mode 100644
|
||||
index 0000000..3b03532
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c
|
||||
@@ -0,0 +1,308 @@
|
||||
|
@ -9837,9 +9789,6 @@ index 0000000..3b03532
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_CRYPTOLIB */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.h b/drivers/usb/host/dwc_common_port/dwc_crypto.h
|
||||
new file mode 100644
|
||||
index 0000000..26fcddc
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h
|
||||
@@ -0,0 +1,111 @@
|
||||
|
@ -9954,9 +9903,6 @@ index 0000000..26fcddc
|
|||
+#endif
|
||||
+
|
||||
+#endif /* _DWC_CRYPTO_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.c b/drivers/usb/host/dwc_common_port/dwc_dh.c
|
||||
new file mode 100644
|
||||
index 0000000..2b429a3
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_dh.c
|
||||
@@ -0,0 +1,291 @@
|
||||
|
@ -10251,9 +10197,6 @@ index 0000000..2b429a3
|
|||
+#endif /* !CONFIG_MACH_IPMATE */
|
||||
+
|
||||
+#endif /* DWC_CRYPTOLIB */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.h b/drivers/usb/host/dwc_common_port/dwc_dh.h
|
||||
new file mode 100644
|
||||
index 0000000..25c1cc0
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_dh.h
|
||||
@@ -0,0 +1,106 @@
|
||||
|
@ -10363,9 +10306,6 @@ index 0000000..25c1cc0
|
|||
+#endif
|
||||
+
|
||||
+#endif /* _DWC_DH_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h
|
||||
new file mode 100644
|
||||
index 0000000..89cc325
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_list.h
|
||||
@@ -0,0 +1,594 @@
|
||||
|
@ -10963,9 +10903,6 @@ index 0000000..89cc325
|
|||
+#endif
|
||||
+
|
||||
+#endif /* _DWC_LIST_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_mem.c b/drivers/usb/host/dwc_common_port/dwc_mem.c
|
||||
new file mode 100644
|
||||
index 0000000..ad645ff
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_mem.c
|
||||
@@ -0,0 +1,245 @@
|
||||
|
@ -11214,9 +11151,6 @@ index 0000000..ad645ff
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_DEBUG_MEMORY */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.c b/drivers/usb/host/dwc_common_port/dwc_modpow.c
|
||||
new file mode 100644
|
||||
index 0000000..2004538
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c
|
||||
@@ -0,0 +1,636 @@
|
||||
|
@ -11856,9 +11790,6 @@ index 0000000..2004538
|
|||
+#endif /* CONFIG_MACH_IPMATE */
|
||||
+
|
||||
+#endif /*DWC_CRYPTOLIB */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.h b/drivers/usb/host/dwc_common_port/dwc_modpow.h
|
||||
new file mode 100644
|
||||
index 0000000..64f00c2
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h
|
||||
@@ -0,0 +1,34 @@
|
||||
|
@ -11896,9 +11827,6 @@ index 0000000..64f00c2
|
|||
+#endif
|
||||
+
|
||||
+#endif /* _LINUX_BIGNUM_H */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.c b/drivers/usb/host/dwc_common_port/dwc_notifier.c
|
||||
new file mode 100644
|
||||
index 0000000..8b3772a
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c
|
||||
@@ -0,0 +1,319 @@
|
||||
|
@ -12221,9 +12149,6 @@ index 0000000..8b3772a
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_NOTIFYLIB */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.h b/drivers/usb/host/dwc_common_port/dwc_notifier.h
|
||||
new file mode 100644
|
||||
index 0000000..4a8cdfe
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h
|
||||
@@ -0,0 +1,122 @@
|
||||
|
@ -12349,9 +12274,6 @@ index 0000000..4a8cdfe
|
|||
+#endif
|
||||
+
|
||||
+#endif /* __DWC_NOTIFIER_H__ */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h
|
||||
new file mode 100644
|
||||
index 0000000..8117731
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_os.h
|
||||
@@ -0,0 +1,1274 @@
|
||||
|
@ -13629,9 +13551,6 @@ index 0000000..8117731
|
|||
+#endif
|
||||
+
|
||||
+#endif /* _DWC_OS_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_common_port/usb.h b/drivers/usb/host/dwc_common_port/usb.h
|
||||
new file mode 100644
|
||||
index 0000000..27bda82
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_common_port/usb.h
|
||||
@@ -0,0 +1,946 @@
|
||||
|
@ -14581,9 +14500,6 @@ index 0000000..27bda82
|
|||
+#endif
|
||||
+
|
||||
+#endif /* _USB_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..236c47c
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/Makefile
|
||||
@@ -0,0 +1,80 @@
|
||||
|
@ -14667,9 +14583,6 @@ index 0000000..236c47c
|
|||
+ rm -rf *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers
|
||||
+
|
||||
+endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/doc/doxygen.cfg b/drivers/usb/host/dwc_otg/doc/doxygen.cfg
|
||||
new file mode 100644
|
||||
index 0000000..712b057
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg
|
||||
@@ -0,0 +1,224 @@
|
||||
|
@ -14897,9 +14810,6 @@ index 0000000..712b057
|
|||
+# Configuration::additions related to the search engine
|
||||
+#---------------------------------------------------------------------------
|
||||
+SEARCHENGINE = NO
|
||||
diff --git a/drivers/usb/host/dwc_otg/dummy_audio.c b/drivers/usb/host/dwc_otg/dummy_audio.c
|
||||
new file mode 100644
|
||||
index 0000000..225decf
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dummy_audio.c
|
||||
@@ -0,0 +1,1575 @@
|
||||
|
@ -16478,9 +16388,6 @@ index 0000000..225decf
|
|||
+ remove_proc_entry("isoc_test", NULL);
|
||||
+}
|
||||
+module_exit (cleanup);
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_cfi_common.h b/drivers/usb/host/dwc_otg/dwc_cfi_common.h
|
||||
new file mode 100644
|
||||
index 0000000..7770e20
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h
|
||||
@@ -0,0 +1,142 @@
|
||||
|
@ -16626,9 +16533,6 @@ index 0000000..7770e20
|
|||
+typedef struct cfi_string cfi_string_t;
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.c b/drivers/usb/host/dwc_otg/dwc_otg_adp.c
|
||||
new file mode 100644
|
||||
index 0000000..ce0618d
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c
|
||||
@@ -0,0 +1,854 @@
|
||||
|
@ -17486,9 +17390,6 @@ index 0000000..ce0618d
|
|||
+#endif
|
||||
+ return 1;
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.h b/drivers/usb/host/dwc_otg/dwc_otg_adp.h
|
||||
new file mode 100644
|
||||
index 0000000..4110b25
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h
|
||||
@@ -0,0 +1,80 @@
|
||||
|
@ -17572,9 +17473,6 @@ index 0000000..4110b25
|
|||
+extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if);
|
||||
+
|
||||
+#endif //__DWC_OTG_ADP_H__
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
|
||||
new file mode 100644
|
||||
index 0000000..fab2961
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
|
||||
@@ -0,0 +1,1210 @@
|
||||
|
@ -18788,9 +18686,6 @@ index 0000000..fab2961
|
|||
+ device_remove_file(&dev->dev, &dev_attr_sleep_status);
|
||||
+#endif
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h
|
||||
new file mode 100644
|
||||
index 0000000..e10b67f
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h
|
||||
@@ -0,0 +1,89 @@
|
||||
|
@ -18883,9 +18778,6 @@ index 0000000..e10b67f
|
|||
+#endif
|
||||
+ );
|
||||
+#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.c b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
|
||||
new file mode 100644
|
||||
index 0000000..bbb3d32
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
|
||||
@@ -0,0 +1,1876 @@
|
||||
|
@ -20765,9 +20657,6 @@ index 0000000..bbb3d32
|
|||
+}
|
||||
+
|
||||
+#endif //DWC_UTE_CFI
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.h b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
|
||||
new file mode 100644
|
||||
index 0000000..55fd337
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
|
||||
@@ -0,0 +1,320 @@
|
||||
|
@ -21091,9 +20980,6 @@ index 0000000..55fd337
|
|||
+int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl);
|
||||
+
|
||||
+#endif /* (__DWC_OTG_CFI_H__) */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
|
||||
new file mode 100644
|
||||
index 0000000..6a32c5c
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
|
||||
@@ -0,0 +1,7151 @@
|
||||
|
@ -28248,9 +28134,6 @@ index 0000000..6a32c5c
|
|||
+ dwc_otg_pcd_start_srp_timer(core_if);
|
||||
+ return;
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.h b/drivers/usb/host/dwc_otg/dwc_otg_cil.h
|
||||
new file mode 100644
|
||||
index 0000000..79dbf83
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h
|
||||
@@ -0,0 +1,1464 @@
|
||||
|
@ -29718,9 +29601,6 @@ index 0000000..79dbf83
|
|||
+//////////////////////////////////////////////////////////////////////
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
new file mode 100644
|
||||
index 0000000..59fc862
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
@@ -0,0 +1,1563 @@
|
||||
|
@ -31287,9 +31167,6 @@ index 0000000..59fc862
|
|||
+
|
||||
+ return retval;
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_core_if.h b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
|
||||
new file mode 100644
|
||||
index 0000000..4138fd1
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
|
||||
@@ -0,0 +1,705 @@
|
||||
|
@ -31998,9 +31875,6 @@ index 0000000..4138fd1
|
|||
+/** @} */
|
||||
+
|
||||
+#endif /* __DWC_CORE_IF_H__ */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
|
||||
new file mode 100644
|
||||
index 0000000..8900318
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
|
||||
@@ -0,0 +1,116 @@
|
||||
|
@ -32120,9 +31994,6 @@ index 0000000..8900318
|
|||
+
|
||||
+#endif /*DEBUG*/
|
||||
+#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
new file mode 100644
|
||||
index 0000000..ac2c846
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
@@ -0,0 +1,1700 @@
|
||||
|
@ -33826,9 +33697,6 @@ index 0000000..ac2c846
|
|||
+ </td></tr>
|
||||
+
|
||||
+*/
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.h b/drivers/usb/host/dwc_otg/dwc_otg_driver.h
|
||||
new file mode 100644
|
||||
index 0000000..6a8be63
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h
|
||||
@@ -0,0 +1,86 @@
|
||||
|
@ -33918,9 +33786,6 @@ index 0000000..6a8be63
|
|||
+#endif
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
new file mode 100644
|
||||
index 0000000..1e89549
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
@@ -0,0 +1,3479 @@
|
||||
|
@ -37403,9 +37268,6 @@ index 0000000..1e89549
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
new file mode 100644
|
||||
index 0000000..bb4f67a
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
@@ -0,0 +1,824 @@
|
||||
|
@ -38233,9 +38095,6 @@ index 0000000..bb4f67a
|
|||
+#endif
|
||||
+#endif
|
||||
+#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
|
||||
new file mode 100644
|
||||
index 0000000..274967b
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
|
||||
@@ -0,0 +1,1133 @@
|
||||
|
@ -39372,9 +39231,6 @@ index 0000000..274967b
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
|
||||
new file mode 100644
|
||||
index 0000000..4823167
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
|
||||
@@ -0,0 +1,412 @@
|
||||
|
@ -39790,9 +39646,6 @@ index 0000000..4823167
|
|||
+
|
||||
+#endif /* __DWC_HCD_IF_H__ */
|
||||
+#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
new file mode 100644
|
||||
index 0000000..b41e164
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
@@ -0,0 +1,2106 @@
|
||||
|
@ -41902,9 +41755,6 @@ index 0000000..b41e164
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
new file mode 100644
|
||||
index 0000000..e4787f5
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
@@ -0,0 +1,893 @@
|
||||
|
@ -42801,9 +42651,6 @@ index 0000000..e4787f5
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
new file mode 100644
|
||||
index 0000000..0a1cbb7
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
@@ -0,0 +1,923 @@
|
||||
|
@ -43730,9 +43577,6 @@ index 0000000..0a1cbb7
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
|
||||
new file mode 100644
|
||||
index 0000000..e46d9bb
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
|
||||
@@ -0,0 +1,185 @@
|
||||
|
@ -43921,9 +43765,6 @@ index 0000000..e46d9bb
|
|||
+
|
||||
+
|
||||
+#endif /* _DWC_OS_DEP_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
|
||||
new file mode 100644
|
||||
index 0000000..ae0c72d
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
|
||||
@@ -0,0 +1,2712 @@
|
||||
|
@ -46639,9 +46480,6 @@ index 0000000..ae0c72d
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_HOST_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
|
||||
new file mode 100644
|
||||
index 0000000..8ef7ba6
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
|
||||
@@ -0,0 +1,266 @@
|
||||
|
@ -46911,9 +46749,6 @@ index 0000000..8ef7ba6
|
|||
+extern void do_test_mode(void *data);
|
||||
+#endif
|
||||
+#endif /* DWC_HOST_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
|
||||
new file mode 100644
|
||||
index 0000000..c8d2e0e
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
|
||||
@@ -0,0 +1,360 @@
|
||||
|
@ -47277,9 +47112,6 @@ index 0000000..c8d2e0e
|
|||
+#endif /* __DWC_PCD_IF_H__ */
|
||||
+
|
||||
+#endif /* DWC_HOST_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
|
||||
new file mode 100644
|
||||
index 0000000..1b1f83c
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
|
||||
@@ -0,0 +1,5147 @@
|
||||
|
@ -52430,9 +52262,6 @@ index 0000000..1b1f83c
|
|||
+}
|
||||
+
|
||||
+#endif /* DWC_HOST_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
|
||||
new file mode 100644
|
||||
index 0000000..5d310df
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
|
||||
@@ -0,0 +1,1358 @@
|
||||
|
@ -53794,9 +53623,6 @@ index 0000000..5d310df
|
|||
+EXPORT_SYMBOL(usb_gadget_unregister_driver);
|
||||
+
|
||||
+#endif /* DWC_HOST_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_regs.h b/drivers/usb/host/dwc_otg/dwc_otg_regs.h
|
||||
new file mode 100644
|
||||
index 0000000..8e0e7b5
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h
|
||||
@@ -0,0 +1,2550 @@
|
||||
|
@ -56350,9 +56176,6 @@ index 0000000..8e0e7b5
|
|||
+} gpwrdn_data_t;
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/test/Makefile b/drivers/usb/host/dwc_otg/test/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..fc45375
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/test/Makefile
|
||||
@@ -0,0 +1,16 @@
|
||||
|
@ -56372,9 +56195,6 @@ index 0000000..fc45375
|
|||
+ else echo "=======> $$test, FAILED" ; \
|
||||
+ fi \
|
||||
+ done
|
||||
diff --git a/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
|
||||
new file mode 100644
|
||||
index 0000000..85e55fd
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
|
||||
@@ -0,0 +1,337 @@
|
||||
|
@ -56715,9 +56535,6 @@ index 0000000..85e55fd
|
|||
+);
|
||||
+
|
||||
+1;
|
||||
diff --git a/drivers/usb/host/dwc_otg/test/test_mod_param.pl b/drivers/usb/host/dwc_otg/test/test_mod_param.pl
|
||||
new file mode 100644
|
||||
index 0000000..dc3820d
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl
|
||||
@@ -0,0 +1,133 @@
|
||||
|
@ -56854,9 +56671,6 @@ index 0000000..dc3820d
|
|||
+
|
||||
+test_main();
|
||||
+0;
|
||||
diff --git a/drivers/usb/host/dwc_otg/test/test_sysfs.pl b/drivers/usb/host/dwc_otg/test/test_sysfs.pl
|
||||
new file mode 100644
|
||||
index 0000000..cdc9963
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl
|
||||
@@ -0,0 +1,193 @@
|
||||
|
@ -57053,6 +56867,3 @@ index 0000000..cdc9963
|
|||
+
|
||||
+test_main();
|
||||
+0;
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
12
target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch
Executable file → Normal file
12
target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch
Executable file → Normal file
|
@ -11,8 +11,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
|||
3 files changed, 389 insertions(+)
|
||||
create mode 100644 drivers/watchdog/bcm2708_wdog.c
|
||||
|
||||
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
|
||||
index d0107d4..ff56894 100644
|
||||
--- a/drivers/watchdog/Kconfig
|
||||
+++ b/drivers/watchdog/Kconfig
|
||||
@@ -452,6 +452,12 @@ config RETU_WATCHDOG
|
||||
|
@ -28,11 +26,9 @@ index d0107d4..ff56894 100644
|
|||
config MOXART_WDT
|
||||
tristate "MOXART watchdog"
|
||||
depends on ARCH_MOXART
|
||||
diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
|
||||
index c569ec8..10e0665 100644
|
||||
--- a/drivers/watchdog/Makefile
|
||||
+++ b/drivers/watchdog/Makefile
|
||||
@@ -56,6 +56,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o
|
||||
@@ -56,6 +56,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_
|
||||
obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o
|
||||
obj-$(CONFIG_UX500_WATCHDOG) += ux500_wdt.o
|
||||
obj-$(CONFIG_RETU_WATCHDOG) += retu_wdt.o
|
||||
|
@ -40,9 +36,6 @@ index c569ec8..10e0665 100644
|
|||
obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o
|
||||
obj-$(CONFIG_MOXART_WDT) += moxart_wdt.o
|
||||
obj-$(CONFIG_SIRFSOC_WATCHDOG) += sirfsoc_wdt.o
|
||||
diff --git a/drivers/watchdog/bcm2708_wdog.c b/drivers/watchdog/bcm2708_wdog.c
|
||||
new file mode 100644
|
||||
index 0000000..8a27d68
|
||||
--- /dev/null
|
||||
+++ b/drivers/watchdog/bcm2708_wdog.c
|
||||
@@ -0,0 +1,382 @@
|
||||
|
@ -428,6 +421,3 @@ index 0000000..8a27d68
|
|||
+MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
|
||||
+MODULE_ALIAS_MISCDEV(TEMP_MINOR);
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
525
target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch
Executable file → Normal file
525
target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch
Executable file → Normal file
File diff suppressed because it is too large
Load diff
9
target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch
Executable file → Normal file
|
@ -32,8 +32,6 @@ Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
|
|||
drivers/video/fbdev/core/cfbimgblt.c | 152 +++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 147 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/video/fbdev/core/cfbimgblt.c b/drivers/video/fbdev/core/cfbimgblt.c
|
||||
index a2bb276..436494f 100644
|
||||
--- a/drivers/video/fbdev/core/cfbimgblt.c
|
||||
+++ b/drivers/video/fbdev/core/cfbimgblt.c
|
||||
@@ -28,6 +28,11 @@
|
||||
|
@ -48,7 +46,7 @@ index a2bb276..436494f 100644
|
|||
*/
|
||||
#include <linux/module.h>
|
||||
#include <linux/string.h>
|
||||
@@ -262,6 +267,133 @@ static inline void fast_imageblit(const struct fb_image *image, struct fb_info *
|
||||
@@ -262,6 +267,133 @@ static inline void fast_imageblit(const
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,7 +180,7 @@ index a2bb276..436494f 100644
|
|||
void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
|
||||
{
|
||||
u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0;
|
||||
@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
|
||||
@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, co
|
||||
bgcolor = image->bg_color;
|
||||
}
|
||||
|
||||
|
@ -209,6 +207,3 @@ index a2bb276..436494f 100644
|
|||
slow_imageblit(image, p, dst1, fgcolor, bgcolor,
|
||||
start_index, pitch_index);
|
||||
} else
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
15
target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch
Executable file → Normal file
15
target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch
Executable file → Normal file
|
@ -15,11 +15,9 @@ Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
|
|||
include/uapi/linux/fb.h | 5 +++++
|
||||
2 files changed, 35 insertions(+)
|
||||
|
||||
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
|
||||
index 0705d88..771992a 100644
|
||||
--- a/drivers/video/fbdev/core/fbmem.c
|
||||
+++ b/drivers/video/fbdev/core/fbmem.c
|
||||
@@ -1084,6 +1084,25 @@ fb_blank(struct fb_info *info, int blank)
|
||||
@@ -1084,6 +1084,25 @@ fb_blank(struct fb_info *info, int blank
|
||||
}
|
||||
EXPORT_SYMBOL(fb_blank);
|
||||
|
||||
|
@ -45,7 +43,7 @@ index 0705d88..771992a 100644
|
|||
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
|
||||
unsigned long arg)
|
||||
{
|
||||
@@ -1094,6 +1113,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
|
||||
@@ -1094,6 +1113,7 @@ static long do_fb_ioctl(struct fb_info *
|
||||
struct fb_cmap cmap_from;
|
||||
struct fb_cmap_user cmap;
|
||||
struct fb_event event;
|
||||
|
@ -53,7 +51,7 @@ index 0705d88..771992a 100644
|
|||
void __user *argp = (void __user *)arg;
|
||||
long ret = 0;
|
||||
|
||||
@@ -1211,6 +1231,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
|
||||
@@ -1211,6 +1231,15 @@ static long do_fb_ioctl(struct fb_info *
|
||||
unlock_fb_info(info);
|
||||
console_unlock();
|
||||
break;
|
||||
|
@ -69,7 +67,7 @@ index 0705d88..771992a 100644
|
|||
default:
|
||||
if (!lock_fb_info(info))
|
||||
return -ENODEV;
|
||||
@@ -1365,6 +1394,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd,
|
||||
@@ -1365,6 +1394,7 @@ static long fb_compat_ioctl(struct file
|
||||
case FBIOPAN_DISPLAY:
|
||||
case FBIOGET_CON2FBMAP:
|
||||
case FBIOPUT_CON2FBMAP:
|
||||
|
@ -77,8 +75,6 @@ index 0705d88..771992a 100644
|
|||
arg = (unsigned long) compat_ptr(arg);
|
||||
case FBIOBLANK:
|
||||
ret = do_fb_ioctl(info, cmd, arg);
|
||||
diff --git a/include/uapi/linux/fb.h b/include/uapi/linux/fb.h
|
||||
index fb795c3..fa72af0 100644
|
||||
--- a/include/uapi/linux/fb.h
|
||||
+++ b/include/uapi/linux/fb.h
|
||||
@@ -34,6 +34,11 @@
|
||||
|
@ -93,6 +89,3 @@ index fb795c3..fa72af0 100644
|
|||
|
||||
#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
|
||||
#define FB_TYPE_PLANES 1 /* Non interleaved planes */
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
20
target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch
Executable file → Normal file
20
target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch
Executable file → Normal file
|
@ -55,11 +55,9 @@ Signed-off-by: Luke Diamand <luke@diamand.org>
|
|||
6 files changed, 1724 insertions(+), 1602 deletions(-)
|
||||
create mode 100644 drivers/video/fbdev/bcm2708_fb.c
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c
|
||||
index 51d147a..1da2413 100644
|
||||
--- a/arch/arm/mach-bcm2708/dma.c
|
||||
+++ b/arch/arm/mach-bcm2708/dma.c
|
||||
@@ -83,6 +83,14 @@ extern void bcm_dma_wait_idle(void __iomem *dma_chan_base)
|
||||
@@ -83,6 +83,14 @@ extern void bcm_dma_wait_idle(void __iom
|
||||
|
||||
EXPORT_SYMBOL_GPL(bcm_dma_start);
|
||||
|
||||
|
@ -74,8 +72,6 @@ index 51d147a..1da2413 100644
|
|||
/* Complete an ongoing DMA (assuming its results are to be ignored)
|
||||
Does nothing if there is no DMA in progress.
|
||||
This routine waits for the current AXI transfer to complete before
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
index f2568d4..a4aac4c 100644
|
||||
--- a/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
@@ -64,11 +64,13 @@ struct bcm2708_dma_cb {
|
||||
|
@ -92,8 +88,6 @@ index f2568d4..a4aac4c 100644
|
|||
extern int /*rc*/ bcm_dma_abort(void __iomem *dma_chan_base);
|
||||
|
||||
/* When listing features we can ask for when allocating DMA channels give
|
||||
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
|
||||
index c7bf606..0349473 100644
|
||||
--- a/drivers/video/fbdev/Kconfig
|
||||
+++ b/drivers/video/fbdev/Kconfig
|
||||
@@ -224,6 +224,20 @@ config FB_TILEBLITTING
|
||||
|
@ -117,11 +111,9 @@ index c7bf606..0349473 100644
|
|||
config FB_GRVGA
|
||||
tristate "Aeroflex Gaisler framebuffer support"
|
||||
depends on FB && SPARC
|
||||
diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile
|
||||
index 1979aff..57181ad 100644
|
||||
--- a/drivers/video/fbdev/Makefile
|
||||
+++ b/drivers/video/fbdev/Makefile
|
||||
@@ -12,6 +12,7 @@ obj-$(CONFIG_FB_MACMODES) += macmodes.o
|
||||
@@ -12,6 +12,7 @@ obj-$(CONFIG_FB_MACMODES) += macmod
|
||||
obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o
|
||||
|
||||
# Hardware specific drivers go first
|
||||
|
@ -129,9 +121,6 @@ index 1979aff..57181ad 100644
|
|||
obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o
|
||||
obj-$(CONFIG_FB_ARC) += arcfb.o
|
||||
obj-$(CONFIG_FB_CLPS711X) += clps711x-fb.o
|
||||
diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c
|
||||
new file mode 100644
|
||||
index 0000000..dcc4de2
|
||||
--- /dev/null
|
||||
+++ b/drivers/video/fbdev/bcm2708_fb.c
|
||||
@@ -0,0 +1,818 @@
|
||||
|
@ -953,8 +942,6 @@ index 0000000..dcc4de2
|
|||
+MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer");
|
||||
+MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer");
|
||||
+MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes");
|
||||
diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm
|
||||
index 3c14e43..7626beb 100644
|
||||
--- a/drivers/video/logo/logo_linux_clut224.ppm
|
||||
+++ b/drivers/video/logo/logo_linux_clut224.ppm
|
||||
@@ -1,1604 +1,883 @@
|
||||
|
@ -3443,6 +3430,3 @@ index 3c14e43..7626beb 100644
|
|||
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
+0 0 0 0 0 0 0 0 0
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
103
target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch
Executable file → Normal file
103
target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch
Executable file → Normal file
|
@ -122,8 +122,6 @@ described above.
|
|||
create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
|
||||
create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
|
||||
|
||||
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
|
||||
index bbeb451..b6109a2 100644
|
||||
--- a/drivers/misc/Kconfig
|
||||
+++ b/drivers/misc/Kconfig
|
||||
@@ -524,6 +524,7 @@ source "drivers/misc/carma/Kconfig"
|
||||
|
@ -134,8 +132,6 @@ index bbeb451..b6109a2 100644
|
|||
source "drivers/misc/mic/Kconfig"
|
||||
source "drivers/misc/genwqe/Kconfig"
|
||||
source "drivers/misc/echo/Kconfig"
|
||||
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
|
||||
index 7d5c4cd..c085ede 100644
|
||||
--- a/drivers/misc/Makefile
|
||||
+++ b/drivers/misc/Makefile
|
||||
@@ -51,6 +51,7 @@ obj-$(CONFIG_INTEL_MEI) += mei/
|
||||
|
@ -146,9 +142,6 @@ index 7d5c4cd..c085ede 100644
|
|||
obj-y += mic/
|
||||
obj-$(CONFIG_GENWQE) += genwqe/
|
||||
obj-$(CONFIG_ECHO) += echo/
|
||||
diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000..2663933
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/Kconfig
|
||||
@@ -0,0 +1,9 @@
|
||||
|
@ -161,9 +154,6 @@ index 0000000..2663933
|
|||
+ BCM2708 family of products.
|
||||
+ Defaults to Y when the Broadcom Videocore services
|
||||
+ are included in the build, N otherwise.
|
||||
diff --git a/drivers/misc/vc04_services/Makefile b/drivers/misc/vc04_services/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..0c82520
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/Makefile
|
||||
@@ -0,0 +1,17 @@
|
||||
|
@ -184,9 +174,6 @@ index 0000000..0c82520
|
|||
+ccflags-y += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000
|
||||
+
|
||||
+endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchi/connections/connection.h b/drivers/misc/vc04_services/interface/vchi/connections/connection.h
|
||||
new file mode 100644
|
||||
index 0000000..fef6ac3
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchi/connections/connection.h
|
||||
@@ -0,0 +1,328 @@
|
||||
|
@ -518,9 +505,6 @@ index 0000000..fef6ac3
|
|||
+#endif /* CONNECTION_H_ */
|
||||
+
|
||||
+/****************************** End of file **********************************/
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
|
||||
new file mode 100644
|
||||
index 0000000..8b3f767
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
|
||||
@@ -0,0 +1,204 @@
|
||||
|
@ -728,9 +712,6 @@ index 0000000..8b3f767
|
|||
+#endif // _VCHI_MESSAGE_H_
|
||||
+
|
||||
+/****************************** End of file ***********************************/
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchi/vchi.h b/drivers/misc/vc04_services/interface/vchi/vchi.h
|
||||
new file mode 100644
|
||||
index 0000000..1b17e98
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchi/vchi.h
|
||||
@@ -0,0 +1,378 @@
|
||||
|
@ -1112,9 +1093,6 @@ index 0000000..1b17e98
|
|||
+#endif /* VCHI_H_ */
|
||||
+
|
||||
+/****************************** End of file **********************************/
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
|
||||
new file mode 100644
|
||||
index 0000000..26bc2d3
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
|
||||
@@ -0,0 +1,224 @@
|
||||
|
@ -1342,9 +1320,6 @@ index 0000000..26bc2d3
|
|||
+#endif /* VCHI_CFG_H_ */
|
||||
+
|
||||
+/****************************** End of file **********************************/
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
|
||||
new file mode 100644
|
||||
index 0000000..35dcba4
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
|
||||
@@ -0,0 +1,71 @@
|
||||
|
@ -1419,9 +1394,6 @@ index 0000000..35dcba4
|
|||
+//#define VCHI_RX_NANOLOCKS
|
||||
+
|
||||
+#endif /*VCHI_CFG_INTERNAL_H_*/
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_common.h b/drivers/misc/vc04_services/interface/vchi/vchi_common.h
|
||||
new file mode 100644
|
||||
index 0000000..d76118c
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_common.h
|
||||
@@ -0,0 +1,174 @@
|
||||
|
@ -1599,9 +1571,6 @@ index 0000000..d76118c
|
|||
+
|
||||
+
|
||||
+#endif // VCHI_COMMON_H_
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_mh.h b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
|
||||
new file mode 100644
|
||||
index 0000000..198bd07
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
|
||||
@@ -0,0 +1,42 @@
|
||||
|
@ -1647,9 +1616,6 @@ index 0000000..198bd07
|
|||
+#define VCHI_MEM_HANDLE_INVALID 0
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
|
||||
new file mode 100644
|
||||
index 0000000..ad398ba
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
|
||||
@@ -0,0 +1,40 @@
|
||||
|
@ -1693,9 +1659,6 @@ index 0000000..ad398ba
|
|||
+#include "vchiq_util.h"
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
|
||||
new file mode 100644
|
||||
index 0000000..7ea5c64
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
|
||||
@@ -0,0 +1,42 @@
|
||||
|
@ -1741,9 +1704,6 @@ index 0000000..7ea5c64
|
|||
+#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX 1
|
||||
+
|
||||
+#endif /* VCHIQ_2835_H */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
|
||||
new file mode 100644
|
||||
index 0000000..b3bdaa2
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
|
||||
@@ -0,0 +1,561 @@
|
||||
|
@ -2308,9 +2268,6 @@ index 0000000..b3bdaa2
|
|||
+
|
||||
+ kfree(pagelist);
|
||||
+}
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
new file mode 100644
|
||||
index 0000000..2596818
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
@@ -0,0 +1,2883 @@
|
||||
|
@ -5197,9 +5154,6 @@ index 0000000..2596818
|
|||
+module_exit(vchiq_exit);
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Broadcom Corporation");
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
|
||||
new file mode 100644
|
||||
index 0000000..d1e2741
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
|
||||
@@ -0,0 +1,223 @@
|
||||
|
@ -5426,9 +5380,6 @@ index 0000000..d1e2741
|
|||
+
|
||||
+
|
||||
+#endif /* VCHIQ_ARM_H */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
|
||||
new file mode 100644
|
||||
index 0000000..df64581
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
|
||||
@@ -0,0 +1,37 @@
|
||||
|
@ -5469,9 +5420,6 @@ index 0000000..df64581
|
|||
+const char *vchiq_get_build_version(void);
|
||||
+const char *vchiq_get_build_time(void);
|
||||
+const char *vchiq_get_build_date(void);
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
|
||||
new file mode 100644
|
||||
index 0000000..c382740
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
|
||||
@@ -0,0 +1,66 @@
|
||||
|
@ -5541,9 +5489,6 @@ index 0000000..c382740
|
|||
+#endif
|
||||
+
|
||||
+#endif /* VCHIQ_CFG_H */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
|
||||
new file mode 100644
|
||||
index 0000000..65f4b52
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
|
||||
@@ -0,0 +1,119 @@
|
||||
|
@ -5666,9 +5611,6 @@ index 0000000..65f4b52
|
|||
+ mutex_unlock(&g_connected_mutex);
|
||||
+}
|
||||
+EXPORT_SYMBOL(vchiq_add_connected_callback);
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
|
||||
new file mode 100644
|
||||
index 0000000..863b3e3
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
|
||||
@@ -0,0 +1,50 @@
|
||||
|
@ -5722,9 +5664,6 @@ index 0000000..863b3e3
|
|||
+void vchiq_call_connected_callbacks(void);
|
||||
+
|
||||
+#endif /* VCHIQ_CONNECTED_H */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
|
||||
new file mode 100644
|
||||
index 0000000..f962027
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
|
||||
@@ -0,0 +1,3861 @@
|
||||
|
@ -9589,9 +9528,6 @@ index 0000000..f962027
|
|||
+ numBytes = 0;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
|
||||
new file mode 100644
|
||||
index 0000000..1b27917
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
|
||||
@@ -0,0 +1,711 @@
|
||||
|
@ -10306,9 +10242,6 @@ index 0000000..1b27917
|
|||
+ size_t numBytes);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
|
||||
new file mode 100644
|
||||
index 0000000..7e03213
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
|
||||
@@ -0,0 +1,383 @@
|
||||
|
@ -10695,9 +10628,6 @@ index 0000000..7e03213
|
|||
+}
|
||||
+
|
||||
+#endif /* CONFIG_DEBUG_FS */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h
|
||||
new file mode 100644
|
||||
index 0000000..4d6a378
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h
|
||||
@@ -0,0 +1,52 @@
|
||||
|
@ -10753,9 +10683,6 @@ index 0000000..4d6a378
|
|||
+void vchiq_debugfs_remove_instance(VCHIQ_INSTANCE_T instance);
|
||||
+
|
||||
+#endif /* VCHIQ_DEBUGFS_H */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
|
||||
new file mode 100644
|
||||
index 0000000..9f5b634
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
|
||||
@@ -0,0 +1,87 @@
|
||||
|
@ -10846,9 +10773,6 @@ index 0000000..9f5b634
|
|||
+ return vchiq_build_time;
|
||||
+}
|
||||
+EOF
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
|
||||
new file mode 100644
|
||||
index 0000000..8067bbe
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
|
||||
@@ -0,0 +1,189 @@
|
||||
|
@ -11041,9 +10965,6 @@ index 0000000..8067bbe
|
|||
+ short *peer_version);
|
||||
+
|
||||
+#endif /* VCHIQ_IF_H */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
|
||||
new file mode 100644
|
||||
index 0000000..6137ae9
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
|
||||
@@ -0,0 +1,131 @@
|
||||
|
@ -11178,9 +11099,6 @@ index 0000000..6137ae9
|
|||
+#define VCHIQ_IOC_MAX 17
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
new file mode 100644
|
||||
index 0000000..be9735f
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
@@ -0,0 +1,456 @@
|
||||
|
@ -11640,9 +11558,6 @@ index 0000000..be9735f
|
|||
+
|
||||
+ return status;
|
||||
+}
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
|
||||
new file mode 100644
|
||||
index 0000000..d02e776
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
|
||||
@@ -0,0 +1,71 @@
|
||||
|
@ -11717,9 +11632,6 @@ index 0000000..d02e776
|
|||
+ const VCHIQ_PLATFORM_DATA_T * platform_data);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
|
||||
new file mode 100644
|
||||
index 0000000..54a3ece
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
|
||||
@@ -0,0 +1,58 @@
|
||||
|
@ -11781,9 +11693,6 @@ index 0000000..54a3ece
|
|||
+} FRAGMENTS_T;
|
||||
+
|
||||
+#endif /* VCHIQ_PAGELIST_H */
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
|
||||
new file mode 100644
|
||||
index 0000000..72eacdaf
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
|
||||
@@ -0,0 +1,853 @@
|
||||
|
@ -12640,9 +12549,6 @@ index 0000000..72eacdaf
|
|||
+ return ret;
|
||||
+}
|
||||
+EXPORT_SYMBOL(vchi_service_release);
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
|
||||
new file mode 100644
|
||||
index 0000000..c2eefef
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
|
||||
@@ -0,0 +1,151 @@
|
||||
|
@ -12797,9 +12703,6 @@ index 0000000..c2eefef
|
|||
+
|
||||
+ return header;
|
||||
+}
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
|
||||
new file mode 100644
|
||||
index 0000000..f4d0b66
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
|
||||
@@ -0,0 +1,81 @@
|
||||
|
@ -12884,9 +12787,6 @@ index 0000000..f4d0b66
|
|||
+extern VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
|
||||
new file mode 100644
|
||||
index 0000000..b6bfa21
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
|
||||
@@ -0,0 +1,59 @@
|
||||
|
@ -12949,6 +12849,3 @@ index 0000000..b6bfa21
|
|||
+{
|
||||
+ return vchiq_build_time;
|
||||
+}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
18
target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch
Executable file → Normal file
18
target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch
Executable file → Normal file
|
@ -15,8 +15,6 @@ vchiq: Include SIGSTOP and SIGCONT in list of signals not-masked by vchiq to all
|
|||
7 files changed, 75 insertions(+)
|
||||
create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
|
||||
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
|
||||
index b3bdaa2..7e7b09f 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
|
||||
@@ -56,6 +56,7 @@
|
||||
|
@ -27,8 +25,6 @@ index b3bdaa2..7e7b09f 100644
|
|||
|
||||
#define MAX_FRAGMENTS (VCHIQ_NUM_CURRENT_BULKS * 2)
|
||||
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
index 2596818..3e328ab 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
@@ -50,6 +50,7 @@
|
||||
|
@ -39,8 +35,6 @@ index 2596818..3e328ab 100644
|
|||
|
||||
#define DEVICE_NAME "vchiq"
|
||||
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
|
||||
index 65f4b52..5efc62f 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
|
||||
@@ -33,6 +33,7 @@
|
||||
|
@ -51,8 +45,6 @@ index 65f4b52..5efc62f 100644
|
|||
#include <linux/module.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
|
||||
index f962027..14a4155 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
|
||||
@@ -32,6 +32,7 @@
|
||||
|
@ -63,8 +55,6 @@ index f962027..14a4155 100644
|
|||
|
||||
#define VCHIQ_SLOT_HANDLER_STACK 8192
|
||||
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
index be9735f..5a4182e 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
@@ -39,6 +39,7 @@
|
||||
|
@ -75,9 +65,6 @@ index be9735f..5a4182e 100644
|
|||
|
||||
/* ---- Public Variables ------------------------------------------------- */
|
||||
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
|
||||
new file mode 100644
|
||||
index 0000000..335446e
|
||||
--- /dev/null
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
|
||||
@@ -0,0 +1,69 @@
|
||||
|
@ -150,8 +137,6 @@ index 0000000..335446e
|
|||
+#define mutex_lock_interruptible mutex_lock_interruptible_killable
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
|
||||
index c2eefef..05e7979 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
|
||||
@@ -32,6 +32,7 @@
|
||||
|
@ -162,6 +147,3 @@ index c2eefef..05e7979 100644
|
|||
|
||||
static inline int is_pow2(int i)
|
||||
{
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
24
target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
Executable file → Normal file
24
target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
Executable file → Normal file
|
@ -20,8 +20,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
|||
create mode 100644 drivers/char/broadcom/vc_cma/vc_cma.c
|
||||
create mode 100644 include/linux/broadcom/vc_cma.h
|
||||
|
||||
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
|
||||
index efefd12..aebd7ca 100644
|
||||
--- a/drivers/char/Kconfig
|
||||
+++ b/drivers/char/Kconfig
|
||||
@@ -581,6 +581,8 @@ config DEVPORT
|
||||
|
@ -33,8 +31,6 @@ index efefd12..aebd7ca 100644
|
|||
config MSM_SMD_PKT
|
||||
bool "Enable device interface for some SMD packet ports"
|
||||
default n
|
||||
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
|
||||
index d06cde26..a9f9daf 100644
|
||||
--- a/drivers/char/Makefile
|
||||
+++ b/drivers/char/Makefile
|
||||
@@ -62,3 +62,4 @@ js-rtc-y = rtc.o
|
||||
|
@ -42,9 +38,6 @@ index d06cde26..a9f9daf 100644
|
|||
obj-$(CONFIG_TILE_SROM) += tile-srom.o
|
||||
obj-$(CONFIG_XILLYBUS) += xillybus/
|
||||
+obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/
|
||||
diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000..2d8bd6e
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/broadcom/Kconfig
|
||||
@@ -0,0 +1,15 @@
|
||||
|
@ -63,16 +56,10 @@ index 0000000..2d8bd6e
|
|||
+ default n
|
||||
+ help
|
||||
+ Helper for videocore CMA access.
|
||||
diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..13c5bca
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/broadcom/Makefile
|
||||
@@ -0,0 +1 @@
|
||||
+obj-$(CONFIG_BCM_VC_CMA) += vc_cma/
|
||||
diff --git a/drivers/char/broadcom/vc_cma/Makefile b/drivers/char/broadcom/vc_cma/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..6a94de4
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/broadcom/vc_cma/Makefile
|
||||
@@ -0,0 +1,14 @@
|
||||
|
@ -90,9 +77,6 @@ index 0000000..6a94de4
|
|||
+obj-$(CONFIG_BCM_VC_CMA) += vc-cma.o
|
||||
+
|
||||
+vc-cma-objs := vc_cma.o
|
||||
diff --git a/drivers/char/broadcom/vc_cma/vc_cma.c b/drivers/char/broadcom/vc_cma/vc_cma.c
|
||||
new file mode 100644
|
||||
index 0000000..a635f9f
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/broadcom/vc_cma/vc_cma.c
|
||||
@@ -0,0 +1,1143 @@
|
||||
|
@ -1239,8 +1223,6 @@ index 0000000..a635f9f
|
|||
+module_exit(vc_cma_exit);
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Broadcom Corporation");
|
||||
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
|
||||
index c085ede..43d2ac9 100644
|
||||
--- a/drivers/misc/Makefile
|
||||
+++ b/drivers/misc/Makefile
|
||||
@@ -51,7 +51,7 @@ obj-$(CONFIG_INTEL_MEI) += mei/
|
||||
|
@ -1252,9 +1234,6 @@ index c085ede..43d2ac9 100644
|
|||
obj-y += mic/
|
||||
obj-$(CONFIG_GENWQE) += genwqe/
|
||||
obj-$(CONFIG_ECHO) += echo/
|
||||
diff --git a/include/linux/broadcom/vc_cma.h b/include/linux/broadcom/vc_cma.h
|
||||
new file mode 100644
|
||||
index 0000000..5325832
|
||||
--- /dev/null
|
||||
+++ b/include/linux/broadcom/vc_cma.h
|
||||
@@ -0,0 +1,29 @@
|
||||
|
@ -1287,6 +1266,3 @@ index 0000000..5325832
|
|||
+#endif
|
||||
+
|
||||
+#endif /* VC_CMA_H */
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
45
target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch
Executable file → Normal file
45
target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch
Executable file → Normal file
|
@ -44,8 +44,6 @@ snd-bcm2708: Fix dmesg spam for non-error case
|
|||
create mode 100755 sound/arm/bcm2835.h
|
||||
create mode 100644 sound/arm/vc_vchi_audioserv_defs.h
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 8950e53..63cb6a4 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -202,6 +202,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
|
@ -75,11 +73,9 @@ index 8950e53..63cb6a4 100644
|
|||
CONFIG_HID_A4TECH=m
|
||||
CONFIG_HID_ACRUX=m
|
||||
CONFIG_HID_APPLE=m
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 7503649..f3dccae 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -403,6 +403,58 @@ struct platform_device bcm2708_powerman_device = {
|
||||
@@ -403,6 +403,58 @@ struct platform_device bcm2708_powerman_
|
||||
.coherent_dma_mask = 0xffffffffUL},
|
||||
};
|
||||
|
||||
|
@ -147,8 +143,6 @@ index 7503649..f3dccae 100644
|
|||
|
||||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
struct amba_device *d = amba_devs[i];
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
index 5a4182e..25e7011 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
|
||||
@@ -288,11 +288,12 @@ VCHIQ_STATUS_T vchiq_open_service(
|
||||
|
@ -167,11 +161,9 @@ index 5a4182e..25e7011 100644
|
|||
}
|
||||
|
||||
failed:
|
||||
diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
|
||||
index 72eacdaf..c26eff7 100644
|
||||
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
|
||||
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
|
||||
@@ -634,6 +634,9 @@ int32_t vchi_service_open(VCHI_INSTANCE_T instance_handle,
|
||||
@@ -634,6 +634,9 @@ int32_t vchi_service_open(VCHI_INSTANCE_
|
||||
{
|
||||
VCHIQ_INSTANCE_T instance = (VCHIQ_INSTANCE_T)instance_handle;
|
||||
SHIM_SERVICE_T *service = service_alloc(instance, setup);
|
||||
|
@ -181,7 +173,7 @@ index 72eacdaf..c26eff7 100644
|
|||
if (service) {
|
||||
VCHIQ_SERVICE_PARAMS_T params;
|
||||
VCHIQ_STATUS_T status;
|
||||
@@ -650,11 +653,10 @@ int32_t vchi_service_open(VCHI_INSTANCE_T instance_handle,
|
||||
@@ -650,11 +653,10 @@ int32_t vchi_service_open(VCHI_INSTANCE_
|
||||
if (status != VCHIQ_SUCCESS) {
|
||||
service_free(service);
|
||||
service = NULL;
|
||||
|
@ -194,7 +186,7 @@ index 72eacdaf..c26eff7 100644
|
|||
return (service != NULL) ? 0 : -1;
|
||||
}
|
||||
EXPORT_SYMBOL(vchi_service_open);
|
||||
@@ -665,6 +667,9 @@ int32_t vchi_service_create(VCHI_INSTANCE_T instance_handle,
|
||||
@@ -665,6 +667,9 @@ int32_t vchi_service_create(VCHI_INSTANC
|
||||
{
|
||||
VCHIQ_INSTANCE_T instance = (VCHIQ_INSTANCE_T)instance_handle;
|
||||
SHIM_SERVICE_T *service = service_alloc(instance, setup);
|
||||
|
@ -204,7 +196,7 @@ index 72eacdaf..c26eff7 100644
|
|||
if (service) {
|
||||
VCHIQ_SERVICE_PARAMS_T params;
|
||||
VCHIQ_STATUS_T status;
|
||||
@@ -680,11 +685,10 @@ int32_t vchi_service_create(VCHI_INSTANCE_T instance_handle,
|
||||
@@ -680,11 +685,10 @@ int32_t vchi_service_create(VCHI_INSTANC
|
||||
if (status != VCHIQ_SUCCESS) {
|
||||
service_free(service);
|
||||
service = NULL;
|
||||
|
@ -217,8 +209,6 @@ index 72eacdaf..c26eff7 100644
|
|||
return (service != NULL) ? 0 : -1;
|
||||
}
|
||||
EXPORT_SYMBOL(vchi_service_create);
|
||||
diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig
|
||||
index 885683a..f7ceafd 100644
|
||||
--- a/sound/arm/Kconfig
|
||||
+++ b/sound/arm/Kconfig
|
||||
@@ -39,5 +39,12 @@ config SND_PXA2XX_AC97
|
||||
|
@ -234,11 +224,9 @@ index 885683a..f7ceafd 100644
|
|||
+
|
||||
endif # SND_ARM
|
||||
|
||||
diff --git a/sound/arm/Makefile b/sound/arm/Makefile
|
||||
index 8c0c851..6796d7f 100644
|
||||
--- a/sound/arm/Makefile
|
||||
+++ b/sound/arm/Makefile
|
||||
@@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_AC97) += pxa2xx-ac97-lib.o
|
||||
@@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_A
|
||||
|
||||
obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o
|
||||
snd-pxa2xx-ac97-objs := pxa2xx-ac97.o
|
||||
|
@ -247,9 +235,6 @@ index 8c0c851..6796d7f 100644
|
|||
+snd-bcm2835-objs := bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o
|
||||
+
|
||||
+ccflags-y += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
|
||||
diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c
|
||||
new file mode 100755
|
||||
index 0000000..aad905f
|
||||
--- /dev/null
|
||||
+++ b/sound/arm/bcm2835-ctl.c
|
||||
@@ -0,0 +1,323 @@
|
||||
|
@ -576,9 +561,6 @@ index 0000000..aad905f
|
|||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c
|
||||
new file mode 100755
|
||||
index 0000000..3a20b34
|
||||
--- /dev/null
|
||||
+++ b/sound/arm/bcm2835-pcm.c
|
||||
@@ -0,0 +1,552 @@
|
||||
|
@ -1134,9 +1116,6 @@ index 0000000..3a20b34
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c
|
||||
new file mode 100755
|
||||
index 0000000..3c95381
|
||||
--- /dev/null
|
||||
+++ b/sound/arm/bcm2835-vchiq.c
|
||||
@@ -0,0 +1,902 @@
|
||||
|
@ -2042,9 +2021,6 @@ index 0000000..3c95381
|
|||
+
|
||||
+module_param(force_bulk, bool, 0444);
|
||||
+MODULE_PARM_DESC(force_bulk, "Force use of vchiq bulk for audio");
|
||||
diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c
|
||||
new file mode 100755
|
||||
index 0000000..7ed5079
|
||||
--- /dev/null
|
||||
+++ b/sound/arm/bcm2835.c
|
||||
@@ -0,0 +1,420 @@
|
||||
|
@ -2468,9 +2444,6 @@ index 0000000..7ed5079
|
|||
+MODULE_DESCRIPTION("Alsa driver for BCM2835 chip");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("platform:bcm2835_alsa");
|
||||
diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h
|
||||
new file mode 100755
|
||||
index 0000000..0f71c5d
|
||||
--- /dev/null
|
||||
+++ b/sound/arm/bcm2835.h
|
||||
@@ -0,0 +1,167 @@
|
||||
|
@ -2641,9 +2614,6 @@ index 0000000..0f71c5d
|
|||
+void bcm2835_audio_flush_playback_buffers(bcm2835_alsa_stream_t * alsa_stream);
|
||||
+
|
||||
+#endif /* __SOUND_ARM_BCM2835_H */
|
||||
diff --git a/sound/arm/vc_vchi_audioserv_defs.h b/sound/arm/vc_vchi_audioserv_defs.h
|
||||
new file mode 100644
|
||||
index 0000000..af3e6eb
|
||||
--- /dev/null
|
||||
+++ b/sound/arm/vc_vchi_audioserv_defs.h
|
||||
@@ -0,0 +1,116 @@
|
||||
|
@ -2763,6 +2733,3 @@ index 0000000..af3e6eb
|
|||
+} VC_AUDIO_MSG_T;
|
||||
+
|
||||
+#endif // _VC_AUDIO_DEFS_H_
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
12
target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch
Executable file → Normal file
12
target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch
Executable file → Normal file
|
@ -10,8 +10,6 @@ Subject: [PATCH 014/114] Add hwrng (hardware random number generator) driver
|
|||
3 files changed, 130 insertions(+)
|
||||
create mode 100755 drivers/char/hw_random/bcm2708-rng.c
|
||||
|
||||
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
|
||||
index 91a04ae..0d2ca0d 100644
|
||||
--- a/drivers/char/hw_random/Kconfig
|
||||
+++ b/drivers/char/hw_random/Kconfig
|
||||
@@ -320,6 +320,17 @@ config HW_RANDOM_TPM
|
||||
|
@ -32,20 +30,15 @@ index 91a04ae..0d2ca0d 100644
|
|||
config HW_RANDOM_MSM
|
||||
tristate "Qualcomm SoCs Random Number Generator support"
|
||||
depends on HW_RANDOM && ARCH_QCOM
|
||||
diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile
|
||||
index 0b4cd57..78b019c 100644
|
||||
--- a/drivers/char/hw_random/Makefile
|
||||
+++ b/drivers/char/hw_random/Makefile
|
||||
@@ -28,5 +28,6 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += powernv-rng.o
|
||||
@@ -28,5 +28,6 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += power
|
||||
obj-$(CONFIG_HW_RANDOM_EXYNOS) += exynos-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_TPM) += tpm-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o
|
||||
+obj-$(CONFIG_HW_RANDOM_BCM2708) += bcm2708-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_MSM) += msm-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_XGENE) += xgene-rng.o
|
||||
diff --git a/drivers/char/hw_random/bcm2708-rng.c b/drivers/char/hw_random/bcm2708-rng.c
|
||||
new file mode 100755
|
||||
index 0000000..340f004
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/hw_random/bcm2708-rng.c
|
||||
@@ -0,0 +1,118 @@
|
||||
|
@ -167,6 +160,3 @@ index 0000000..340f004
|
|||
+
|
||||
+MODULE_DESCRIPTION("BCM2708 H/W Random Number Generator (RNG) driver");
|
||||
+MODULE_LICENSE("GPL and additional rights");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
10
target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch
Executable file → Normal file
10
target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch
Executable file → Normal file
|
@ -38,8 +38,6 @@ lirc-rpi: Correct the interrupt usage
|
|||
3 files changed, 666 insertions(+)
|
||||
create mode 100644 drivers/staging/media/lirc/lirc_rpi.c
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/Kconfig b/drivers/staging/media/lirc/Kconfig
|
||||
index e60a59f..6b7ff70 100644
|
||||
--- a/drivers/staging/media/lirc/Kconfig
|
||||
+++ b/drivers/staging/media/lirc/Kconfig
|
||||
@@ -38,6 +38,12 @@ config LIRC_PARALLEL
|
||||
|
@ -55,8 +53,6 @@ index e60a59f..6b7ff70 100644
|
|||
config LIRC_SASEM
|
||||
tristate "Sasem USB IR Remote"
|
||||
depends on LIRC && USB
|
||||
diff --git a/drivers/staging/media/lirc/Makefile b/drivers/staging/media/lirc/Makefile
|
||||
index b90fcab..2b227fd 100644
|
||||
--- a/drivers/staging/media/lirc/Makefile
|
||||
+++ b/drivers/staging/media/lirc/Makefile
|
||||
@@ -7,6 +7,7 @@ obj-$(CONFIG_LIRC_BT829) += lirc_bt829.o
|
||||
|
@ -67,9 +63,6 @@ index b90fcab..2b227fd 100644
|
|||
obj-$(CONFIG_LIRC_SASEM) += lirc_sasem.o
|
||||
obj-$(CONFIG_LIRC_SERIAL) += lirc_serial.o
|
||||
obj-$(CONFIG_LIRC_SIR) += lirc_sir.o
|
||||
diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c
|
||||
new file mode 100644
|
||||
index 0000000..c688364
|
||||
--- /dev/null
|
||||
+++ b/drivers/staging/media/lirc/lirc_rpi.c
|
||||
@@ -0,0 +1,659 @@
|
||||
|
@ -732,6 +725,3 @@ index 0000000..c688364
|
|||
+
|
||||
+module_param(debug, bool, S_IRUGO | S_IWUSR);
|
||||
+MODULE_PARM_DESC(debug, "Enable debugging messages");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
14
target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch
Executable file → Normal file
14
target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch
Executable file → Normal file
|
@ -11,8 +11,6 @@ Subject: [PATCH 016/114] Add cpufreq driver
|
|||
4 files changed, 234 insertions(+)
|
||||
create mode 100755 drivers/cpufreq/bcm2835-cpufreq.c
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 4cedaf2..6283d7d 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -390,6 +390,7 @@ config ARCH_BCM2708
|
||||
|
@ -23,8 +21,6 @@ index 4cedaf2..6283d7d 100644
|
|||
select GENERIC_CLOCKEVENTS
|
||||
select ARM_ERRATA_411920
|
||||
select MACH_BCM2708
|
||||
diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
|
||||
index 83a75dc..210394f 100644
|
||||
--- a/drivers/cpufreq/Kconfig.arm
|
||||
+++ b/drivers/cpufreq/Kconfig.arm
|
||||
@@ -241,6 +241,14 @@ config ARM_SPEAR_CPUFREQ
|
||||
|
@ -42,11 +38,9 @@ index 83a75dc..210394f 100644
|
|||
config ARM_TEGRA_CPUFREQ
|
||||
bool "TEGRA CPUFreq support"
|
||||
depends on ARCH_TEGRA
|
||||
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
|
||||
index 40c53dc..47d2922 100644
|
||||
--- a/drivers/cpufreq/Makefile
|
||||
+++ b/drivers/cpufreq/Makefile
|
||||
@@ -75,6 +75,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o
|
||||
@@ -75,6 +75,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5p
|
||||
obj-$(CONFIG_ARM_SA1100_CPUFREQ) += sa1100-cpufreq.o
|
||||
obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o
|
||||
obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o
|
||||
|
@ -54,9 +48,6 @@ index 40c53dc..47d2922 100644
|
|||
obj-$(CONFIG_ARM_TEGRA_CPUFREQ) += tegra-cpufreq.o
|
||||
obj-$(CONFIG_ARM_VEXPRESS_SPC_CPUFREQ) += vexpress-spc-cpufreq.o
|
||||
|
||||
diff --git a/drivers/cpufreq/bcm2835-cpufreq.c b/drivers/cpufreq/bcm2835-cpufreq.c
|
||||
new file mode 100755
|
||||
index 0000000..447ca09
|
||||
--- /dev/null
|
||||
+++ b/drivers/cpufreq/bcm2835-cpufreq.c
|
||||
@@ -0,0 +1,224 @@
|
||||
|
@ -284,6 +275,3 @@ index 0000000..447ca09
|
|||
+
|
||||
+module_init(bcm2835_cpufreq_module_init);
|
||||
+module_exit(bcm2835_cpufreq_module_exit);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
27
target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
Executable file → Normal file
27
target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
Executable file → Normal file
|
@ -16,11 +16,9 @@ Subject: [PATCH 017/114] Added hwmon/thermal driver for reporting core
|
|||
create mode 100644 drivers/hwmon/bcm2835-hwmon.c
|
||||
create mode 100644 drivers/thermal/bcm2835-thermal.c
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index f3dccae..af57d11 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -455,6 +455,14 @@ static struct platform_device bcm2708_alsa_devices[] = {
|
||||
@@ -455,6 +455,14 @@ static struct platform_device bcm2708_al
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -45,11 +43,9 @@ index f3dccae..af57d11 100644
|
|||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
struct amba_device *d = amba_devs[i];
|
||||
amba_device_register(d, &iomem_resource);
|
||||
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
|
||||
index 5286d7c..d52e192 100644
|
||||
--- a/drivers/hwmon/Kconfig
|
||||
+++ b/drivers/hwmon/Kconfig
|
||||
@@ -1680,6 +1680,16 @@ config SENSORS_ULTRA45
|
||||
@@ -1689,6 +1689,16 @@ config SENSORS_ULTRA45
|
||||
This driver provides support for the Ultra45 workstation environmental
|
||||
sensors.
|
||||
|
||||
|
@ -66,11 +62,9 @@ index 5286d7c..d52e192 100644
|
|||
if ACPI
|
||||
|
||||
comment "ACPI drivers"
|
||||
diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
|
||||
index c90a761..15aaecf 100644
|
||||
--- a/drivers/hwmon/Makefile
|
||||
+++ b/drivers/hwmon/Makefile
|
||||
@@ -153,6 +153,7 @@ obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o
|
||||
@@ -154,6 +154,7 @@ obj-$(CONFIG_SENSORS_W83L786NG) += w83l7
|
||||
obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o
|
||||
obj-$(CONFIG_SENSORS_WM8350) += wm8350-hwmon.o
|
||||
obj-$(CONFIG_SENSORS_GSC) += gsc.o
|
||||
|
@ -78,9 +72,6 @@ index c90a761..15aaecf 100644
|
|||
|
||||
obj-$(CONFIG_PMBUS) += pmbus/
|
||||
|
||||
diff --git a/drivers/hwmon/bcm2835-hwmon.c b/drivers/hwmon/bcm2835-hwmon.c
|
||||
new file mode 100644
|
||||
index 0000000..5bbed45
|
||||
--- /dev/null
|
||||
+++ b/drivers/hwmon/bcm2835-hwmon.c
|
||||
@@ -0,0 +1,219 @@
|
||||
|
@ -303,8 +294,6 @@ index 0000000..5bbed45
|
|||
+MODULE_DESCRIPTION("HW Monitor driver for bcm2835 chip");
|
||||
+
|
||||
+module_platform_driver(bcm2835_hwmon_driver);
|
||||
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
|
||||
index f554d25..fecc621 100644
|
||||
--- a/drivers/thermal/Kconfig
|
||||
+++ b/drivers/thermal/Kconfig
|
||||
@@ -206,6 +206,12 @@ config INTEL_POWERCLAMP
|
||||
|
@ -320,11 +309,9 @@ index f554d25..fecc621 100644
|
|||
config X86_PKG_TEMP_THERMAL
|
||||
tristate "X86 package temperature thermal driver"
|
||||
depends on X86_THERMAL_VECTOR
|
||||
diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile
|
||||
index 39c4fe8..30a4741 100644
|
||||
--- a/drivers/thermal/Makefile
|
||||
+++ b/drivers/thermal/Makefile
|
||||
@@ -29,6 +29,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_thermal.o
|
||||
@@ -29,6 +29,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_t
|
||||
obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o
|
||||
obj-$(CONFIG_DB8500_CPUFREQ_COOLING) += db8500_cpufreq_cooling.o
|
||||
obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o
|
||||
|
@ -332,9 +319,6 @@ index 39c4fe8..30a4741 100644
|
|||
obj-$(CONFIG_X86_PKG_TEMP_THERMAL) += x86_pkg_temp_thermal.o
|
||||
obj-$(CONFIG_INTEL_SOC_DTS_THERMAL) += intel_soc_dts_thermal.o
|
||||
obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/
|
||||
diff --git a/drivers/thermal/bcm2835-thermal.c b/drivers/thermal/bcm2835-thermal.c
|
||||
new file mode 100644
|
||||
index 0000000..85fceb5
|
||||
--- /dev/null
|
||||
+++ b/drivers/thermal/bcm2835-thermal.c
|
||||
@@ -0,0 +1,184 @@
|
||||
|
@ -522,6 +506,3 @@ index 0000000..85fceb5
|
|||
+MODULE_DESCRIPTION("Thermal driver for bcm2835 chip");
|
||||
+
|
||||
+module_platform_driver(bcm2835_thermal_driver);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch
Executable file → Normal file
|
@ -8,8 +8,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
|||
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 56 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
|
||||
index d07bf4c..5ae60ab 100644
|
||||
--- a/drivers/net/usb/smsc95xx.c
|
||||
+++ b/drivers/net/usb/smsc95xx.c
|
||||
@@ -59,6 +59,7 @@
|
||||
|
@ -31,7 +29,7 @@ index d07bf4c..5ae60ab 100644
|
|||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
||||
@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_dev
|
||||
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
||||
}
|
||||
|
||||
|
@ -91,6 +89,3 @@ index d07bf4c..5ae60ab 100644
|
|||
/* try reading mac address from EEPROM */
|
||||
if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
|
||||
dev->net->dev_addr) == 0) {
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
27
target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch
Executable file → Normal file
27
target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch
Executable file → Normal file
|
@ -25,8 +25,6 @@ The correct baudrate is shown in the log after the cdiv > 0xffff correction.
|
|||
create mode 100644 drivers/i2c/busses/i2c-bcm2708.c
|
||||
create mode 100644 drivers/spi/spi-bcm2708.c
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 63cb6a4..6d2eae1 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -195,6 +195,13 @@ CONFIG_SERIAL_AMBA_PL011=y
|
||||
|
@ -43,8 +41,6 @@ index 63cb6a4..6d2eae1 100644
|
|||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_FB=y
|
||||
diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
|
||||
index 9355841..e151ed4 100644
|
||||
--- a/arch/arm/mach-bcm2708/Kconfig
|
||||
+++ b/arch/arm/mach-bcm2708/Kconfig
|
||||
@@ -31,4 +31,11 @@ config BCM2708_NOL2CACHE
|
||||
|
@ -59,8 +55,6 @@ index 9355841..e151ed4 100644
|
|||
+ help
|
||||
+ Binds spidev driver to the SPI0 master
|
||||
endmenu
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index af57d11..82f56fb 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -31,6 +31,7 @@
|
||||
|
@ -103,7 +97,7 @@ index af57d11..82f56fb 100644
|
|||
}
|
||||
};
|
||||
|
||||
@@ -455,6 +463,89 @@ static struct platform_device bcm2708_alsa_devices[] = {
|
||||
@@ -455,6 +463,89 @@ static struct platform_device bcm2708_al
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -216,8 +210,6 @@ index af57d11..82f56fb 100644
|
|||
}
|
||||
|
||||
static void timer_set_mode(enum clock_event_mode mode,
|
||||
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
|
||||
index 917c358..3d3db41 100644
|
||||
--- a/drivers/i2c/busses/Kconfig
|
||||
+++ b/drivers/i2c/busses/Kconfig
|
||||
@@ -371,6 +371,25 @@ config I2C_BCM2835
|
||||
|
@ -246,8 +238,6 @@ index 917c358..3d3db41 100644
|
|||
config I2C_BCM_KONA
|
||||
tristate "BCM Kona I2C adapter"
|
||||
depends on ARCH_BCM_MOBILE
|
||||
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
|
||||
index 78d56c5..abe642f 100644
|
||||
--- a/drivers/i2c/busses/Makefile
|
||||
+++ b/drivers/i2c/busses/Makefile
|
||||
@@ -33,6 +33,7 @@ obj-$(CONFIG_I2C_AT91) += i2c-at91.o
|
||||
|
@ -258,9 +248,6 @@ index 78d56c5..abe642f 100644
|
|||
obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
|
||||
obj-$(CONFIG_I2C_CADENCE) += i2c-cadence.o
|
||||
obj-$(CONFIG_I2C_CBUS_GPIO) += i2c-cbus-gpio.o
|
||||
diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
|
||||
new file mode 100644
|
||||
index 0000000..09203c0
|
||||
--- /dev/null
|
||||
+++ b/drivers/i2c/busses/i2c-bcm2708.c
|
||||
@@ -0,0 +1,420 @@
|
||||
|
@ -684,8 +671,6 @@ index 0000000..09203c0
|
|||
+MODULE_AUTHOR("Chris Boot <bootc@bootc.net>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
+MODULE_ALIAS("platform:" DRV_NAME);
|
||||
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
|
||||
index 84e7c9e..71b4741 100644
|
||||
--- a/drivers/spi/Kconfig
|
||||
+++ b/drivers/spi/Kconfig
|
||||
@@ -86,6 +86,14 @@ config SPI_BCM2835
|
||||
|
@ -703,11 +688,9 @@ index 84e7c9e..71b4741 100644
|
|||
config SPI_BFIN5XX
|
||||
tristate "SPI controller driver for ADI Blackfin5xx"
|
||||
depends on BLACKFIN && !BF60x
|
||||
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
|
||||
index 78f24ca..fdd29d3 100644
|
||||
--- a/drivers/spi/Makefile
|
||||
+++ b/drivers/spi/Makefile
|
||||
@@ -20,6 +20,7 @@ obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o
|
||||
@@ -20,6 +20,7 @@ obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63x
|
||||
obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o
|
||||
obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o
|
||||
obj-$(CONFIG_SPI_ADI_V3) += spi-adi-v3.o
|
||||
|
@ -715,9 +698,6 @@ index 78f24ca..fdd29d3 100644
|
|||
obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o
|
||||
obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o
|
||||
obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o
|
||||
diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c
|
||||
new file mode 100644
|
||||
index 0000000..b04a57d
|
||||
--- /dev/null
|
||||
+++ b/drivers/spi/spi-bcm2708.c
|
||||
@@ -0,0 +1,626 @@
|
||||
|
@ -1347,6 +1327,3 @@ index 0000000..b04a57d
|
|||
+MODULE_AUTHOR("Chris Boot <bootc@bootc.net>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
+MODULE_ALIAS("platform:" DRV_NAME);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
11
target/linux/brcm2708/patches-3.18/0020-Perform-I2C-combined-transactions-when-possible.patch
Executable file → Normal file
11
target/linux/brcm2708/patches-3.18/0020-Perform-I2C-combined-transactions-when-possible.patch
Executable file → Normal file
|
@ -16,11 +16,9 @@ i2c: Make combined transactions optional and disabled by default
|
|||
drivers/i2c/busses/i2c-bcm2708.c | 31 ++++++++++++++++++++++++++++++-
|
||||
1 file changed, 30 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
|
||||
index 09203c0..7d385a3 100644
|
||||
--- a/drivers/i2c/busses/i2c-bcm2708.c
|
||||
+++ b/drivers/i2c/busses/i2c-bcm2708.c
|
||||
@@ -74,6 +74,9 @@ static unsigned int baudrate = CONFIG_I2C_BCM2708_BAUDRATE;
|
||||
@@ -74,6 +74,9 @@ static unsigned int baudrate = CONFIG_I2
|
||||
module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
|
||||
MODULE_PARM_DESC(baudrate, "The I2C baudrate");
|
||||
|
||||
|
@ -30,7 +28,7 @@ index 09203c0..7d385a3 100644
|
|||
|
||||
struct bcm2708_i2c {
|
||||
struct i2c_adapter adapter;
|
||||
@@ -150,7 +153,7 @@ static inline void bcm2708_bsc_fifo_fill(struct bcm2708_i2c *bi)
|
||||
@@ -150,7 +153,7 @@ static inline void bcm2708_bsc_fifo_fill
|
||||
static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
|
||||
{
|
||||
unsigned long bus_hz;
|
||||
|
@ -39,7 +37,7 @@ index 09203c0..7d385a3 100644
|
|||
u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1;
|
||||
|
||||
bus_hz = clk_get_rate(bi->clk);
|
||||
@@ -166,6 +169,32 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
|
||||
@@ -166,6 +169,32 @@ static inline void bcm2708_bsc_setup(str
|
||||
bcm2708_wr(bi, BSC_DIV, cdiv);
|
||||
bcm2708_wr(bi, BSC_A, bi->msg->addr);
|
||||
bcm2708_wr(bi, BSC_DLEN, bi->msg->len);
|
||||
|
@ -72,6 +70,3 @@ index 09203c0..7d385a3 100644
|
|||
bcm2708_wr(bi, BSC_C, c);
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
31
target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
Executable file → Normal file
31
target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
Executable file → Normal file
|
@ -26,8 +26,6 @@ Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
|
|||
drivers/w1/w1_io.c | 18 +++++++++++---
|
||||
5 files changed, 114 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 82f56fb..7dd89a7f 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -32,6 +32,7 @@
|
||||
|
@ -58,7 +56,7 @@ index 82f56fb..7dd89a7f 100644
|
|||
|
||||
static void __init bcm2708_init_led(void);
|
||||
|
||||
@@ -258,6 +266,20 @@ static struct platform_device bcm2708_dmaman_device = {
|
||||
@@ -258,6 +266,20 @@ static struct platform_device bcm2708_dm
|
||||
.num_resources = ARRAY_SIZE(bcm2708_dmaman_resources),
|
||||
};
|
||||
|
||||
|
@ -97,8 +95,6 @@ index 82f56fb..7dd89a7f 100644
|
|||
module_param(reboot_part, uint, 0644);
|
||||
+module_param(w1_gpio_pin, uint, 0644);
|
||||
+module_param(w1_gpio_pullup, uint, 0644);
|
||||
diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c
|
||||
index 1d111e5..61be2cd 100644
|
||||
--- a/drivers/w1/masters/w1-gpio.c
|
||||
+++ b/drivers/w1/masters/w1-gpio.c
|
||||
@@ -23,6 +23,15 @@
|
||||
|
@ -134,7 +130,7 @@ index 1d111e5..61be2cd 100644
|
|||
#if defined(CONFIG_OF)
|
||||
static struct of_device_id w1_gpio_dt_ids[] = {
|
||||
{ .compatible = "w1-gpio" },
|
||||
@@ -113,13 +132,15 @@ static int w1_gpio_probe_dt(struct platform_device *pdev)
|
||||
@@ -113,13 +132,15 @@ static int w1_gpio_probe_dt(struct platf
|
||||
static int w1_gpio_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct w1_bus_master *master;
|
||||
|
@ -155,7 +151,7 @@ index 1d111e5..61be2cd 100644
|
|||
}
|
||||
|
||||
pdata = dev_get_platdata(&pdev->dev);
|
||||
@@ -136,6 +157,19 @@ static int w1_gpio_probe(struct platform_device *pdev)
|
||||
@@ -136,6 +157,19 @@ static int w1_gpio_probe(struct platform
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -175,7 +171,7 @@ index 1d111e5..61be2cd 100644
|
|||
err = devm_gpio_request(&pdev->dev, pdata->pin, "w1");
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "gpio_request (pin) failed\n");
|
||||
@@ -165,6 +199,14 @@ static int w1_gpio_probe(struct platform_device *pdev)
|
||||
@@ -165,6 +199,14 @@ static int w1_gpio_probe(struct platform
|
||||
master->set_pullup = w1_gpio_set_pullup;
|
||||
}
|
||||
|
||||
|
@ -190,7 +186,7 @@ index 1d111e5..61be2cd 100644
|
|||
err = w1_add_master_device(master);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "w1_add_master device failed\n");
|
||||
@@ -195,6 +237,9 @@ static int w1_gpio_remove(struct platform_device *pdev)
|
||||
@@ -195,6 +237,9 @@ static int w1_gpio_remove(struct platfor
|
||||
|
||||
w1_remove_master_device(master);
|
||||
|
||||
|
@ -200,8 +196,6 @@ index 1d111e5..61be2cd 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h
|
||||
index 56a49ba..881d728 100644
|
||||
--- a/drivers/w1/w1.h
|
||||
+++ b/drivers/w1/w1.h
|
||||
@@ -171,6 +171,12 @@ struct w1_bus_master
|
||||
|
@ -217,11 +211,9 @@ index 56a49ba..881d728 100644
|
|||
void (*search)(void *, struct w1_master *,
|
||||
u8, w1_slave_found_callback);
|
||||
};
|
||||
diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c
|
||||
index 47249a3..a4b4a8d 100644
|
||||
--- a/drivers/w1/w1_int.c
|
||||
+++ b/drivers/w1/w1_int.c
|
||||
@@ -123,6 +123,20 @@ int w1_add_master_device(struct w1_bus_master *master)
|
||||
@@ -123,6 +123,20 @@ int w1_add_master_device(struct w1_bus_m
|
||||
return(-EINVAL);
|
||||
}
|
||||
|
||||
|
@ -242,11 +234,9 @@ index 47249a3..a4b4a8d 100644
|
|||
/* Lock until the device is added (or not) to w1_masters. */
|
||||
mutex_lock(&w1_mlock);
|
||||
/* Search for the first available id (starting at 1). */
|
||||
diff --git a/drivers/w1/w1_io.c b/drivers/w1/w1_io.c
|
||||
index 2820924..fd0550f 100644
|
||||
--- a/drivers/w1/w1_io.c
|
||||
+++ b/drivers/w1/w1_io.c
|
||||
@@ -134,10 +134,22 @@ static void w1_pre_write(struct w1_master *dev)
|
||||
@@ -134,10 +134,22 @@ static void w1_pre_write(struct w1_maste
|
||||
static void w1_post_write(struct w1_master *dev)
|
||||
{
|
||||
if (dev->pullup_duration) {
|
||||
|
@ -261,17 +251,14 @@ index 2820924..fd0550f 100644
|
|||
+ } else if (dev->bus_master->bitbang_pullup) {
|
||||
+ dev->bus_master->
|
||||
+ bitbang_pullup(dev->bus_master->data, 1);
|
||||
+ msleep(dev->pullup_duration);
|
||||
msleep(dev->pullup_duration);
|
||||
+ dev->bus_master->
|
||||
+ bitbang_pullup(dev->bus_master->data, 0);
|
||||
+ }
|
||||
+ } else {
|
||||
msleep(dev->pullup_duration);
|
||||
+ msleep(dev->pullup_duration);
|
||||
+ }
|
||||
+
|
||||
dev->pullup_duration = 0;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch
Executable file → Normal file
|
@ -7,11 +7,9 @@ Subject: [PATCH 022/114] Added Device IDs for August DVB-T 205
|
|||
drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
|
||||
index 27b1e03..a2997b7 100644
|
||||
--- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
|
||||
@@ -1531,6 +1531,10 @@ static const struct usb_device_id rtl28xxu_id_table[] = {
|
||||
@@ -1531,6 +1531,10 @@ static const struct usb_device_id rtl28x
|
||||
&rtl2832u_props, "Compro VideoMate U620F", NULL) },
|
||||
{ DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd394,
|
||||
&rtl2832u_props, "MaxMedia HU394-T", NULL) },
|
||||
|
@ -22,6 +20,3 @@ index 27b1e03..a2997b7 100644
|
|||
{ DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a03,
|
||||
&rtl2832u_props, "Leadtek WinFast DTV Dongle mini", NULL) },
|
||||
{ DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A,
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 023/114] config: add missing options from 3.6.y kernel
|
|||
arch/arm/configs/bcmrpi_defconfig | 658 ++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 636 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 6d2eae1..e2da9da 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -1,3 +1,5 @@
|
||||
|
@ -934,6 +932,3 @@ index 6d2eae1..e2da9da 100644
|
|||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_CRC_ITU_T=y
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
13
target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
Executable file → Normal file
13
target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
Executable file → Normal file
|
@ -10,8 +10,6 @@ Subject: [PATCH 024/114] config: Enable CONFIG_MEMCG, but leave it disabled
|
|||
mm/memcontrol.c | 1 +
|
||||
3 files changed, 25 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index e2da9da..897616c 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -19,6 +19,7 @@ CONFIG_CGROUP_FREEZER=y
|
||||
|
@ -22,11 +20,9 @@ index e2da9da..897616c 100644
|
|||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
|
||||
index 136ecea..c909506 100644
|
||||
--- a/kernel/cgroup.c
|
||||
+++ b/kernel/cgroup.c
|
||||
@@ -5322,6 +5322,29 @@ static int __init cgroup_disable(char *str)
|
||||
@@ -5322,6 +5322,29 @@ static int __init cgroup_disable(char *s
|
||||
}
|
||||
__setup("cgroup_disable=", cgroup_disable);
|
||||
|
||||
|
@ -56,11 +52,9 @@ index 136ecea..c909506 100644
|
|||
static int __init cgroup_set_legacy_files_on_dfl(char *str)
|
||||
{
|
||||
printk("cgroup: using legacy files on the default hierarchy\n");
|
||||
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
|
||||
index 4918b6e..168498c 100644
|
||||
--- a/mm/memcontrol.c
|
||||
+++ b/mm/memcontrol.c
|
||||
@@ -6207,6 +6207,7 @@ struct cgroup_subsys memory_cgrp_subsys = {
|
||||
@@ -6207,6 +6207,7 @@ struct cgroup_subsys memory_cgrp_subsys
|
||||
.bind = mem_cgroup_bind,
|
||||
.legacy_cftypes = mem_cgroup_files,
|
||||
.early_init = 0,
|
||||
|
@ -68,6 +62,3 @@ index 4918b6e..168498c 100644
|
|||
};
|
||||
|
||||
#ifdef CONFIG_MEMCG_SWAP
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
262
target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch
Executable file → Normal file
262
target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch
Executable file → Normal file
|
@ -282,8 +282,6 @@ incarnations.
|
|||
create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
|
||||
create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 6283d7d..ba9c18e 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -395,6 +395,7 @@ config ARCH_BCM2708
|
||||
|
@ -294,11 +292,9 @@ index 6283d7d..ba9c18e 100644
|
|||
help
|
||||
This enables support for Broadcom BCM2708 boards.
|
||||
|
||||
diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h
|
||||
index 3b763d6..5770408 100644
|
||||
--- a/arch/arm/include/asm/irqflags.h
|
||||
+++ b/arch/arm/include/asm/irqflags.h
|
||||
@@ -145,12 +145,22 @@ static inline unsigned long arch_local_save_flags(void)
|
||||
@@ -145,12 +145,22 @@ static inline unsigned long arch_local_s
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -324,8 +320,6 @@ index 3b763d6..5770408 100644
|
|||
:
|
||||
: "r" (flags)
|
||||
: "memory", "cc");
|
||||
diff --git a/arch/arm/kernel/fiqasm.S b/arch/arm/kernel/fiqasm.S
|
||||
index 8dd26e1..eef4847 100644
|
||||
--- a/arch/arm/kernel/fiqasm.S
|
||||
+++ b/arch/arm/kernel/fiqasm.S
|
||||
@@ -47,3 +47,7 @@ ENTRY(__get_fiq_regs)
|
||||
|
@ -336,11 +330,9 @@ index 8dd26e1..eef4847 100644
|
|||
+ENTRY(__FIQ_Branch)
|
||||
+ mov pc, r8
|
||||
+ENDPROC(__FIQ_Branch)
|
||||
diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c
|
||||
index ef1c8d5..96fa9b9 100644
|
||||
--- a/arch/arm/mach-bcm2708/armctrl.c
|
||||
+++ b/arch/arm/mach-bcm2708/armctrl.c
|
||||
@@ -52,8 +52,12 @@ static void armctrl_mask_irq(struct irq_data *d)
|
||||
@@ -52,8 +52,12 @@ static void armctrl_mask_irq(struct irq_
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -355,7 +347,7 @@ index ef1c8d5..96fa9b9 100644
|
|||
}
|
||||
|
||||
static void armctrl_unmask_irq(struct irq_data *d)
|
||||
@@ -65,8 +69,14 @@ static void armctrl_unmask_irq(struct irq_data *d)
|
||||
@@ -65,8 +69,14 @@ static void armctrl_unmask_irq(struct ir
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -372,18 +364,16 @@ index ef1c8d5..96fa9b9 100644
|
|||
}
|
||||
|
||||
#if defined(CONFIG_PM)
|
||||
@@ -204,5 +214,6 @@ int __init armctrl_init(void __iomem * base, unsigned int irq_start,
|
||||
@@ -204,5 +214,6 @@ int __init armctrl_init(void __iomem * b
|
||||
}
|
||||
|
||||
armctrl_pm_register(base, irq_start, resume_sources);
|
||||
+ init_FIQ(FIQ_START);
|
||||
return 0;
|
||||
}
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 7dd89a7f..dc59a6b 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -321,12 +321,32 @@ static struct resource bcm2708_usb_resources[] = {
|
||||
@@ -321,12 +321,32 @@ static struct resource bcm2708_usb_resou
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
|
@ -430,8 +420,6 @@ index 7dd89a7f..dc59a6b 100644
|
|||
bcm_register_device(&bcm2708_usb_device);
|
||||
bcm_register_device(&bcm2708_uart1_device);
|
||||
bcm_register_device(&bcm2708_powerman_device);
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h
|
||||
index 3a88a1a..45152ed 100644
|
||||
--- a/arch/arm/mach-bcm2708/include/mach/irqs.h
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/irqs.h
|
||||
@@ -106,87 +106,90 @@
|
||||
|
@ -600,11 +588,9 @@ index 3a88a1a..45152ed 100644
|
|||
#define GPIO_IRQS (32*5)
|
||||
#define SPARE_ALLOC_IRQS 64
|
||||
#define BCM2708_ALLOC_IRQS (HARD_IRQS+FIQ_IRQS+GPIO_IRQS+SPARE_ALLOC_IRQS)
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
index 1668f10..5c50a8b 100644
|
||||
--- a/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
@@ -580,7 +580,13 @@ void DWC_WRITE_REG64(uint64_t volatile *reg, uint64_t value)
|
||||
@@ -580,7 +580,13 @@ void DWC_WRITE_REG64(uint64_t volatile *
|
||||
|
||||
void DWC_MODIFY_REG32(uint32_t volatile *reg, uint32_t clear_mask, uint32_t set_mask)
|
||||
{
|
||||
|
@ -618,7 +604,7 @@ index 1668f10..5c50a8b 100644
|
|||
}
|
||||
|
||||
#if 0
|
||||
@@ -995,6 +1001,11 @@ void DWC_TASK_SCHEDULE(dwc_tasklet_t *task)
|
||||
@@ -995,6 +1001,11 @@ void DWC_TASK_SCHEDULE(dwc_tasklet_t *ta
|
||||
tasklet_schedule(&task->t);
|
||||
}
|
||||
|
||||
|
@ -630,8 +616,6 @@ index 1668f10..5c50a8b 100644
|
|||
|
||||
/* workqueues
|
||||
- run in process context (can sleep)
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h
|
||||
index 89cc325..4ce560d 100644
|
||||
--- a/drivers/usb/host/dwc_common_port/dwc_list.h
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_list.h
|
||||
@@ -384,17 +384,17 @@ struct { \
|
||||
|
@ -659,11 +643,9 @@ index 89cc325..4ce560d 100644
|
|||
|
||||
/*
|
||||
* Tail queue functions.
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h
|
||||
index 8117731..a2bbe23 100644
|
||||
--- a/drivers/usb/host/dwc_common_port/dwc_os.h
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_os.h
|
||||
@@ -982,6 +982,8 @@ extern void DWC_TASK_FREE(dwc_tasklet_t *task);
|
||||
@@ -982,6 +982,8 @@ extern void DWC_TASK_FREE(dwc_tasklet_t
|
||||
extern void DWC_TASK_SCHEDULE(dwc_tasklet_t *task);
|
||||
#define dwc_task_schedule DWC_TASK_SCHEDULE
|
||||
|
||||
|
@ -672,11 +654,9 @@ index 8117731..a2bbe23 100644
|
|||
|
||||
/** @name Timer
|
||||
*
|
||||
diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile
|
||||
index 236c47c..a56f193 100644
|
||||
--- a/drivers/usb/host/dwc_otg/Makefile
|
||||
+++ b/drivers/usb/host/dwc_otg/Makefile
|
||||
@@ -36,6 +36,7 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_cil_intr.o
|
||||
@@ -36,6 +36,7 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_ci
|
||||
dwc_otg-objs += dwc_otg_pcd_linux.o dwc_otg_pcd.o dwc_otg_pcd_intr.o
|
||||
dwc_otg-objs += dwc_otg_hcd.o dwc_otg_hcd_linux.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o dwc_otg_hcd_ddma.o
|
||||
dwc_otg-objs += dwc_otg_adp.o
|
||||
|
@ -684,11 +664,9 @@ index 236c47c..a56f193 100644
|
|||
ifneq ($(CFI),)
|
||||
dwc_otg-objs += dwc_otg_cfi.o
|
||||
endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
|
||||
index fab2961..9da0c92 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_attr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
|
||||
@@ -909,7 +909,7 @@ static ssize_t regdump_show(struct device *_dev,
|
||||
@@ -909,7 +909,7 @@ static ssize_t regdump_show(struct devic
|
||||
return sprintf(buf, "Register Dump\n");
|
||||
}
|
||||
|
||||
|
@ -697,7 +675,7 @@ index fab2961..9da0c92 100644
|
|||
|
||||
/**
|
||||
* Dump global registers and either host or device registers (depending on the
|
||||
@@ -920,12 +920,12 @@ static ssize_t spramdump_show(struct device *_dev,
|
||||
@@ -920,12 +920,12 @@ static ssize_t spramdump_show(struct dev
|
||||
{
|
||||
dwc_otg_device_t *otg_dev = dwc_otg_drvdev(_dev);
|
||||
|
||||
|
@ -712,7 +690,7 @@ index fab2961..9da0c92 100644
|
|||
|
||||
/**
|
||||
* Dump the current hcd state.
|
||||
@@ -940,7 +940,7 @@ static ssize_t hcddump_show(struct device *_dev,
|
||||
@@ -940,7 +940,7 @@ static ssize_t hcddump_show(struct devic
|
||||
return sprintf(buf, "HCD Dump\n");
|
||||
}
|
||||
|
||||
|
@ -721,7 +699,7 @@ index fab2961..9da0c92 100644
|
|||
|
||||
/**
|
||||
* Dump the average frame remaining at SOF. This can be used to
|
||||
@@ -958,7 +958,7 @@ static ssize_t hcd_frrem_show(struct device *_dev,
|
||||
@@ -958,7 +958,7 @@ static ssize_t hcd_frrem_show(struct dev
|
||||
return sprintf(buf, "HCD Dump Frame Remaining\n");
|
||||
}
|
||||
|
||||
|
@ -730,7 +708,7 @@ index fab2961..9da0c92 100644
|
|||
|
||||
/**
|
||||
* Displays the time required to read the GNPTXFSIZ register many times (the
|
||||
@@ -986,7 +986,7 @@ static ssize_t rd_reg_test_show(struct device *_dev,
|
||||
@@ -986,7 +986,7 @@ static ssize_t rd_reg_test_show(struct d
|
||||
RW_REG_COUNT, time * MSEC_PER_JIFFIE, time);
|
||||
}
|
||||
|
||||
|
@ -739,7 +717,7 @@ index fab2961..9da0c92 100644
|
|||
|
||||
/**
|
||||
* Displays the time required to write the GNPTXFSIZ register many times (the
|
||||
@@ -1014,7 +1014,7 @@ static ssize_t wr_reg_test_show(struct device *_dev,
|
||||
@@ -1014,7 +1014,7 @@ static ssize_t wr_reg_test_show(struct d
|
||||
RW_REG_COUNT, time * MSEC_PER_JIFFIE, time);
|
||||
}
|
||||
|
||||
|
@ -748,8 +726,6 @@ index fab2961..9da0c92 100644
|
|||
|
||||
#ifdef CONFIG_USB_DWC_OTG_LPM
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
index 59fc862..2f8b3bd 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
@@ -45,6 +45,7 @@
|
||||
|
@ -760,7 +736,7 @@ index 59fc862..2f8b3bd 100644
|
|||
|
||||
#ifdef DEBUG
|
||||
inline const char *op_state_str(dwc_otg_core_if_t * core_if)
|
||||
@@ -1318,7 +1319,7 @@ static int32_t dwc_otg_handle_lpm_intr(dwc_otg_core_if_t * core_if)
|
||||
@@ -1318,7 +1319,7 @@ static int32_t dwc_otg_handle_lpm_intr(d
|
||||
/**
|
||||
* This function returns the Core Interrupt register.
|
||||
*/
|
||||
|
@ -769,7 +745,7 @@ index 59fc862..2f8b3bd 100644
|
|||
{
|
||||
gahbcfg_data_t gahbcfg = {.d32 = 0 };
|
||||
gintsts_data_t gintsts;
|
||||
@@ -1335,26 +1336,45 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if)
|
||||
@@ -1335,26 +1336,45 @@ static inline uint32_t dwc_otg_read_comm
|
||||
gintmsk_common.b.lpmtranrcvd = 1;
|
||||
#endif
|
||||
gintmsk_common.b.restoredone = 1;
|
||||
|
@ -824,7 +800,7 @@ index 59fc862..2f8b3bd 100644
|
|||
|
||||
}
|
||||
|
||||
@@ -1386,6 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1386,6 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
{
|
||||
int retval = 0;
|
||||
gintsts_data_t gintsts;
|
||||
|
@ -832,7 +808,7 @@ index 59fc862..2f8b3bd 100644
|
|||
gpwrdn_data_t gpwrdn = {.d32 = 0 };
|
||||
dwc_otg_device_t *otg_dev = dev;
|
||||
dwc_otg_core_if_t *core_if = otg_dev->core_if;
|
||||
@@ -1407,7 +1428,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1407,7 +1428,7 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
}
|
||||
|
||||
if (core_if->hibernation_suspend <= 0) {
|
||||
|
@ -841,7 +817,7 @@ index 59fc862..2f8b3bd 100644
|
|||
|
||||
if (gintsts.b.modemismatch) {
|
||||
retval |= dwc_otg_handle_mode_mismatch_intr(core_if);
|
||||
@@ -1504,8 +1525,12 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1504,8 +1525,12 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
gintsts.b.portintr = 1;
|
||||
DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32);
|
||||
retval |= 1;
|
||||
|
@ -854,11 +830,9 @@ index 59fc862..2f8b3bd 100644
|
|||
} else {
|
||||
DWC_DEBUGPL(DBG_ANY, "gpwrdn=%08x\n", gpwrdn.d32);
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
|
||||
index 8900318..ccc24e0 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
|
||||
@@ -49,6 +49,7 @@ static inline uint32_t SET_DEBUG_LEVEL(const uint32_t new)
|
||||
@@ -49,6 +49,7 @@ static inline uint32_t SET_DEBUG_LEVEL(c
|
||||
return old;
|
||||
}
|
||||
|
||||
|
@ -866,8 +840,6 @@ index 8900318..ccc24e0 100644
|
|||
/** When debug level has the DBG_CIL bit set, display CIL Debug messages. */
|
||||
#define DBG_CIL (0x2)
|
||||
/** When debug level has the DBG_CILV bit set, display CIL Verbose debug
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
index ac2c846..f06c3d22 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
@@ -64,6 +64,8 @@ bool microframe_schedule=true;
|
||||
|
@ -879,7 +851,7 @@ index ac2c846..f06c3d22 100644
|
|||
extern int pcd_init(
|
||||
#ifdef LM_INTERFACE
|
||||
struct lm_device *_dev
|
||||
@@ -238,6 +240,14 @@ static struct dwc_otg_driver_module_params dwc_otg_module_params = {
|
||||
@@ -238,6 +240,14 @@ static struct dwc_otg_driver_module_para
|
||||
.adp_enable = -1,
|
||||
};
|
||||
|
||||
|
@ -933,7 +905,7 @@ index ac2c846..f06c3d22 100644
|
|||
#else
|
||||
{
|
||||
struct map_desc desc = {
|
||||
@@ -1044,6 +1070,12 @@ static int __init dwc_otg_driver_init(void)
|
||||
@@ -1044,6 +1070,12 @@ static int __init dwc_otg_driver_init(vo
|
||||
int retval = 0;
|
||||
int error;
|
||||
struct device_driver *drv;
|
||||
|
@ -946,7 +918,7 @@ index ac2c846..f06c3d22 100644
|
|||
printk(KERN_INFO "%s: version %s (%s bus)\n", dwc_driver_name,
|
||||
DWC_DRIVER_VERSION,
|
||||
#ifdef LM_INTERFACE
|
||||
@@ -1063,6 +1095,9 @@ static int __init dwc_otg_driver_init(void)
|
||||
@@ -1063,6 +1095,9 @@ static int __init dwc_otg_driver_init(vo
|
||||
printk(KERN_ERR "%s retval=%d\n", __func__, retval);
|
||||
return retval;
|
||||
}
|
||||
|
@ -956,7 +928,7 @@ index ac2c846..f06c3d22 100644
|
|||
|
||||
error = driver_create_file(drv, &driver_attr_version);
|
||||
#ifdef DEBUG
|
||||
@@ -1343,6 +1378,13 @@ MODULE_PARM_DESC(otg_ver, "OTG revision supported 0=OTG 1.3 1=OTG 2.0");
|
||||
@@ -1343,6 +1378,13 @@ MODULE_PARM_DESC(otg_ver, "OTG revision
|
||||
module_param(microframe_schedule, bool, 0444);
|
||||
MODULE_PARM_DESC(microframe_schedule, "Enable the microframe scheduler");
|
||||
|
||||
|
@ -970,8 +942,6 @@ index ac2c846..f06c3d22 100644
|
|||
/** @page "Module Parameters"
|
||||
*
|
||||
* The following parameters may be specified when starting the module.
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
index 1e89549..986d361 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
@@ -40,10 +40,14 @@
|
||||
|
@ -990,7 +960,7 @@ index 1e89549..986d361 100644
|
|||
|
||||
//#define DEBUG_HOST_CHANNELS
|
||||
#ifdef DEBUG_HOST_CHANNELS
|
||||
@@ -53,6 +57,13 @@ static int last_sel_trans_num_avail_hc_at_start = 0;
|
||||
@@ -53,6 +57,13 @@ static int last_sel_trans_num_avail_hc_a
|
||||
static int last_sel_trans_num_avail_hc_at_end = 0;
|
||||
#endif /* DEBUG_HOST_CHANNELS */
|
||||
|
||||
|
@ -1004,7 +974,7 @@ index 1e89549..986d361 100644
|
|||
dwc_otg_hcd_t *dwc_otg_hcd_alloc_hcd(void)
|
||||
{
|
||||
return DWC_ALLOC(sizeof(dwc_otg_hcd_t));
|
||||
@@ -162,31 +173,43 @@ static void del_timers(dwc_otg_hcd_t * hcd)
|
||||
@@ -162,31 +173,43 @@ static void del_timers(dwc_otg_hcd_t * h
|
||||
|
||||
/**
|
||||
* Processes all the URBs in a single list of QHs. Completes them with
|
||||
|
@ -1053,7 +1023,7 @@ index 1e89549..986d361 100644
|
|||
* and periodic schedules. The QTD associated with each URB is removed from
|
||||
* the schedule and freed. This function may be called when a disconnect is
|
||||
* detected or when the HCD is being stopped.
|
||||
@@ -272,7 +295,8 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
|
||||
@@ -272,7 +295,8 @@ static int32_t dwc_otg_hcd_disconnect_cb
|
||||
*/
|
||||
dwc_otg_hcd->flags.b.port_connect_status_change = 1;
|
||||
dwc_otg_hcd->flags.b.port_connect_status = 0;
|
||||
|
@ -1063,7 +1033,7 @@ index 1e89549..986d361 100644
|
|||
/*
|
||||
* Shutdown any transfers in process by clearing the Tx FIFO Empty
|
||||
* interrupt mask and status bits and disabling subsequent host
|
||||
@@ -368,8 +392,22 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
|
||||
@@ -368,8 +392,22 @@ static int32_t dwc_otg_hcd_disconnect_cb
|
||||
channel->qh = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -1094,7 +1064,7 @@ index 1e89549..986d361 100644
|
|||
/**
|
||||
* HCD Callback function for Remote Wakeup.
|
||||
*
|
||||
@@ -457,10 +496,12 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
|
||||
@@ -457,10 +496,12 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
|
||||
dwc_otg_hcd_urb_t * dwc_otg_urb, void **ep_handle,
|
||||
int atomic_alloc)
|
||||
{
|
||||
|
@ -1108,7 +1078,7 @@ index 1e89549..986d361 100644
|
|||
|
||||
#ifdef DEBUG /* integrity checks (Broadcom) */
|
||||
if (NULL == hcd->core_if) {
|
||||
@@ -475,6 +516,16 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
|
||||
@@ -475,6 +516,16 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
|
||||
return -DWC_E_NO_DEVICE;
|
||||
}
|
||||
|
||||
|
@ -1125,7 +1095,7 @@ index 1e89549..986d361 100644
|
|||
qtd = dwc_otg_hcd_qtd_create(dwc_otg_urb, atomic_alloc);
|
||||
if (qtd == NULL) {
|
||||
DWC_ERROR("DWC OTG HCD URB Enqueue failed creating QTD\n");
|
||||
@@ -490,32 +541,27 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
|
||||
@@ -490,32 +541,27 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
|
||||
return -DWC_E_NO_MEMORY;
|
||||
}
|
||||
#endif
|
||||
|
@ -1168,7 +1138,7 @@ index 1e89549..986d361 100644
|
|||
return retval;
|
||||
}
|
||||
|
||||
@@ -524,6 +570,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
|
||||
@@ -524,6 +570,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
|
||||
{
|
||||
dwc_otg_qh_t *qh;
|
||||
dwc_otg_qtd_t *urb_qtd;
|
||||
|
@ -1177,7 +1147,7 @@ index 1e89549..986d361 100644
|
|||
|
||||
#ifdef DEBUG /* integrity checks (Broadcom) */
|
||||
|
||||
@@ -540,14 +588,17 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
|
||||
@@ -540,14 +588,17 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
|
||||
return -DWC_E_INVALID;
|
||||
}
|
||||
urb_qtd = dwc_otg_urb->qtd;
|
||||
|
@ -1195,7 +1165,7 @@ index 1e89549..986d361 100644
|
|||
if (CHK_DEBUG_LEVEL(DBG_HCDV | DBG_HCD_URB)) {
|
||||
if (urb_qtd->in_process) {
|
||||
dump_channel_info(hcd, qh);
|
||||
@@ -571,6 +622,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
|
||||
@@ -571,6 +622,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
|
||||
*/
|
||||
dwc_otg_hc_halt(hcd->core_if, qh->channel,
|
||||
DWC_OTG_HC_XFER_URB_DEQUEUE);
|
||||
|
@ -1204,7 +1174,7 @@ index 1e89549..986d361 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -687,6 +740,33 @@ static void reset_tasklet_func(void *data)
|
||||
@@ -687,6 +740,33 @@ static void reset_tasklet_func(void *dat
|
||||
dwc_otg_hcd->flags.b.port_reset_change = 1;
|
||||
}
|
||||
|
||||
|
@ -1238,7 +1208,7 @@ index 1e89549..986d361 100644
|
|||
static void qh_list_free(dwc_otg_hcd_t * hcd, dwc_list_link_t * qh_list)
|
||||
{
|
||||
dwc_list_link_t *item;
|
||||
@@ -819,12 +899,14 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -819,12 +899,14 @@ static void dwc_otg_hcd_free(dwc_otg_hcd
|
||||
} else if (dwc_otg_hcd->status_buf != NULL) {
|
||||
DWC_FREE(dwc_otg_hcd->status_buf);
|
||||
}
|
||||
|
@ -1253,7 +1223,7 @@ index 1e89549..986d361 100644
|
|||
|
||||
#ifdef DWC_DEV_SRPCAP
|
||||
if (dwc_otg_hcd->core_if->power_down == 2 &&
|
||||
@@ -874,7 +956,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
|
||||
@@ -874,7 +956,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
|
||||
DWC_LIST_INIT(&hcd->periodic_sched_ready);
|
||||
DWC_LIST_INIT(&hcd->periodic_sched_assigned);
|
||||
DWC_LIST_INIT(&hcd->periodic_sched_queued);
|
||||
|
@ -1262,7 +1232,7 @@ index 1e89549..986d361 100644
|
|||
/*
|
||||
* Create a host channel descriptor for each host channel implemented
|
||||
* in the controller. Initialize the channel descriptor array.
|
||||
@@ -912,6 +994,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
|
||||
@@ -912,6 +994,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
|
||||
|
||||
/* Initialize reset tasklet. */
|
||||
hcd->reset_tasklet = DWC_TASK_ALLOC("reset_tasklet", reset_tasklet_func, hcd);
|
||||
|
@ -1272,7 +1242,7 @@ index 1e89549..986d361 100644
|
|||
#ifdef DWC_DEV_SRPCAP
|
||||
if (hcd->core_if->power_down == 2) {
|
||||
/* Initialize Power on timer for Host power up in case hibernation */
|
||||
@@ -944,6 +1029,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
|
||||
@@ -944,6 +1029,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
|
||||
hcd->frame_list = NULL;
|
||||
hcd->frame_list_dma = 0;
|
||||
hcd->periodic_qh_count = 0;
|
||||
|
@ -1285,7 +1255,7 @@ index 1e89549..986d361 100644
|
|||
out:
|
||||
return retval;
|
||||
}
|
||||
@@ -1089,7 +1180,12 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -1089,7 +1180,12 @@ static void assign_and_init_hc(dwc_otg_h
|
||||
uint32_t hub_addr, port_addr;
|
||||
hc->do_split = 1;
|
||||
hc->xact_pos = qtd->isoc_split_pos;
|
||||
|
@ -1299,7 +1269,7 @@ index 1e89549..986d361 100644
|
|||
hcd->fops->hub_info(hcd, urb->priv, &hub_addr, &port_addr);
|
||||
hc->hub_addr = (uint8_t) hub_addr;
|
||||
hc->port_addr = (uint8_t) port_addr;
|
||||
@@ -1236,6 +1332,65 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -1236,6 +1332,65 @@ static void assign_and_init_hc(dwc_otg_h
|
||||
hc->qh = qh;
|
||||
}
|
||||
|
||||
|
@ -1365,7 +1335,7 @@ index 1e89549..986d361 100644
|
|||
/**
|
||||
* This function selects transactions from the HCD transfer schedule and
|
||||
* assigns them to available host channels. It is called from HCD interrupt
|
||||
@@ -1249,9 +1404,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1249,9 +1404,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
{
|
||||
dwc_list_link_t *qh_ptr;
|
||||
dwc_otg_qh_t *qh;
|
||||
|
@ -1377,7 +1347,7 @@ index 1e89549..986d361 100644
|
|||
dwc_otg_transaction_type_e ret_val = DWC_OTG_TRANSACTION_NONE;
|
||||
|
||||
#ifdef DEBUG_SOF
|
||||
@@ -1269,11 +1425,29 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1269,11 +1425,29 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
|
||||
while (qh_ptr != &hcd->periodic_sched_ready &&
|
||||
!DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
|
||||
|
@ -1407,7 +1377,7 @@ index 1e89549..986d361 100644
|
|||
break;
|
||||
}
|
||||
hcd->available_host_channels--;
|
||||
@@ -1294,8 +1468,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1294,8 +1468,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_assigned,
|
||||
&qh->qh_list_entry);
|
||||
DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
|
||||
|
@ -1416,7 +1386,7 @@ index 1e89549..986d361 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -1310,6 +1482,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1310,6 +1482,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
num_channels - hcd->periodic_channels) &&
|
||||
!DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
|
||||
|
||||
|
@ -1448,7 +1418,7 @@ index 1e89549..986d361 100644
|
|||
if (microframe_schedule) {
|
||||
DWC_SPINLOCK_IRQSAVE(channel_lock, &flags);
|
||||
if (hcd->available_host_channels < 1) {
|
||||
@@ -1322,7 +1519,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1322,7 +1519,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
last_sel_trans_num_nonper_scheduled++;
|
||||
#endif /* DEBUG_HOST_CHANNELS */
|
||||
}
|
||||
|
@ -1456,7 +1426,7 @@ index 1e89549..986d361 100644
|
|||
|
||||
assign_and_init_hc(hcd, qh);
|
||||
|
||||
@@ -1336,21 +1532,22 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1336,21 +1532,22 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
&qh->qh_list_entry);
|
||||
DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
|
||||
|
||||
|
@ -1486,7 +1456,7 @@ index 1e89549..986d361 100644
|
|||
return ret_val;
|
||||
}
|
||||
|
||||
@@ -1464,6 +1661,15 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
|
||||
@@ -1464,6 +1661,15 @@ static void process_periodic_channels(dw
|
||||
|
||||
qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
|
||||
|
||||
|
@ -1502,7 +1472,7 @@ index 1e89549..986d361 100644
|
|||
/*
|
||||
* Set a flag if we're queuing high-bandwidth in slave mode.
|
||||
* The flag prevents any halts to get into the request queue in
|
||||
@@ -1593,6 +1799,15 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd)
|
||||
@@ -1593,6 +1799,15 @@ static void process_non_periodic_channel
|
||||
|
||||
qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t,
|
||||
qh_list_entry);
|
||||
|
@ -1518,7 +1488,7 @@ index 1e89549..986d361 100644
|
|||
status =
|
||||
queue_transaction(hcd, qh->channel,
|
||||
tx_status.b.nptxfspcavail);
|
||||
@@ -3118,17 +3333,13 @@ dwc_otg_hcd_urb_t *dwc_otg_hcd_urb_alloc(dwc_otg_hcd_t * hcd,
|
||||
@@ -3118,17 +3333,13 @@ dwc_otg_hcd_urb_t *dwc_otg_hcd_urb_alloc
|
||||
else
|
||||
dwc_otg_urb = DWC_ALLOC(size);
|
||||
|
||||
|
@ -1542,8 +1512,6 @@ index 1e89549..986d361 100644
|
|||
return dwc_otg_urb;
|
||||
}
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
index bb4f67a..0007fa1 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
@@ -168,10 +168,10 @@ typedef enum dwc_otg_control_phase {
|
||||
|
@ -1620,7 +1588,7 @@ index bb4f67a..0007fa1 100644
|
|||
/** Frame List DMA address */
|
||||
dma_addr_t frame_list_dma;
|
||||
|
||||
@@ -589,6 +612,10 @@ extern dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t
|
||||
@@ -589,6 +612,10 @@ extern dwc_otg_transaction_type_e dwc_ot
|
||||
extern void dwc_otg_hcd_queue_transactions(dwc_otg_hcd_t * hcd,
|
||||
dwc_otg_transaction_type_e tr_type);
|
||||
|
||||
|
@ -1631,11 +1599,9 @@ index bb4f67a..0007fa1 100644
|
|||
/** @} */
|
||||
|
||||
/** @name Interrupt Handler Functions */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
|
||||
index 274967b..ee920c4 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
|
||||
@@ -276,7 +276,7 @@ void dump_frame_list(dwc_otg_hcd_t * hcd)
|
||||
@@ -276,7 +276,7 @@ void dump_frame_list(dwc_otg_hcd_t * hcd
|
||||
static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
{
|
||||
dwc_irqflags_t flags;
|
||||
|
@ -1644,7 +1610,7 @@ index 274967b..ee920c4 100644
|
|||
|
||||
dwc_hc_t *hc = qh->channel;
|
||||
if (dwc_qh_is_non_per(qh)) {
|
||||
@@ -306,7 +306,6 @@ static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -306,7 +306,6 @@ static void release_channel_ddma(dwc_otg
|
||||
dwc_memset(qh->desc_list, 0x00,
|
||||
sizeof(dwc_otg_host_dma_desc_t) * max_desc_num(qh));
|
||||
}
|
||||
|
@ -1652,11 +1618,9 @@ index 274967b..ee920c4 100644
|
|||
}
|
||||
|
||||
/**
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
|
||||
index 4823167..fb57db0 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
|
||||
@@ -113,6 +113,11 @@ extern void dwc_otg_hcd_remove(dwc_otg_hcd_t * hcd);
|
||||
@@ -113,6 +113,11 @@ extern void dwc_otg_hcd_remove(dwc_otg_h
|
||||
*/
|
||||
extern int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd);
|
||||
|
||||
|
@ -1668,8 +1632,6 @@ index 4823167..fb57db0 100644
|
|||
/**
|
||||
* Returns private data set by
|
||||
* dwc_otg_hcd_set_priv_data function.
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
index b41e164..64d33a5 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
@@ -34,6 +34,12 @@
|
||||
|
@ -2184,7 +2146,7 @@ index b41e164..64d33a5 100644
|
|||
/* Don't print debug message in the interrupt handler on SOF */
|
||||
#ifndef DEBUG_SOF
|
||||
if (gintsts.d32 != DWC_SOF_INTR_MASK)
|
||||
@@ -88,10 +543,16 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -88,10 +543,16 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
"DWC OTG HCD Interrupt Detected gintsts&gintmsk=0x%08x core_if=%p\n",
|
||||
gintsts.d32, core_if);
|
||||
#endif
|
||||
|
@ -2203,7 +2165,7 @@ index b41e164..64d33a5 100644
|
|||
if (gintsts.b.rxstsqlvl) {
|
||||
retval |=
|
||||
dwc_otg_hcd_handle_rx_status_q_level_intr
|
||||
@@ -106,7 +567,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -106,7 +567,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
/** @todo Implement i2cintr handler. */
|
||||
}
|
||||
if (gintsts.b.portintr) {
|
||||
|
@ -2214,7 +2176,7 @@ index b41e164..64d33a5 100644
|
|||
}
|
||||
if (gintsts.b.hcintr) {
|
||||
retval |= dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd);
|
||||
@@ -138,11 +602,48 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -138,11 +602,48 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
#endif
|
||||
|
||||
}
|
||||
|
@ -2263,7 +2225,7 @@ index b41e164..64d33a5 100644
|
|||
#warning Compiling code to track missed SOFs
|
||||
#define FRAME_NUM_ARRAY_SIZE 1000
|
||||
/**
|
||||
@@ -188,7 +689,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
|
||||
@@ -188,7 +689,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
|
||||
dwc_list_link_t *qh_entry;
|
||||
dwc_otg_qh_t *qh;
|
||||
dwc_otg_transaction_type_e tr_type;
|
||||
|
@ -2273,7 +2235,7 @@ index b41e164..64d33a5 100644
|
|||
|
||||
hfnum.d32 =
|
||||
DWC_READ_REG32(&hcd->core_if->host_if->host_global_regs->hfnum);
|
||||
@@ -212,17 +714,31 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
|
||||
@@ -212,17 +714,31 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
|
||||
qh = DWC_LIST_ENTRY(qh_entry, dwc_otg_qh_t, qh_list_entry);
|
||||
qh_entry = qh_entry->next;
|
||||
if (dwc_frame_num_le(qh->sched_frame, hcd->frame_number)) {
|
||||
|
@ -2305,7 +2267,7 @@ index b41e164..64d33a5 100644
|
|||
}
|
||||
|
||||
/* Clear interrupt */
|
||||
@@ -511,6 +1027,15 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -511,6 +1027,15 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o
|
||||
|
||||
haint.d32 = dwc_otg_read_host_all_channels_intr(dwc_otg_hcd->core_if);
|
||||
|
||||
|
@ -2321,7 +2283,7 @@ index b41e164..64d33a5 100644
|
|||
for (i = 0; i < dwc_otg_hcd->core_if->core_params->host_channels; i++) {
|
||||
if (haint.b2.chint & (1 << i)) {
|
||||
retval |= dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd, i);
|
||||
@@ -551,7 +1076,10 @@ static uint32_t get_actual_xfer_length(dwc_hc_t * hc,
|
||||
@@ -551,7 +1076,10 @@ static uint32_t get_actual_xfer_length(d
|
||||
*short_read = (hctsiz.b.xfersize != 0);
|
||||
}
|
||||
} else if (hc->qh->do_split) {
|
||||
|
@ -2333,7 +2295,7 @@ index b41e164..64d33a5 100644
|
|||
} else {
|
||||
length = hc->xfer_len;
|
||||
}
|
||||
@@ -595,7 +1123,6 @@ static int update_urb_state_xfer_comp(dwc_hc_t * hc,
|
||||
@@ -595,7 +1123,6 @@ static int update_urb_state_xfer_comp(dw
|
||||
DWC_OTG_HC_XFER_COMPLETE,
|
||||
&short_read);
|
||||
|
||||
|
@ -2341,7 +2303,7 @@ index b41e164..64d33a5 100644
|
|||
/* non DWORD-aligned buffer case handling. */
|
||||
if (hc->align_buff && xfer_length && hc->ep_is_in) {
|
||||
dwc_memcpy(urb->buf + urb->actual_length, hc->qh->dw_align_buf,
|
||||
@@ -797,11 +1324,24 @@ static void release_channel(dwc_otg_hcd_t * hcd,
|
||||
@@ -797,11 +1324,24 @@ static void release_channel(dwc_otg_hcd_
|
||||
dwc_otg_transaction_type_e tr_type;
|
||||
int free_qtd;
|
||||
dwc_irqflags_t flags;
|
||||
|
@ -2401,7 +2363,7 @@ index b41e164..64d33a5 100644
|
|||
}
|
||||
|
||||
/**
|
||||
@@ -1295,6 +1852,17 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -1295,6 +1852,17 @@ static int32_t handle_hc_nak_intr(dwc_ot
|
||||
"NAK Received--\n", hc->hc_num);
|
||||
|
||||
/*
|
||||
|
@ -2419,7 +2381,7 @@ index b41e164..64d33a5 100644
|
|||
* Handle NAK for IN/OUT SSPLIT/CSPLIT transfers, bulk, control, and
|
||||
* interrupt. Re-start the SSPLIT transfer.
|
||||
*/
|
||||
@@ -1316,7 +1884,11 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -1316,7 +1884,11 @@ static int32_t handle_hc_nak_intr(dwc_ot
|
||||
* transfers in DMA mode for the sole purpose of
|
||||
* resetting the error count after a transaction error
|
||||
* occurs. The core will continue transferring data.
|
||||
|
@ -2431,7 +2393,7 @@ index b41e164..64d33a5 100644
|
|||
qtd->error_count = 0;
|
||||
goto handle_nak_done;
|
||||
}
|
||||
@@ -1428,6 +2000,15 @@ static int32_t handle_hc_ack_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -1428,6 +2000,15 @@ static int32_t handle_hc_ack_intr(dwc_ot
|
||||
halt_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_ACK);
|
||||
}
|
||||
} else {
|
||||
|
@ -2447,7 +2409,7 @@ index b41e164..64d33a5 100644
|
|||
qtd->error_count = 0;
|
||||
|
||||
if (hc->qh->ping_state) {
|
||||
@@ -1490,8 +2071,10 @@ static int32_t handle_hc_nyet_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -1490,8 +2071,10 @@ static int32_t handle_hc_nyet_intr(dwc_o
|
||||
hc->ep_type == DWC_OTG_EP_TYPE_ISOC) {
|
||||
int frnum = dwc_otg_hcd_get_frame_number(hcd);
|
||||
|
||||
|
@ -2459,7 +2421,7 @@ index b41e164..64d33a5 100644
|
|||
/*
|
||||
* No longer in the same full speed frame.
|
||||
* Treat this as a transaction error.
|
||||
@@ -1778,13 +2361,28 @@ static int32_t handle_hc_datatglerr_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -1778,13 +2361,28 @@ static int32_t handle_hc_datatglerr_intr
|
||||
dwc_otg_qtd_t * qtd)
|
||||
{
|
||||
DWC_DEBUGPL(DBG_HCDI, "--Host Channel %d Interrupt: "
|
||||
|
@ -2493,7 +2455,7 @@ index b41e164..64d33a5 100644
|
|||
}
|
||||
|
||||
disable_hc_int(hc_regs, datatglerr);
|
||||
@@ -1862,10 +2460,10 @@ static inline int halt_status_ok(dwc_otg_hcd_t * hcd,
|
||||
@@ -1862,10 +2460,10 @@ static inline int halt_status_ok(dwc_otg
|
||||
static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
dwc_hc_t * hc,
|
||||
dwc_otg_hc_regs_t * hc_regs,
|
||||
|
@ -2507,7 +2469,7 @@ index b41e164..64d33a5 100644
|
|||
int out_nak_enh = 0;
|
||||
|
||||
/* For core with OUT NAK enhancement, the flow for high-
|
||||
@@ -1897,8 +2495,11 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
@@ -1897,8 +2495,11 @@ static void handle_hc_chhltd_intr_dma(dw
|
||||
}
|
||||
|
||||
/* Read the HCINTn register to determine the cause for the halt. */
|
||||
|
@ -2521,7 +2483,7 @@ index b41e164..64d33a5 100644
|
|||
|
||||
if (hcint.b.xfercomp) {
|
||||
/** @todo This is here because of a possible hardware bug. Spec
|
||||
@@ -1937,6 +2538,8 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
@@ -1937,6 +2538,8 @@ static void handle_hc_chhltd_intr_dma(dw
|
||||
handle_hc_babble_intr(hcd, hc, hc_regs, qtd);
|
||||
} else if (hcint.b.frmovrun) {
|
||||
handle_hc_frmovrun_intr(hcd, hc, hc_regs, qtd);
|
||||
|
@ -2530,7 +2492,7 @@ index b41e164..64d33a5 100644
|
|||
} else if (!out_nak_enh) {
|
||||
if (hcint.b.nyet) {
|
||||
/*
|
||||
@@ -1986,12 +2589,24 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
@@ -1986,12 +2589,24 @@ static void handle_hc_chhltd_intr_dma(dw
|
||||
DWC_READ_REG32(&hcd->
|
||||
core_if->core_global_regs->
|
||||
gintsts));
|
||||
|
@ -2555,7 +2517,7 @@ index b41e164..64d33a5 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -2009,13 +2624,15 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
@@ -2009,13 +2624,15 @@ static void handle_hc_chhltd_intr_dma(dw
|
||||
static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
|
||||
dwc_hc_t * hc,
|
||||
dwc_otg_hc_regs_t * hc_regs,
|
||||
|
@ -2573,7 +2535,7 @@ index b41e164..64d33a5 100644
|
|||
} else {
|
||||
#ifdef DEBUG
|
||||
if (!halt_status_ok(hcd, hc, hc_regs, qtd)) {
|
||||
@@ -2032,7 +2649,7 @@ static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -2032,7 +2649,7 @@ static int32_t handle_hc_chhltd_intr(dwc
|
||||
int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
{
|
||||
int retval = 0;
|
||||
|
@ -2582,7 +2544,7 @@ index b41e164..64d33a5 100644
|
|||
hcintmsk_data_t hcintmsk;
|
||||
dwc_hc_t *hc;
|
||||
dwc_otg_hc_regs_t *hc_regs;
|
||||
@@ -2042,15 +2659,33 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
@@ -2042,15 +2659,33 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
|
||||
|
||||
hc = dwc_otg_hcd->hc_ptr_array[num];
|
||||
hc_regs = dwc_otg_hcd->core_if->host_if->hc_regs[num];
|
||||
|
@ -2616,7 +2578,7 @@ index b41e164..64d33a5 100644
|
|||
if (!dwc_otg_hcd->core_if->dma_enable) {
|
||||
if (hcint.b.chhltd && hcint.d32 != 0x2) {
|
||||
hcint.b.chhltd = 0;
|
||||
@@ -2068,7 +2703,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
@@ -2068,7 +2703,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
|
||||
hcint.b.nyet = 0;
|
||||
}
|
||||
if (hcint.b.chhltd) {
|
||||
|
@ -2625,7 +2587,7 @@ index b41e164..64d33a5 100644
|
|||
}
|
||||
if (hcint.b.ahberr) {
|
||||
retval |= handle_hc_ahberr_intr(dwc_otg_hcd, hc, hc_regs, qtd);
|
||||
@@ -2080,7 +2715,8 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
@@ -2080,7 +2715,8 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
|
||||
retval |= handle_hc_nak_intr(dwc_otg_hcd, hc, hc_regs, qtd);
|
||||
}
|
||||
if (hcint.b.ack) {
|
||||
|
@ -2635,14 +2597,12 @@ index b41e164..64d33a5 100644
|
|||
}
|
||||
if (hcint.b.nyet) {
|
||||
retval |= handle_hc_nyet_intr(dwc_otg_hcd, hc, hc_regs, qtd);
|
||||
@@ -2102,5 +2738,4 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
@@ -2102,5 +2738,4 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
|
||||
|
||||
return retval;
|
||||
}
|
||||
-
|
||||
#endif /* DWC_DEVICE_ONLY */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
index e4787f5..ee8eec9 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
@@ -1,3 +1,4 @@
|
||||
|
@ -2676,7 +2636,7 @@ index e4787f5..ee8eec9 100644
|
|||
/** @name Linux HC Driver API Functions */
|
||||
/** @{ */
|
||||
/* manage i/o requests, device state */
|
||||
@@ -259,13 +265,15 @@ static void free_bus_bandwidth(struct usb_hcd *hcd, uint32_t bw,
|
||||
@@ -259,13 +265,15 @@ static void free_bus_bandwidth(struct us
|
||||
|
||||
/**
|
||||
* Sets the final status of an URB and returns it to the device driver. Any
|
||||
|
@ -2694,7 +2654,7 @@ index e4787f5..ee8eec9 100644
|
|||
if (CHK_DEBUG_LEVEL(DBG_HCDV | DBG_HCD_URB)) {
|
||||
DWC_PRINTF("%s: urb %p, device %d, ep %d %s, status=%d\n",
|
||||
__func__, urb, usb_pipedevice(urb->pipe),
|
||||
@@ -279,7 +287,7 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
|
||||
@@ -279,7 +287,7 @@ static int _complete(dwc_otg_hcd_t * hcd
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2703,7 +2663,7 @@ index e4787f5..ee8eec9 100644
|
|||
urb->actual_length = dwc_otg_hcd_urb_get_actual_length(dwc_otg_urb);
|
||||
/* Convert status value. */
|
||||
switch (status) {
|
||||
@@ -301,6 +309,9 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
|
||||
@@ -301,6 +309,9 @@ static int _complete(dwc_otg_hcd_t * hcd
|
||||
case -DWC_E_OVERFLOW:
|
||||
status = -EOVERFLOW;
|
||||
break;
|
||||
|
@ -2713,7 +2673,7 @@ index e4787f5..ee8eec9 100644
|
|||
default:
|
||||
if (status) {
|
||||
DWC_PRINTF("Uknown urb status %d\n", status);
|
||||
@@ -342,18 +353,33 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
|
||||
@@ -342,18 +353,33 @@ static int _complete(dwc_otg_hcd_t * hcd
|
||||
}
|
||||
|
||||
DWC_FREE(dwc_otg_urb);
|
||||
|
@ -2754,7 +2714,7 @@ index e4787f5..ee8eec9 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
@@ -366,6 +392,16 @@ static struct dwc_otg_hcd_function_ops hcd_fops = {
|
||||
@@ -366,6 +392,16 @@ static struct dwc_otg_hcd_function_ops h
|
||||
.get_b_hnp_enable = _get_b_hnp_enable,
|
||||
};
|
||||
|
||||
|
@ -2831,7 +2791,7 @@ index e4787f5..ee8eec9 100644
|
|||
/* Initialize the DWC OTG HCD. */
|
||||
dwc_otg_hcd = dwc_otg_hcd_alloc_hcd();
|
||||
if (!dwc_otg_hcd) {
|
||||
@@ -607,9 +682,7 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd,
|
||||
@@ -607,9 +682,7 @@ static int dwc_otg_urb_enqueue(struct us
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
|
||||
struct usb_host_endpoint *ep = urb->ep;
|
||||
#endif
|
||||
|
@ -2841,7 +2801,7 @@ index e4787f5..ee8eec9 100644
|
|||
void **ref_ep_hcpriv = &ep->hcpriv;
|
||||
dwc_otg_hcd_t *dwc_otg_hcd = hcd_to_dwc_otg_hcd(hcd);
|
||||
dwc_otg_hcd_urb_t *dwc_otg_urb;
|
||||
@@ -661,9 +734,8 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd,
|
||||
@@ -661,9 +734,8 @@ static int dwc_otg_urb_enqueue(struct us
|
||||
if(dwc_otg_urb == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -2853,7 +2813,7 @@ index e4787f5..ee8eec9 100644
|
|||
|
||||
dwc_otg_hcd_urb_set_pipeinfo(dwc_otg_urb, usb_pipedevice(urb->pipe),
|
||||
usb_pipeendpoint(urb->pipe), ep_type,
|
||||
@@ -703,37 +775,42 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd,
|
||||
@@ -703,37 +775,42 @@ static int dwc_otg_urb_enqueue(struct us
|
||||
iso_frame_desc[i].length);
|
||||
}
|
||||
|
||||
|
@ -2897,13 +2857,14 @@ index e4787f5..ee8eec9 100644
|
|||
- DWC_SPINLOCK_IRQSAVE(dwc_otg_hcd->lock, &irqflags);
|
||||
- usb_hcd_unlink_urb_from_ep(hcd, urb);
|
||||
- DWC_SPINUNLOCK_IRQRESTORE(dwc_otg_hcd->lock, irqflags);
|
||||
+ usb_hcd_unlink_urb_from_ep(hcd, urb);
|
||||
#endif
|
||||
-#endif
|
||||
- if (retval == -DWC_E_NO_DEVICE) {
|
||||
- retval = -ENODEV;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ usb_hcd_unlink_urb_from_ep(hcd, urb);
|
||||
+#endif
|
||||
+ DWC_FREE(dwc_otg_urb);
|
||||
+ urb->hcpriv = NULL;
|
||||
+ if (retval == -DWC_E_NO_DEVICE)
|
||||
|
@ -2921,7 +2882,7 @@ index e4787f5..ee8eec9 100644
|
|||
return retval;
|
||||
}
|
||||
|
||||
@@ -777,6 +854,8 @@ static int dwc_otg_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
|
||||
@@ -777,6 +854,8 @@ static int dwc_otg_urb_dequeue(struct us
|
||||
usb_hcd_unlink_urb_from_ep(hcd, urb);
|
||||
#endif
|
||||
DWC_SPINUNLOCK_IRQRESTORE(dwc_otg_hcd->lock, flags);
|
||||
|
@ -2930,8 +2891,6 @@ index e4787f5..ee8eec9 100644
|
|||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
|
||||
usb_hcd_giveback_urb(hcd, urb);
|
||||
#else
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
index 0a1cbb7..5c22b6c 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
@@ -41,6 +41,7 @@
|
||||
|
@ -2942,7 +2901,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
|
||||
extern bool microframe_schedule;
|
||||
|
||||
@@ -182,6 +183,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, dwc_otg_hcd_urb_t * urb)
|
||||
@@ -182,6 +183,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_ot
|
||||
if (microframe_schedule)
|
||||
qh->speed = dev_speed;
|
||||
|
||||
|
@ -2950,7 +2909,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
|
||||
if (((dev_speed == USB_SPEED_LOW) ||
|
||||
(dev_speed == USB_SPEED_FULL)) &&
|
||||
@@ -191,6 +193,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, dwc_otg_hcd_urb_t * urb)
|
||||
@@ -191,6 +193,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_ot
|
||||
dwc_otg_hcd_get_ep_num(&urb->pipe_info), hub_addr,
|
||||
hub_port);
|
||||
qh->do_split = 1;
|
||||
|
@ -2958,7 +2917,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
}
|
||||
|
||||
if (qh->ep_type == UE_INTERRUPT || qh->ep_type == UE_ISOCHRONOUS) {
|
||||
@@ -573,6 +576,9 @@ static int check_max_xfer_size(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -573,6 +576,9 @@ static int check_max_xfer_size(dwc_otg_h
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -2968,7 +2927,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
/**
|
||||
* Schedules an interrupt or isochronous transfer in the periodic schedule.
|
||||
*
|
||||
@@ -631,8 +637,13 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -631,8 +637,13 @@ static int schedule_periodic(dwc_otg_hcd
|
||||
DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry);
|
||||
}
|
||||
else {
|
||||
|
@ -2984,7 +2943,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
}
|
||||
|
||||
if (!microframe_schedule) {
|
||||
@@ -646,6 +657,7 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -646,6 +657,7 @@ static int schedule_periodic(dwc_otg_hcd
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -2992,7 +2951,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
/**
|
||||
* This function adds a QH to either the non periodic or periodic schedule if
|
||||
* it is not already in the schedule. If the QH is already in the schedule, no
|
||||
@@ -668,6 +680,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -668,6 +680,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h
|
||||
/* Always start in the inactive schedule. */
|
||||
DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive,
|
||||
&qh->qh_list_entry);
|
||||
|
@ -3000,7 +2959,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
} else {
|
||||
status = schedule_periodic(hcd, qh);
|
||||
if ( !hcd->periodic_qh_count ) {
|
||||
@@ -727,6 +740,9 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -727,6 +740,9 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t
|
||||
hcd->non_periodic_qh_ptr->next;
|
||||
}
|
||||
DWC_LIST_REMOVE_INIT(&qh->qh_list_entry);
|
||||
|
@ -3010,7 +2969,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
} else {
|
||||
deschedule_periodic(hcd, qh);
|
||||
hcd->periodic_qh_count--;
|
||||
@@ -755,6 +771,24 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
|
||||
@@ -755,6 +771,24 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
|
||||
int sched_next_periodic_split)
|
||||
{
|
||||
if (dwc_qh_is_non_per(qh)) {
|
||||
|
@ -3035,7 +2994,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
dwc_otg_hcd_qh_remove(hcd, qh);
|
||||
if (!DWC_CIRCLEQ_EMPTY(&qh->qtd_list)) {
|
||||
/* Add back to inactive non-periodic schedule. */
|
||||
@@ -768,6 +802,7 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
|
||||
@@ -768,6 +802,7 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
|
||||
if (sched_next_periodic_split) {
|
||||
|
||||
qh->sched_frame = frame_number;
|
||||
|
@ -3043,7 +3002,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
if (dwc_frame_num_le(frame_number,
|
||||
dwc_frame_num_inc
|
||||
(qh->start_split_frame,
|
||||
@@ -816,6 +851,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
|
||||
@@ -816,6 +851,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
|
||||
DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready,
|
||||
&qh->qh_list_entry);
|
||||
} else {
|
||||
|
@ -3055,7 +3014,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
DWC_LIST_MOVE_HEAD
|
||||
(&hcd->periodic_sched_inactive,
|
||||
&qh->qh_list_entry);
|
||||
@@ -880,6 +920,7 @@ void dwc_otg_hcd_qtd_init(dwc_otg_qtd_t * qtd, dwc_otg_hcd_urb_t * urb)
|
||||
@@ -880,6 +920,7 @@ void dwc_otg_hcd_qtd_init(dwc_otg_qtd_t
|
||||
* QH to place the QTD into. If it does not find a QH, then it will create a
|
||||
* new QH. If the QH to which the QTD is added is not currently scheduled, it
|
||||
* is placed into the proper schedule based on its EP type.
|
||||
|
@ -3063,7 +3022,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
*
|
||||
* @param[in] qtd The QTD to add
|
||||
* @param[in] hcd The DWC HCD structure
|
||||
@@ -892,8 +933,6 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd,
|
||||
@@ -892,8 +933,6 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t *
|
||||
dwc_otg_hcd_t * hcd, dwc_otg_qh_t ** qh, int atomic_alloc)
|
||||
{
|
||||
int retval = 0;
|
||||
|
@ -3072,7 +3031,7 @@ index 0a1cbb7..5c22b6c 100644
|
|||
dwc_otg_hcd_urb_t *urb = qtd->urb;
|
||||
|
||||
/*
|
||||
@@ -903,18 +942,16 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd,
|
||||
@@ -903,18 +942,16 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t *
|
||||
if (*qh == NULL) {
|
||||
*qh = dwc_otg_hcd_qh_create(hcd, urb, atomic_alloc);
|
||||
if (*qh == NULL) {
|
||||
|
@ -3093,9 +3052,6 @@ index 0a1cbb7..5c22b6c 100644
|
|||
done:
|
||||
|
||||
return retval;
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
|
||||
new file mode 100755
|
||||
index 0000000..50b94a8
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
|
||||
@@ -0,0 +1,113 @@
|
||||
|
@ -3212,9 +3168,6 @@ index 0000000..50b94a8
|
|||
+
|
||||
+ return;
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
|
||||
new file mode 100755
|
||||
index 0000000..ca17379
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
|
||||
@@ -0,0 +1,48 @@
|
||||
|
@ -3266,8 +3219,6 @@ index 0000000..ca17379
|
|||
+extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable;
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
|
||||
index e46d9bb..6b2c7d0 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
|
||||
@@ -97,6 +97,9 @@ typedef struct os_dependent {
|
||||
|
@ -3280,8 +3231,6 @@ index e46d9bb..6b2c7d0 100644
|
|||
#ifdef LM_INTERFACE
|
||||
struct lm_device *lmdev;
|
||||
#elif defined(PCI_INTERFACE)
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
|
||||
index 1b1f83c..c8590b5 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
|
||||
@@ -4276,7 +4276,7 @@ do { \
|
||||
|
@ -3293,6 +3242,3 @@ index 1b1f83c..c8590b5 100644
|
|||
out_desc_addr->status.d32;
|
||||
|
||||
if (status.b.sr) {
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
218
target/linux/brcm2708/patches-3.18/0026-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch
Executable file → Normal file
218
target/linux/brcm2708/patches-3.18/0026-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch
Executable file → Normal file
|
@ -121,11 +121,9 @@ fiq_fsm: Enable by default
|
|||
delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
|
||||
delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index dc59a6b..a740344 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -330,22 +330,13 @@ static struct resource bcm2708_usb_resources[] = {
|
||||
@@ -330,22 +330,13 @@ static struct resource bcm2708_usb_resou
|
||||
.end = IRQ_HOSTPORT,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
|
@ -165,11 +163,9 @@ index dc59a6b..a740344 100644
|
|||
bcm_register_device(&bcm2708_usb_device);
|
||||
bcm_register_device(&bcm2708_uart1_device);
|
||||
bcm_register_device(&bcm2708_powerman_device);
|
||||
diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile
|
||||
index a56f193..e7bdd12 100644
|
||||
--- a/drivers/usb/host/dwc_otg/Makefile
|
||||
+++ b/drivers/usb/host/dwc_otg/Makefile
|
||||
@@ -36,7 +36,8 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_cil_intr.o
|
||||
@@ -36,7 +36,8 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_ci
|
||||
dwc_otg-objs += dwc_otg_pcd_linux.o dwc_otg_pcd.o dwc_otg_pcd_intr.o
|
||||
dwc_otg-objs += dwc_otg_hcd.o dwc_otg_hcd_linux.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o dwc_otg_hcd_ddma.o
|
||||
dwc_otg-objs += dwc_otg_adp.o
|
||||
|
@ -179,8 +175,6 @@ index a56f193..e7bdd12 100644
|
|||
ifneq ($(CFI),)
|
||||
dwc_otg-objs += dwc_otg_cfi.o
|
||||
endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
index 2f8b3bd..065807f 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
@@ -45,7 +45,6 @@
|
||||
|
@ -191,7 +185,7 @@ index 2f8b3bd..065807f 100644
|
|||
|
||||
#ifdef DEBUG
|
||||
inline const char *op_state_str(dwc_otg_core_if_t * core_if)
|
||||
@@ -1319,7 +1318,7 @@ static int32_t dwc_otg_handle_lpm_intr(dwc_otg_core_if_t * core_if)
|
||||
@@ -1319,7 +1318,7 @@ static int32_t dwc_otg_handle_lpm_intr(d
|
||||
/**
|
||||
* This function returns the Core Interrupt register.
|
||||
*/
|
||||
|
@ -200,7 +194,7 @@ index 2f8b3bd..065807f 100644
|
|||
{
|
||||
gahbcfg_data_t gahbcfg = {.d32 = 0 };
|
||||
gintsts_data_t gintsts;
|
||||
@@ -1345,16 +1344,15 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin
|
||||
@@ -1345,16 +1344,15 @@ static inline uint32_t dwc_otg_read_comm
|
||||
}
|
||||
gintsts.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintsts);
|
||||
gintmsk.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintmsk);
|
||||
|
@ -225,7 +219,7 @@ index 2f8b3bd..065807f 100644
|
|||
}
|
||||
|
||||
gahbcfg.d32 = DWC_READ_REG32(&core_if->core_global_regs->gahbcfg);
|
||||
@@ -1366,13 +1364,15 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin
|
||||
@@ -1366,13 +1364,15 @@ static inline uint32_t dwc_otg_read_comm
|
||||
gintsts.d32, gintmsk.d32);
|
||||
}
|
||||
#endif
|
||||
|
@ -244,7 +238,7 @@ index 2f8b3bd..065807f 100644
|
|||
return ((gintsts.d32 & gintmsk.d32) & gintmsk_common.d32);
|
||||
}
|
||||
|
||||
@@ -1406,7 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1406,7 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
{
|
||||
int retval = 0;
|
||||
gintsts_data_t gintsts;
|
||||
|
@ -253,7 +247,7 @@ index 2f8b3bd..065807f 100644
|
|||
gpwrdn_data_t gpwrdn = {.d32 = 0 };
|
||||
dwc_otg_device_t *otg_dev = dev;
|
||||
dwc_otg_core_if_t *core_if = otg_dev->core_if;
|
||||
@@ -1428,7 +1428,10 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1428,7 +1428,10 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
}
|
||||
|
||||
if (core_if->hibernation_suspend <= 0) {
|
||||
|
@ -265,7 +259,7 @@ index 2f8b3bd..065807f 100644
|
|||
|
||||
if (gintsts.b.modemismatch) {
|
||||
retval |= dwc_otg_handle_mode_mismatch_intr(core_if);
|
||||
@@ -1525,11 +1528,16 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1525,11 +1528,16 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
gintsts.b.portintr = 1;
|
||||
DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32);
|
||||
retval |= 1;
|
||||
|
@ -285,15 +279,13 @@ index 2f8b3bd..065807f 100644
|
|||
|
||||
} else {
|
||||
DWC_DEBUGPL(DBG_ANY, "gpwrdn=%08x\n", gpwrdn.d32);
|
||||
@@ -1583,6 +1591,5 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1583,6 +1591,5 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
}
|
||||
if (core_if->lock)
|
||||
DWC_SPINUNLOCK(core_if->lock);
|
||||
-
|
||||
return retval;
|
||||
}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
index f06c3d22..dc7cd32 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
|
||||
@@ -56,6 +56,7 @@
|
||||
|
@ -312,7 +304,7 @@ index f06c3d22..dc7cd32 100644
|
|||
|
||||
extern int pcd_init(
|
||||
#ifdef LM_INTERFACE
|
||||
@@ -240,13 +240,14 @@ static struct dwc_otg_driver_module_params dwc_otg_module_params = {
|
||||
@@ -240,13 +240,14 @@ static struct dwc_otg_driver_module_para
|
||||
.adp_enable = -1,
|
||||
};
|
||||
|
||||
|
@ -361,7 +353,7 @@ index f06c3d22..dc7cd32 100644
|
|||
#endif
|
||||
DWC_DEBUGPL(DBG_CIL, "registering (common) handler for irq%d\n",
|
||||
devirq);
|
||||
@@ -1071,9 +1071,9 @@ static int __init dwc_otg_driver_init(void)
|
||||
@@ -1071,9 +1071,9 @@ static int __init dwc_otg_driver_init(vo
|
||||
int error;
|
||||
struct device_driver *drv;
|
||||
|
||||
|
@ -374,7 +366,7 @@ index f06c3d22..dc7cd32 100644
|
|||
}
|
||||
|
||||
printk(KERN_INFO "%s: version %s (%s bus)\n", dwc_driver_name,
|
||||
@@ -1095,9 +1095,9 @@ static int __init dwc_otg_driver_init(void)
|
||||
@@ -1095,9 +1095,9 @@ static int __init dwc_otg_driver_init(vo
|
||||
printk(KERN_ERR "%s retval=%d\n", __func__, retval);
|
||||
return retval;
|
||||
}
|
||||
|
@ -387,7 +379,7 @@ index f06c3d22..dc7cd32 100644
|
|||
|
||||
error = driver_create_file(drv, &driver_attr_version);
|
||||
#ifdef DEBUG
|
||||
@@ -1378,12 +1378,19 @@ MODULE_PARM_DESC(otg_ver, "OTG revision supported 0=OTG 1.3 1=OTG 2.0");
|
||||
@@ -1378,12 +1378,19 @@ MODULE_PARM_DESC(otg_ver, "OTG revision
|
||||
module_param(microframe_schedule, bool, 0444);
|
||||
MODULE_PARM_DESC(microframe_schedule, "Enable the microframe scheduler");
|
||||
|
||||
|
@ -413,9 +405,6 @@ index f06c3d22..dc7cd32 100644
|
|||
|
||||
/** @page "Module Parameters"
|
||||
*
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
new file mode 100644
|
||||
index 0000000..1be6e71
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
@@ -0,0 +1,1290 @@
|
||||
|
@ -1709,9 +1698,6 @@ index 0000000..1be6e71
|
|||
+ state->fiq_done++;
|
||||
+ mb();
|
||||
+}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
|
||||
new file mode 100644
|
||||
index 0000000..5c7707f
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
|
||||
@@ -0,0 +1,353 @@
|
||||
|
@ -2068,9 +2054,6 @@ index 0000000..5c7707f
|
|||
+extern void dwc_otg_fiq_nop(struct fiq_state *state);
|
||||
+
|
||||
+#endif /* DWC_OTG_FIQ_FSM_H_ */
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S
|
||||
new file mode 100644
|
||||
index 0000000..ffa8d21
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S
|
||||
@@ -0,0 +1,80 @@
|
||||
|
@ -2154,8 +2137,6 @@ index 0000000..ffa8d21
|
|||
+ subs pc, lr, #4;
|
||||
+_dwc_otg_fiq_stub_end:
|
||||
+END(_dwc_otg_fiq_stub)
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
index 986d361..130096b 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
@@ -45,9 +45,10 @@
|
||||
|
@ -2171,7 +2152,7 @@ index 986d361..130096b 100644
|
|||
|
||||
//#define DEBUG_HOST_CHANNELS
|
||||
#ifdef DEBUG_HOST_CHANNELS
|
||||
@@ -57,12 +58,6 @@ static int last_sel_trans_num_avail_hc_at_start = 0;
|
||||
@@ -57,12 +58,6 @@ static int last_sel_trans_num_avail_hc_a
|
||||
static int last_sel_trans_num_avail_hc_at_end = 0;
|
||||
#endif /* DEBUG_HOST_CHANNELS */
|
||||
|
||||
|
@ -2184,7 +2165,7 @@ index 986d361..130096b 100644
|
|||
|
||||
dwc_otg_hcd_t *dwc_otg_hcd_alloc_hcd(void)
|
||||
{
|
||||
@@ -295,7 +290,7 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
|
||||
@@ -295,7 +290,7 @@ static int32_t dwc_otg_hcd_disconnect_cb
|
||||
*/
|
||||
dwc_otg_hcd->flags.b.port_connect_status_change = 1;
|
||||
dwc_otg_hcd->flags.b.port_connect_status = 0;
|
||||
|
@ -2193,7 +2174,7 @@ index 986d361..130096b 100644
|
|||
local_fiq_disable();
|
||||
/*
|
||||
* Shutdown any transfers in process by clearing the Tx FIFO Empty
|
||||
@@ -392,20 +387,15 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
|
||||
@@ -392,20 +387,15 @@ static int32_t dwc_otg_hcd_disconnect_cb
|
||||
channel->qh = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -2216,7 +2197,7 @@ index 986d361..130096b 100644
|
|||
local_fiq_enable();
|
||||
|
||||
if (dwc_otg_hcd->fops->disconnect) {
|
||||
@@ -542,7 +532,7 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
|
||||
@@ -542,7 +532,7 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
|
||||
}
|
||||
#endif
|
||||
intr_mask.d32 = DWC_READ_REG32(&hcd->core_if->core_global_regs->gintmsk);
|
||||
|
@ -2225,7 +2206,7 @@ index 986d361..130096b 100644
|
|||
if((((dwc_otg_qh_t *)ep_handle)->ep_type == UE_BULK) && !(qtd->urb->flags & URB_GIVEBACK_ASAP))
|
||||
/* Do not schedule SG transactions until qtd has URB_GIVEBACK_ASAP set */
|
||||
needs_scheduling = 0;
|
||||
@@ -613,6 +603,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
|
||||
@@ -613,6 +603,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
|
||||
if (urb_qtd->in_process && qh->channel) {
|
||||
/* The QTD is in process (it has been assigned to a channel). */
|
||||
if (hcd->flags.b.port_connect_status) {
|
||||
|
@ -2233,7 +2214,7 @@ index 986d361..130096b 100644
|
|||
/*
|
||||
* If still connected (i.e. in host mode), halt the
|
||||
* channel so it can be used for other transfers. If
|
||||
@@ -620,10 +611,16 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
|
||||
@@ -620,10 +611,16 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
|
||||
* written to halt the channel since the core is in
|
||||
* device mode.
|
||||
*/
|
||||
|
@ -2254,7 +2235,7 @@ index 986d361..130096b 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -759,7 +756,6 @@ static void completion_tasklet_func(void *ptr)
|
||||
@@ -759,7 +756,6 @@ static void completion_tasklet_func(void
|
||||
|
||||
usb_hcd_giveback_urb(hcd->priv, urb, urb->status);
|
||||
|
||||
|
@ -2297,7 +2278,7 @@ index 986d361..130096b 100644
|
|||
/**
|
||||
* Frees secondary storage associated with the dwc_otg_hcd structure contained
|
||||
* in the struct usb_hcd field.
|
||||
@@ -907,6 +931,7 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -907,6 +931,7 @@ static void dwc_otg_hcd_free(dwc_otg_hcd
|
||||
DWC_TIMER_FREE(dwc_otg_hcd->conn_timer);
|
||||
DWC_TASK_FREE(dwc_otg_hcd->reset_tasklet);
|
||||
DWC_TASK_FREE(dwc_otg_hcd->completion_tasklet);
|
||||
|
@ -2305,7 +2286,7 @@ index 986d361..130096b 100644
|
|||
|
||||
#ifdef DWC_DEV_SRPCAP
|
||||
if (dwc_otg_hcd->core_if->power_down == 2 &&
|
||||
@@ -984,6 +1009,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
|
||||
@@ -984,6 +1009,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
|
||||
channel);
|
||||
}
|
||||
|
||||
|
@ -2365,7 +2346,7 @@ index 986d361..130096b 100644
|
|||
/* Initialize the Connection timeout timer. */
|
||||
hcd->conn_timer = DWC_TIMER_ALLOC("Connection timer",
|
||||
dwc_otg_hcd_connect_timeout, 0);
|
||||
@@ -1181,7 +1259,8 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -1181,7 +1259,8 @@ static void assign_and_init_hc(dwc_otg_h
|
||||
hc->do_split = 1;
|
||||
hc->xact_pos = qtd->isoc_split_pos;
|
||||
/* We don't need to do complete splits anymore */
|
||||
|
@ -2375,7 +2356,7 @@ index 986d361..130096b 100644
|
|||
hc->complete_split = qtd->complete_split = 0;
|
||||
else
|
||||
hc->complete_split = qtd->complete_split;
|
||||
@@ -1332,62 +1411,487 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -1332,62 +1411,487 @@ static void assign_and_init_hc(dwc_otg_h
|
||||
hc->qh = qh;
|
||||
}
|
||||
|
||||
|
@ -2468,7 +2449,8 @@ index 986d361..130096b 100644
|
|||
+ dwc_hc_t *hc = qh->channel;
|
||||
+ struct fiq_dma_blob *blob;
|
||||
+ struct dwc_otg_hcd_iso_packet_desc *frame_desc;
|
||||
+
|
||||
|
||||
- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
|
||||
+ for (i = 0; i < 6; i++) {
|
||||
+ st->dma_info.slot_len[i] = 255;
|
||||
+ }
|
||||
|
@ -2494,24 +2476,23 @@ index 986d361..130096b 100644
|
|||
+ } else {
|
||||
+ if (qh->ep_type == UE_ISOCHRONOUS) {
|
||||
|
||||
- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
|
||||
+ dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list);
|
||||
|
||||
- if(hcd->hub_port[hub_addr] & (1 << port_addr))
|
||||
- {
|
||||
- fiq_print(FIQDBG_PORTHUB, "H%dP%d:S%02d", hub_addr, port_addr, qh->skip_count);
|
||||
+ frame_desc = &qtd->urb->iso_descs[qtd->isoc_frame_index];
|
||||
+ frame_length = frame_desc->length;
|
||||
+ dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list);
|
||||
|
||||
- qh->skip_count++;
|
||||
+ /* Virtual address for bounce buffers */
|
||||
+ blob = hcd->fiq_dmab;
|
||||
+ frame_desc = &qtd->urb->iso_descs[qtd->isoc_frame_index];
|
||||
+ frame_length = frame_desc->length;
|
||||
|
||||
- if(qh->skip_count > 40000)
|
||||
- {
|
||||
- printk_once(KERN_ERR "Error: Having to skip port allocation");
|
||||
- local_fiq_disable();
|
||||
- BUG();
|
||||
+ /* Virtual address for bounce buffers */
|
||||
+ blob = hcd->fiq_dmab;
|
||||
+
|
||||
+ ptr = qtd->urb->buf + frame_desc->offset;
|
||||
+ if (frame_length == 0) {
|
||||
+ /*
|
||||
|
@ -2706,7 +2687,8 @@ index 986d361..130096b 100644
|
|||
+ if (st->fsm != FIQ_PASSTHROUGH)
|
||||
+ return 0;
|
||||
+ st->nr_errors = 0;
|
||||
+
|
||||
|
||||
- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
|
||||
+ st->hcchar_copy.d32 = 0;
|
||||
+ st->hcchar_copy.b.mps = hc->max_packet;
|
||||
+ st->hcchar_copy.b.epdir = hc->ep_is_in;
|
||||
|
@ -2725,7 +2707,12 @@ index 986d361..130096b 100644
|
|||
+ }
|
||||
+ st->hcchar_copy.b.lspddev = (hc->speed == DWC_OTG_EP_SPEED_LOW) ? 1 : 0;
|
||||
+ /* Enable the channel later as a final register write. */
|
||||
+
|
||||
|
||||
- hcd->hub_port[hub_addr] &= ~(1 << port_addr);
|
||||
-#ifdef FIQ_DEBUG
|
||||
- hcd->hub_port_alloc[hub_addr * 16 + port_addr] = -1;
|
||||
-#endif
|
||||
- fiq_print(FIQDBG_PORTHUB, "H%dP%d:RO%d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num);
|
||||
+ st->hcsplt_copy.d32 = 0;
|
||||
+ if(qh->do_split) {
|
||||
+ hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
|
||||
|
@ -2747,17 +2734,11 @@ index 986d361..130096b 100644
|
|||
+ st->hub_addr = hub_addr;
|
||||
+ st->port_addr = port_addr;
|
||||
+ }
|
||||
|
||||
- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
|
||||
+
|
||||
+ st->hctsiz_copy.d32 = 0;
|
||||
+ st->hctsiz_copy.b.dopng = 0;
|
||||
+ st->hctsiz_copy.b.pid = hc->data_pid_start;
|
||||
|
||||
- hcd->hub_port[hub_addr] &= ~(1 << port_addr);
|
||||
-#ifdef FIQ_DEBUG
|
||||
- hcd->hub_port_alloc[hub_addr * 16 + port_addr] = -1;
|
||||
-#endif
|
||||
- fiq_print(FIQDBG_PORTHUB, "H%dP%d:RO%d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num);
|
||||
+
|
||||
+ if (hc->ep_is_in || (hc->xfer_len > hc->max_packet)) {
|
||||
+ hc->xfer_len = hc->max_packet;
|
||||
+ } else if (!hc->ep_is_in && (hc->xfer_len > 188)) {
|
||||
|
@ -2902,7 +2883,7 @@ index 986d361..130096b 100644
|
|||
}
|
||||
|
||||
|
||||
@@ -1404,16 +1908,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1404,16 +1908,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
{
|
||||
dwc_list_link_t *qh_ptr;
|
||||
dwc_otg_qh_t *qh;
|
||||
|
@ -2919,7 +2900,7 @@ index 986d361..130096b 100644
|
|||
#ifdef DEBUG_HOST_CHANNELS
|
||||
last_sel_trans_num_per_scheduled = 0;
|
||||
last_sel_trans_num_nonper_scheduled = 0;
|
||||
@@ -1428,26 +1927,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1428,26 +1927,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
|
||||
qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
|
||||
|
||||
|
@ -2946,7 +2927,7 @@ index 986d361..130096b 100644
|
|||
break;
|
||||
}
|
||||
hcd->available_host_channels--;
|
||||
@@ -1483,27 +1967,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1483,27 +1967,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
!DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
|
||||
|
||||
qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
|
||||
|
@ -2987,7 +2968,7 @@ index 986d361..130096b 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -1532,12 +2013,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
|
||||
@@ -1532,12 +2013,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
|
||||
&qh->qh_list_entry);
|
||||
DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
|
||||
|
||||
|
@ -3021,7 +3002,7 @@ index 986d361..130096b 100644
|
|||
if(!DWC_LIST_EMPTY(&hcd->periodic_sched_assigned))
|
||||
ret_val |= DWC_OTG_TRANSACTION_PERIODIC;
|
||||
|
||||
@@ -1582,6 +2082,12 @@ static int queue_transaction(dwc_otg_hcd_t * hcd,
|
||||
@@ -1582,6 +2082,12 @@ static int queue_transaction(dwc_otg_hcd
|
||||
hc->qh->ping_state = 0;
|
||||
}
|
||||
} else if (!hc->xfer_started) {
|
||||
|
@ -3034,7 +3015,7 @@ index 986d361..130096b 100644
|
|||
dwc_otg_hc_start_transfer(hcd->core_if, hc);
|
||||
hc->qh->ping_state = 0;
|
||||
}
|
||||
@@ -1634,7 +2140,7 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
|
||||
@@ -1634,7 +2140,7 @@ static void process_periodic_channels(dw
|
||||
hptxsts_data_t tx_status;
|
||||
dwc_list_link_t *qh_ptr;
|
||||
dwc_otg_qh_t *qh;
|
||||
|
@ -3043,7 +3024,7 @@ index 986d361..130096b 100644
|
|||
int no_queue_space = 0;
|
||||
int no_fifo_space = 0;
|
||||
|
||||
@@ -1663,27 +2169,34 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
|
||||
@@ -1663,27 +2169,34 @@ static void process_periodic_channels(dw
|
||||
|
||||
// Do not send a split start transaction any later than frame .6
|
||||
// Note, we have to schedule a periodic in .5 to make it go in .6
|
||||
|
@ -3094,7 +3075,7 @@ index 986d361..130096b 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -1800,25 +2313,19 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd)
|
||||
@@ -1800,25 +2313,19 @@ static void process_non_periodic_channel
|
||||
qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t,
|
||||
qh_list_entry);
|
||||
|
||||
|
@ -3105,16 +3086,16 @@ index 986d361..130096b 100644
|
|||
- g_next_sched_frame = dwc_otg_hcd_get_frame_number(hcd) | 7;
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- status =
|
||||
- queue_transaction(hcd, qh->channel,
|
||||
- tx_status.b.nptxfspcavail);
|
||||
+ if(fiq_fsm_enable && fiq_fsm_transaction_suitable(qh)) {
|
||||
+ fiq_fsm_queue_split_transaction(hcd, qh);
|
||||
+ } else {
|
||||
+ status = queue_transaction(hcd, qh->channel,
|
||||
+ tx_status.b.nptxfspcavail);
|
||||
|
||||
- status =
|
||||
- queue_transaction(hcd, qh->channel,
|
||||
- tx_status.b.nptxfspcavail);
|
||||
-
|
||||
- if (status > 0) {
|
||||
- more_to_do = 1;
|
||||
- } else if (status < 0) {
|
||||
|
@ -3131,8 +3112,6 @@ index 986d361..130096b 100644
|
|||
/* Advance to next QH, skipping start-of-list entry. */
|
||||
hcd->non_periodic_qh_ptr = hcd->non_periodic_qh_ptr->next;
|
||||
if (hcd->non_periodic_qh_ptr == &hcd->non_periodic_sched_active) {
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
index 0007fa1..43dbed9 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
|
||||
@@ -40,6 +40,8 @@
|
||||
|
@ -3157,7 +3136,7 @@ index 0007fa1..43dbed9 100644
|
|||
#ifdef DEBUG
|
||||
uint32_t frrem_samples;
|
||||
uint64_t frrem_accum;
|
||||
@@ -615,6 +623,9 @@ extern void dwc_otg_hcd_queue_transactions(dwc_otg_hcd_t * hcd,
|
||||
@@ -615,6 +623,9 @@ extern void dwc_otg_hcd_queue_transactio
|
||||
int dwc_otg_hcd_allocate_port(dwc_otg_hcd_t * hcd, dwc_otg_qh_t *qh);
|
||||
void dwc_otg_hcd_release_port(dwc_otg_hcd_t * dwc_otg_hcd, dwc_otg_qh_t *qh);
|
||||
|
||||
|
@ -3167,8 +3146,6 @@ index 0007fa1..43dbed9 100644
|
|||
|
||||
/** @} */
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
index 64d33a5..4195ff2 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
@@ -34,7 +34,6 @@
|
||||
|
@ -3213,7 +3190,7 @@ index 64d33a5..4195ff2 100644
|
|||
#ifdef FIQ_DEBUG
|
||||
char buffer[1000*16];
|
||||
int wptr;
|
||||
@@ -83,12 +57,10 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...)
|
||||
@@ -83,12 +57,10 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl
|
||||
va_list args;
|
||||
char text[17];
|
||||
hfnum_data_t hfnum = { .d32 = FIQ_READ(dwc_regs_base + 0x408) };
|
||||
|
@ -3227,7 +3204,7 @@ index 64d33a5..4195ff2 100644
|
|||
snprintf(text, 9, "%4d%d:%d ", hfnum.b.frnum/8, hfnum.b.frnum%8, 8 - hfnum.b.frrem/937);
|
||||
va_start(args, fmt);
|
||||
vsnprintf(text+8, 9, fmt, args);
|
||||
@@ -96,410 +68,21 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...)
|
||||
@@ -96,410 +68,21 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl
|
||||
|
||||
memcpy(buffer + wptr, text, 16);
|
||||
wptr = (wptr + 16) % sizeof(buffer);
|
||||
|
@ -3640,7 +3617,7 @@ index 64d33a5..4195ff2 100644
|
|||
|
||||
#ifdef DEBUG
|
||||
dwc_otg_core_global_regs_t *global_regs = core_if->core_global_regs;
|
||||
@@ -516,15 +99,29 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -516,15 +99,29 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
DWC_SPINLOCK(dwc_otg_hcd->lock);
|
||||
/* Check if HOST Mode */
|
||||
if (dwc_otg_is_host_mode(core_if)) {
|
||||
|
@ -3676,7 +3653,7 @@ index 64d33a5..4195ff2 100644
|
|||
|
||||
#ifdef DEBUG
|
||||
// We should be OK doing this because the common interrupts should already have been serviced
|
||||
@@ -544,12 +141,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -544,12 +141,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
gintsts.d32, core_if);
|
||||
#endif
|
||||
hfnum.d32 = DWC_READ_REG32(&dwc_otg_hcd->core_if->host_if->host_global_regs->hfnum);
|
||||
|
@ -3690,7 +3667,7 @@ index 64d33a5..4195ff2 100644
|
|||
retval |= dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd);
|
||||
}
|
||||
|
||||
@@ -604,37 +196,43 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -604,37 +196,43 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
}
|
||||
|
||||
exit_handler_routine:
|
||||
|
@ -3715,12 +3692,17 @@ index 64d33a5..4195ff2 100644
|
|||
- mphi_int_count = 0;
|
||||
- }
|
||||
- int_done++;
|
||||
- }
|
||||
-
|
||||
- // Unmask handled interrupts
|
||||
- FIQ_WRITE(dwc_regs_base + 0x18, gintmsk.d32);
|
||||
- //DWC_MODIFY_REG32((uint32_t *)IO_ADDRESS(USB_BASE + 0x8), 0 , 1);
|
||||
+ gintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->gintmsk_saved.d32;
|
||||
+ if(fiq_fsm_enable)
|
||||
+ haintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->haintmsk_saved.d32;
|
||||
+ else
|
||||
+ haintmsk_new.d32 = 0x0000FFFF;
|
||||
+
|
||||
|
||||
+ /* The FIQ could have sneaked another interrupt in. If so, don't clear MPHI */
|
||||
+ if ((gintmsk_new.d32 == ~0) && (haintmsk_new.d32 == 0x0000FFFF)) {
|
||||
+ DWC_WRITE_REG32(dwc_otg_hcd->fiq_state->mphi_regs.intstat, (1<<16));
|
||||
|
@ -3733,12 +3715,7 @@ index 64d33a5..4195ff2 100644
|
|||
+ dwc_otg_hcd->fiq_state->mphi_int_count = 0;
|
||||
+ }
|
||||
+ int_done++;
|
||||
}
|
||||
-
|
||||
- // Unmask handled interrupts
|
||||
- FIQ_WRITE(dwc_regs_base + 0x18, gintmsk.d32);
|
||||
- //DWC_MODIFY_REG32((uint32_t *)IO_ADDRESS(USB_BASE + 0x8), 0 , 1);
|
||||
-
|
||||
+ }
|
||||
+ haintmsk.d32 = DWC_READ_REG32(&core_if->host_if->host_global_regs->haintmsk);
|
||||
+ /* Re-enable interrupts that the FIQ masked (first time round) */
|
||||
+ FIQ_WRITE(dwc_otg_hcd->fiq_state->dwc_regs_base + GINTMSK, gintmsk.d32);
|
||||
|
@ -3759,7 +3736,7 @@ index 64d33a5..4195ff2 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -686,6 +284,7 @@ static inline void track_missed_sofs(uint16_t curr_frame_number)
|
||||
@@ -686,6 +284,7 @@ static inline void track_missed_sofs(uin
|
||||
int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
|
||||
{
|
||||
hfnum_data_t hfnum;
|
||||
|
@ -3767,7 +3744,7 @@ index 64d33a5..4195ff2 100644
|
|||
dwc_list_link_t *qh_entry;
|
||||
dwc_otg_qh_t *qh;
|
||||
dwc_otg_transaction_type_e tr_type;
|
||||
@@ -732,8 +331,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
|
||||
@@ -732,8 +331,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3778,7 +3755,7 @@ index 64d33a5..4195ff2 100644
|
|||
|
||||
tr_type = dwc_otg_hcd_select_transactions(hcd);
|
||||
if (tr_type != DWC_OTG_TRANSACTION_NONE) {
|
||||
@@ -741,10 +340,11 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
|
||||
@@ -741,10 +340,11 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
|
||||
did_something = 1;
|
||||
}
|
||||
|
||||
|
@ -3794,7 +3771,7 @@ index 64d33a5..4195ff2 100644
|
|||
return 1;
|
||||
}
|
||||
|
||||
@@ -1020,19 +620,21 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -1020,19 +620,21 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o
|
||||
{
|
||||
int i;
|
||||
int retval = 0;
|
||||
|
@ -3821,7 +3798,7 @@ index 64d33a5..4195ff2 100644
|
|||
local_fiq_enable();
|
||||
}
|
||||
|
||||
@@ -1076,9 +678,7 @@ static uint32_t get_actual_xfer_length(dwc_hc_t * hc,
|
||||
@@ -1076,9 +678,7 @@ static uint32_t get_actual_xfer_length(d
|
||||
*short_read = (hctsiz.b.xfersize != 0);
|
||||
}
|
||||
} else if (hc->qh->do_split) {
|
||||
|
@ -3832,7 +3809,7 @@ index 64d33a5..4195ff2 100644
|
|||
length = qtd->ssplit_out_xfer_count;
|
||||
} else {
|
||||
length = hc->xfer_len;
|
||||
@@ -1325,19 +925,17 @@ static void release_channel(dwc_otg_hcd_t * hcd,
|
||||
@@ -1325,19 +925,17 @@ static void release_channel(dwc_otg_hcd_
|
||||
int free_qtd;
|
||||
dwc_irqflags_t flags;
|
||||
dwc_spinlock_t *channel_lock = hcd->channel_lock;
|
||||
|
@ -3893,7 +3870,7 @@ index 64d33a5..4195ff2 100644
|
|||
/* Try to queue more transfers now that there's a free channel. */
|
||||
tr_type = dwc_otg_hcd_select_transactions(hcd);
|
||||
if (tr_type != DWC_OTG_TRANSACTION_NONE) {
|
||||
@@ -1858,7 +1441,7 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -1858,7 +1441,7 @@ static int32_t handle_hc_nak_intr(dwc_ot
|
||||
switch(dwc_otg_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
|
||||
case UE_BULK:
|
||||
case UE_CONTROL:
|
||||
|
@ -3902,7 +3879,7 @@ index 64d33a5..4195ff2 100644
|
|||
hc->qh->nak_frame = dwc_otg_hcd_get_frame_number(hcd);
|
||||
}
|
||||
|
||||
@@ -2074,7 +1657,7 @@ static int32_t handle_hc_nyet_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -2074,7 +1657,7 @@ static int32_t handle_hc_nyet_intr(dwc_o
|
||||
// With the FIQ running we only ever see the failed NYET
|
||||
if (dwc_full_frame_num(frnum) !=
|
||||
dwc_full_frame_num(hc->qh->sched_frame) ||
|
||||
|
@ -3911,7 +3888,7 @@ index 64d33a5..4195ff2 100644
|
|||
/*
|
||||
* No longer in the same full speed frame.
|
||||
* Treat this as a transaction error.
|
||||
@@ -2460,12 +2043,11 @@ static inline int halt_status_ok(dwc_otg_hcd_t * hcd,
|
||||
@@ -2460,12 +2043,11 @@ static inline int halt_status_ok(dwc_otg
|
||||
static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
dwc_hc_t * hc,
|
||||
dwc_otg_hc_regs_t * hc_regs,
|
||||
|
@ -3927,7 +3904,7 @@ index 64d33a5..4195ff2 100644
|
|||
/* For core with OUT NAK enhancement, the flow for high-
|
||||
* speed CONTROL/BULK OUT is handled a little differently.
|
||||
*/
|
||||
@@ -2495,11 +2077,9 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
@@ -2495,11 +2077,9 @@ static void handle_hc_chhltd_intr_dma(dw
|
||||
}
|
||||
|
||||
/* Read the HCINTn register to determine the cause for the halt. */
|
||||
|
@ -3942,7 +3919,7 @@ index 64d33a5..4195ff2 100644
|
|||
|
||||
if (hcint.b.xfercomp) {
|
||||
/** @todo This is here because of a possible hardware bug. Spec
|
||||
@@ -2624,15 +2204,13 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
|
||||
@@ -2624,15 +2204,13 @@ static void handle_hc_chhltd_intr_dma(dw
|
||||
static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
|
||||
dwc_hc_t * hc,
|
||||
dwc_otg_hc_regs_t * hc_regs,
|
||||
|
@ -3960,7 +3937,7 @@ index 64d33a5..4195ff2 100644
|
|||
} else {
|
||||
#ifdef DEBUG
|
||||
if (!halt_status_ok(hcd, hc, hc_regs, qtd)) {
|
||||
@@ -2645,11 +2223,372 @@ static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
|
||||
@@ -2645,11 +2223,372 @@ static int32_t handle_hc_chhltd_intr(dwc
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -4334,7 +4311,7 @@ index 64d33a5..4195ff2 100644
|
|||
hcintmsk_data_t hcintmsk;
|
||||
dwc_hc_t *hc;
|
||||
dwc_otg_hc_regs_t *hc_regs;
|
||||
@@ -2668,24 +2607,32 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
@@ -2668,24 +2607,32 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
|
||||
}
|
||||
qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list);
|
||||
|
||||
|
@ -4382,7 +4359,7 @@ index 64d33a5..4195ff2 100644
|
|||
if (!dwc_otg_hcd->core_if->dma_enable) {
|
||||
if (hcint.b.chhltd && hcint.d32 != 0x2) {
|
||||
hcint.b.chhltd = 0;
|
||||
@@ -2703,7 +2650,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
@@ -2703,7 +2650,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
|
||||
hcint.b.nyet = 0;
|
||||
}
|
||||
if (hcint.b.chhltd) {
|
||||
|
@ -4391,8 +4368,6 @@ index 64d33a5..4195ff2 100644
|
|||
}
|
||||
if (hcint.b.ahberr) {
|
||||
retval |= handle_hc_ahberr_intr(dwc_otg_hcd, hc, hc_regs, qtd);
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
index ee8eec9..98e1dc5 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
@@ -58,6 +58,7 @@
|
||||
|
@ -4422,7 +4397,7 @@ index ee8eec9..98e1dc5 100644
|
|||
|
||||
/** @name Linux HC Driver API Functions */
|
||||
/** @{ */
|
||||
@@ -351,7 +353,6 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
|
||||
@@ -351,7 +353,6 @@ static int _complete(dwc_otg_hcd_t * hcd
|
||||
urb);
|
||||
}
|
||||
}
|
||||
|
@ -4430,7 +4405,7 @@ index ee8eec9..98e1dc5 100644
|
|||
DWC_FREE(dwc_otg_urb);
|
||||
if (!new_entry) {
|
||||
DWC_ERROR("dwc_otg_hcd: complete: cannot allocate URB TQ entry\n");
|
||||
@@ -395,13 +396,9 @@ static struct dwc_otg_hcd_function_ops hcd_fops = {
|
||||
@@ -395,13 +396,9 @@ static struct dwc_otg_hcd_function_ops h
|
||||
static struct fiq_handler fh = {
|
||||
.name = "usb_fiq",
|
||||
};
|
||||
|
@ -4582,8 +4557,6 @@ index ee8eec9..98e1dc5 100644
|
|||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
index 5c22b6c..17d3030 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
|
||||
@@ -41,7 +41,6 @@
|
||||
|
@ -4594,7 +4567,7 @@ index 5c22b6c..17d3030 100644
|
|||
|
||||
extern bool microframe_schedule;
|
||||
|
||||
@@ -577,7 +576,6 @@ static int check_max_xfer_size(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -577,7 +576,6 @@ static int check_max_xfer_size(dwc_otg_h
|
||||
}
|
||||
|
||||
|
||||
|
@ -4602,7 +4575,7 @@ index 5c22b6c..17d3030 100644
|
|||
|
||||
/**
|
||||
* Schedules an interrupt or isochronous transfer in the periodic schedule.
|
||||
@@ -637,9 +635,9 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -637,9 +635,9 @@ static int schedule_periodic(dwc_otg_hcd
|
||||
DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry);
|
||||
}
|
||||
else {
|
||||
|
@ -4614,7 +4587,7 @@ index 5c22b6c..17d3030 100644
|
|||
|
||||
}
|
||||
/* Always start in the inactive schedule. */
|
||||
@@ -680,7 +678,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -680,7 +678,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h
|
||||
/* Always start in the inactive schedule. */
|
||||
DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive,
|
||||
&qh->qh_list_entry);
|
||||
|
@ -4623,7 +4596,7 @@ index 5c22b6c..17d3030 100644
|
|||
} else {
|
||||
status = schedule_periodic(hcd, qh);
|
||||
if ( !hcd->periodic_qh_count ) {
|
||||
@@ -740,13 +738,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -740,13 +738,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t
|
||||
hcd->non_periodic_qh_ptr->next;
|
||||
}
|
||||
DWC_LIST_REMOVE_INIT(&qh->qh_list_entry);
|
||||
|
@ -4640,7 +4613,7 @@ index 5c22b6c..17d3030 100644
|
|||
intr_mask.b.sofintr = 1;
|
||||
DWC_MODIFY_REG32(&hcd->core_if->core_global_regs->gintmsk,
|
||||
intr_mask.d32, 0);
|
||||
@@ -771,28 +768,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
|
||||
@@ -771,28 +768,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
|
||||
int sched_next_periodic_split)
|
||||
{
|
||||
if (dwc_qh_is_non_per(qh)) {
|
||||
|
@ -4670,7 +4643,7 @@ index 5c22b6c..17d3030 100644
|
|||
}
|
||||
} else {
|
||||
uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd);
|
||||
@@ -851,9 +831,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
|
||||
@@ -851,9 +831,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
|
||||
DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready,
|
||||
&qh->qh_list_entry);
|
||||
} else {
|
||||
|
@ -4682,7 +4655,7 @@ index 5c22b6c..17d3030 100644
|
|||
}
|
||||
|
||||
DWC_LIST_MOVE_HEAD
|
||||
@@ -944,6 +924,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd,
|
||||
@@ -944,6 +924,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t *
|
||||
if (*qh == NULL) {
|
||||
retval = -DWC_E_NO_MEMORY;
|
||||
goto done;
|
||||
|
@ -4692,9 +4665,6 @@ index 5c22b6c..17d3030 100644
|
|||
}
|
||||
}
|
||||
retval = dwc_otg_hcd_qh_add(hcd, *qh);
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
|
||||
deleted file mode 100755
|
||||
index 50b94a8..0000000
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
|
||||
+++ /dev/null
|
||||
@@ -1,113 +0,0 @@
|
||||
|
@ -4811,9 +4781,6 @@ index 50b94a8..0000000
|
|||
-
|
||||
- return;
|
||||
-}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
|
||||
deleted file mode 100755
|
||||
index ca17379..0000000
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
|
||||
+++ /dev/null
|
||||
@@ -1,48 +0,0 @@
|
||||
|
@ -4865,8 +4832,6 @@ index ca17379..0000000
|
|||
-extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable;
|
||||
-
|
||||
-#endif
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
|
||||
index 5d310df..4b32941 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
|
||||
@@ -59,6 +59,8 @@
|
||||
|
@ -4895,6 +4860,3 @@ index 5d310df..4b32941 100644
|
|||
free_wrapper(gadget_wrapper);
|
||||
return -EBUSY;
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
54
target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
Executable file → Normal file
54
target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
Executable file → Normal file
|
@ -46,9 +46,6 @@ Signed-off-by: Luke Diamand <luked@broadcom.com>
|
|||
create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.c
|
||||
create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.h
|
||||
|
||||
diff --git a/Documentation/video4linux/bcm2835-v4l2.txt b/Documentation/video4linux/bcm2835-v4l2.txt
|
||||
new file mode 100644
|
||||
index 0000000..c585a8f
|
||||
--- /dev/null
|
||||
+++ b/Documentation/video4linux/bcm2835-v4l2.txt
|
||||
@@ -0,0 +1,60 @@
|
||||
|
@ -112,8 +109,6 @@ index 0000000..c585a8f
|
|||
+List of available formats:
|
||||
+
|
||||
+$ v4l2-ctl --list-formats
|
||||
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
|
||||
index 3aac88f..9bc18aa 100644
|
||||
--- a/drivers/media/platform/Kconfig
|
||||
+++ b/drivers/media/platform/Kconfig
|
||||
@@ -126,6 +126,7 @@ config VIDEO_S3C_CAMIF
|
||||
|
@ -124,20 +119,15 @@ index 3aac88f..9bc18aa 100644
|
|||
|
||||
endif # V4L_PLATFORM_DRIVERS
|
||||
|
||||
diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
|
||||
index 579046b..9c9cb34 100644
|
||||
--- a/drivers/media/platform/Makefile
|
||||
+++ b/drivers/media/platform/Makefile
|
||||
@@ -49,4 +49,6 @@ obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1/
|
||||
@@ -49,4 +49,6 @@ obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1
|
||||
|
||||
obj-y += omap/
|
||||
|
||||
+obj-$(CONFIG_VIDEO_BCM2835) += bcm2835/
|
||||
+
|
||||
ccflags-y += -I$(srctree)/drivers/media/i2c
|
||||
diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000..a8fd172
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/Kconfig
|
||||
@@ -0,0 +1,25 @@
|
||||
|
@ -166,9 +156,6 @@ index 0000000..a8fd172
|
|||
+
|
||||
+
|
||||
+endif # VIDEO_BM2835
|
||||
diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..f17c79c
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/Makefile
|
||||
@@ -0,0 +1,5 @@
|
||||
|
@ -177,9 +164,6 @@ index 0000000..f17c79c
|
|||
+obj-$(CONFIG_VIDEO_BCM2835_MMAL) += bcm2835-v4l2.o
|
||||
+
|
||||
+ccflags-$(CONFIG_VIDEO_BCM2835) += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
|
||||
diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
||||
new file mode 100644
|
||||
index 0000000..1c9d9d5
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
||||
@@ -0,0 +1,1476 @@
|
||||
|
@ -1659,9 +1643,6 @@ index 0000000..1c9d9d5
|
|||
+
|
||||
+module_init(bm2835_mmal_init);
|
||||
+module_exit(bm2835_mmal_exit);
|
||||
diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h
|
||||
new file mode 100644
|
||||
index 0000000..883eab7
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
|
||||
@@ -0,0 +1,113 @@
|
||||
|
@ -1778,9 +1759,6 @@ index 0000000..883eab7
|
|||
+ (pix_fmt)->pixelformat, (pix_fmt)->bytesperline, \
|
||||
+ (pix_fmt)->sizeimage, (pix_fmt)->colorspace, (pix_fmt)->priv); \
|
||||
+}
|
||||
diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c
|
||||
new file mode 100644
|
||||
index 0000000..d1408e5
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/controls.c
|
||||
@@ -0,0 +1,725 @@
|
||||
|
@ -2509,9 +2487,6 @@ index 0000000..d1408e5
|
|||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h
|
||||
new file mode 100644
|
||||
index 0000000..84abbb3
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-common.h
|
||||
@@ -0,0 +1,51 @@
|
||||
|
@ -2566,9 +2541,6 @@ index 0000000..84abbb3
|
|||
+ u32 u;
|
||||
+ u32 v;
|
||||
+};
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h
|
||||
new file mode 100644
|
||||
index 0000000..856e80e
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-encodings.h
|
||||
@@ -0,0 +1,93 @@
|
||||
|
@ -2665,9 +2637,6 @@ index 0000000..856e80e
|
|||
+#define MMAL_ENCODING_VARIANT_H264_AVC1 MMAL_FOURCC('A', 'V', 'C', '1')
|
||||
+/** Implicitly delineated NAL units without emulation prevention */
|
||||
+#define MMAL_ENCODING_VARIANT_H264_RAW MMAL_FOURCC('R', 'A', 'W', ' ')
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-msg-common.h b/drivers/media/platform/bcm2835/mmal-msg-common.h
|
||||
new file mode 100644
|
||||
index 0000000..66e8a6e
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-msg-common.h
|
||||
@@ -0,0 +1,50 @@
|
||||
|
@ -2721,9 +2690,6 @@ index 0000000..66e8a6e
|
|||
+};
|
||||
+
|
||||
+#endif /* MMAL_MSG_COMMON_H */
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-msg-format.h b/drivers/media/platform/bcm2835/mmal-msg-format.h
|
||||
new file mode 100644
|
||||
index 0000000..123d86e
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-msg-format.h
|
||||
@@ -0,0 +1,81 @@
|
||||
|
@ -2808,9 +2774,6 @@ index 0000000..123d86e
|
|||
+};
|
||||
+
|
||||
+#endif /* MMAL_MSG_FORMAT_H */
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-msg-port.h b/drivers/media/platform/bcm2835/mmal-msg-port.h
|
||||
new file mode 100644
|
||||
index 0000000..a55c1ea
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-msg-port.h
|
||||
@@ -0,0 +1,107 @@
|
||||
|
@ -2921,9 +2884,6 @@ index 0000000..a55c1ea
|
|||
+ */
|
||||
+
|
||||
+};
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-msg.h b/drivers/media/platform/bcm2835/mmal-msg.h
|
||||
new file mode 100644
|
||||
index 0000000..67b1076
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-msg.h
|
||||
@@ -0,0 +1,404 @@
|
||||
|
@ -3331,9 +3291,6 @@ index 0000000..67b1076
|
|||
+ u8 payload[MMAL_MSG_MAX_PAYLOAD];
|
||||
+ } u;
|
||||
+};
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h
|
||||
new file mode 100644
|
||||
index 0000000..c611b58
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-parameters.h
|
||||
@@ -0,0 +1,539 @@
|
||||
|
@ -3876,9 +3833,6 @@ index 0000000..c611b58
|
|||
+ u32 num_effect_params;
|
||||
+ u32 effect_parameter[MMAL_MAX_IMAGEFX_PARAMETERS];
|
||||
+};
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c
|
||||
new file mode 100644
|
||||
index 0000000..a06fb44
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-vchiq.c
|
||||
@@ -0,0 +1,1916 @@
|
||||
|
@ -5798,9 +5752,6 @@ index 0000000..a06fb44
|
|||
+ kfree(instance);
|
||||
+ return -ENODEV;
|
||||
+}
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.h b/drivers/media/platform/bcm2835/mmal-vchiq.h
|
||||
new file mode 100644
|
||||
index 0000000..9d1d11e
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-vchiq.h
|
||||
@@ -0,0 +1,178 @@
|
||||
|
@ -5982,6 +5933,3 @@ index 0000000..9d1d11e
|
|||
+ struct mmal_buffer *buf);
|
||||
+
|
||||
+#endif /* MMAL_VCHIQ_H */
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
107
target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch
Executable file → Normal file
107
target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch
Executable file → Normal file
|
@ -232,8 +232,6 @@ bcm2835-camera: stop_streaming now has a void return
|
|||
drivers/media/platform/bcm2835/mmal-vchiq.c | 4 +-
|
||||
8 files changed, 1300 insertions(+), 187 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 897616c..3f99687 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -708,6 +708,9 @@ CONFIG_DVB_AS102=m
|
||||
|
@ -246,8 +244,6 @@ index 897616c..3f99687 100644
|
|||
CONFIG_RADIO_SI470X=y
|
||||
CONFIG_USB_SI470X=m
|
||||
CONFIG_I2C_SI470X=m
|
||||
diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
||||
index 1c9d9d5..e5a0010 100644
|
||||
--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
|
||||
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
||||
@@ -36,7 +36,8 @@
|
||||
|
@ -415,7 +411,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
};
|
||||
|
||||
static struct mmal_fmt *get_format(struct v4l2_format *f)
|
||||
@@ -229,7 +336,8 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
|
||||
@@ -229,7 +336,8 @@ static void buffer_cb(struct vchiq_mmal_
|
||||
}
|
||||
} else {
|
||||
if (dev->capture.frame_count) {
|
||||
|
@ -425,7 +421,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
s64 runtime_us = pts -
|
||||
dev->capture.vc_start_timestamp;
|
||||
u32 div = 0;
|
||||
@@ -250,7 +358,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
|
||||
@@ -250,7 +358,7 @@ static void buffer_cb(struct vchiq_mmal_
|
||||
USEC_PER_SEC;
|
||||
}
|
||||
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
|
||||
|
@ -434,7 +430,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
"with offset %llu to %d.%06d\n",
|
||||
(int)dev->capture.kernel_start_ts.
|
||||
tv_sec,
|
||||
@@ -425,7 +533,15 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
|
||||
@@ -425,7 +533,15 @@ static int start_streaming(struct vb2_qu
|
||||
vchiq_mmal_port_enable(dev->instance, dev->capture.port, buffer_cb);
|
||||
if (ret) {
|
||||
v4l2_err(&dev->v4l2_dev,
|
||||
|
@ -451,7 +447,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
return -1;
|
||||
}
|
||||
|
||||
@@ -439,7 +555,7 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
|
||||
@@ -439,7 +555,7 @@ static int start_streaming(struct vb2_qu
|
||||
}
|
||||
|
||||
/* abort streaming and wait for last buffer */
|
||||
|
@ -460,7 +456,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
{
|
||||
int ret;
|
||||
struct bm2835_mmal_dev *dev = vb2_get_drv_priv(vq);
|
||||
@@ -451,8 +567,11 @@ static int stop_streaming(struct vb2_queue *vq)
|
||||
@@ -451,8 +567,11 @@ static int stop_streaming(struct vb2_que
|
||||
dev->capture.frame_count = 0;
|
||||
|
||||
/* ensure a format has actually been set */
|
||||
|
@ -474,7 +470,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, "stopping capturing\n");
|
||||
|
||||
@@ -483,12 +602,8 @@ static int stop_streaming(struct vb2_queue *vq)
|
||||
@@ -483,12 +602,8 @@ static int stop_streaming(struct vb2_que
|
||||
ret);
|
||||
}
|
||||
|
||||
|
@ -489,7 +485,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
}
|
||||
|
||||
static void bm2835_mmal_lock(struct vb2_queue *vq)
|
||||
@@ -530,6 +645,7 @@ static int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv,
|
||||
@@ -530,6 +645,7 @@ static int vidioc_enum_fmt_vid_overlay(s
|
||||
|
||||
strlcpy(f->description, fmt->name, sizeof(f->description));
|
||||
f->pixelformat = fmt->fourcc;
|
||||
|
@ -497,7 +493,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -647,10 +763,18 @@ static int vidioc_g_fbuf(struct file *file, void *fh,
|
||||
@@ -647,10 +763,18 @@ static int vidioc_g_fbuf(struct file *fi
|
||||
{
|
||||
/* The video overlay must stay within the framebuffer and can't be
|
||||
positioned independently. */
|
||||
|
@ -519,7 +515,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -717,6 +841,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
|
||||
@@ -717,6 +841,8 @@ static int vidioc_enum_fmt_vid_cap(struc
|
||||
|
||||
strlcpy(f->description, fmt->name, sizeof(f->description));
|
||||
f->pixelformat = fmt->fourcc;
|
||||
|
@ -528,7 +524,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
@@ -729,20 +855,13 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv,
|
||||
@@ -729,20 +855,13 @@ static int vidioc_g_fmt_vid_cap(struct f
|
||||
f->fmt.pix.height = dev->capture.height;
|
||||
f->fmt.pix.field = V4L2_FIELD_NONE;
|
||||
f->fmt.pix.pixelformat = dev->capture.fmt->fourcc;
|
||||
|
@ -554,7 +550,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
f->fmt.pix.priv = 0;
|
||||
|
||||
v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
|
||||
@@ -766,21 +885,35 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
|
||||
@@ -766,21 +885,35 @@ static int vidioc_try_fmt_vid_cap(struct
|
||||
}
|
||||
|
||||
f->fmt.pix.field = V4L2_FIELD_NONE;
|
||||
|
@ -600,7 +596,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
|
||||
__func__);
|
||||
return 0;
|
||||
@@ -818,8 +951,8 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||
@@ -818,8 +951,8 @@ static int mmal_setup_components(struct
|
||||
switch (mfmt->mmal_component) {
|
||||
case MMAL_COMPONENT_CAMERA:
|
||||
/* Make a further decision on port based on resolution */
|
||||
|
@ -611,7 +607,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
camera_port = port =
|
||||
&dev->component[MMAL_COMPONENT_CAMERA]->
|
||||
output[MMAL_CAMERA_PORT_VIDEO];
|
||||
@@ -861,8 +994,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||
@@ -861,8 +994,9 @@ static int mmal_setup_components(struct
|
||||
camera_port->es.video.crop.y = 0;
|
||||
camera_port->es.video.crop.width = f->fmt.pix.width;
|
||||
camera_port->es.video.crop.height = f->fmt.pix.height;
|
||||
|
@ -622,7 +618,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
|
||||
|
||||
@@ -896,8 +1030,10 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||
@@ -896,8 +1030,10 @@ static int mmal_setup_components(struct
|
||||
preview_port->es.video.crop.y = 0;
|
||||
preview_port->es.video.crop.width = f->fmt.pix.width;
|
||||
preview_port->es.video.crop.height = f->fmt.pix.height;
|
||||
|
@ -635,7 +631,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
ret = vchiq_mmal_port_set_format(dev->instance, preview_port);
|
||||
if (overlay_enabled) {
|
||||
ret = vchiq_mmal_port_connect_tunnel(
|
||||
@@ -913,7 +1049,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||
@@ -913,7 +1049,9 @@ static int mmal_setup_components(struct
|
||||
|
||||
if (ret) {
|
||||
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
|
||||
|
@ -646,7 +642,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
/* ensure capture is not going to be tried */
|
||||
dev->capture.port = NULL;
|
||||
} else {
|
||||
@@ -927,69 +1065,91 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||
@@ -927,69 +1065,91 @@ static int mmal_setup_components(struct
|
||||
camera_port->current_buffer.num =
|
||||
camera_port->recommended_buffer.num;
|
||||
|
||||
|
@ -792,7 +788,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
}
|
||||
} else {
|
||||
/* configure buffering */
|
||||
@@ -1001,13 +1161,20 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||
@@ -1001,13 +1161,20 @@ static int mmal_setup_components(struct
|
||||
if (!ret) {
|
||||
dev->capture.fmt = mfmt;
|
||||
dev->capture.stride = f->fmt.pix.bytesperline;
|
||||
|
@ -815,7 +811,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -1048,14 +1215,115 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
|
||||
@@ -1048,14 +1215,115 @@ static int vidioc_s_fmt_vid_cap(struct f
|
||||
}
|
||||
|
||||
ret = mmal_setup_components(dev, f);
|
||||
|
@ -932,7 +928,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
static const struct v4l2_ioctl_ops camera0_ioctl_ops = {
|
||||
/* overlay */
|
||||
.vidioc_enum_fmt_vid_overlay = vidioc_enum_fmt_vid_overlay,
|
||||
@@ -1084,6 +1352,51 @@ static const struct v4l2_ioctl_ops camera0_ioctl_ops = {
|
||||
@@ -1084,6 +1352,51 @@ static const struct v4l2_ioctl_ops camer
|
||||
.vidioc_querybuf = vb2_ioctl_querybuf,
|
||||
.vidioc_qbuf = vb2_ioctl_qbuf,
|
||||
.vidioc_dqbuf = vb2_ioctl_dqbuf,
|
||||
|
@ -984,7 +980,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
.vidioc_streamon = vb2_ioctl_streamon,
|
||||
.vidioc_streamoff = vb2_ioctl_streamoff,
|
||||
|
||||
@@ -1122,8 +1435,10 @@ static int set_camera_parameters(struct vchiq_mmal_instance *instance,
|
||||
@@ -1122,8 +1435,10 @@ static int set_camera_parameters(struct
|
||||
.max_stills_h = MAX_HEIGHT,
|
||||
.stills_yuv422 = 1,
|
||||
.one_shot_stills = 1,
|
||||
|
@ -997,7 +993,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
.num_preview_video_frames = 3,
|
||||
.stills_capture_circular_buffer_height = 0,
|
||||
.fast_preview_resume = 0,
|
||||
@@ -1141,6 +1456,7 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
|
||||
@@ -1141,6 +1456,7 @@ static int __init mmal_init(struct bm283
|
||||
{
|
||||
int ret;
|
||||
struct mmal_es_format *format;
|
||||
|
@ -1005,7 +1001,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
ret = vchiq_mmal_init(&dev->instance);
|
||||
if (ret < 0)
|
||||
@@ -1176,8 +1492,8 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
|
||||
@@ -1176,8 +1492,8 @@ static int __init mmal_init(struct bm283
|
||||
format->es->video.crop.y = 0;
|
||||
format->es->video.crop.width = 1024;
|
||||
format->es->video.crop.height = 768;
|
||||
|
@ -1016,7 +1012,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
format =
|
||||
&dev->component[MMAL_COMPONENT_CAMERA]->
|
||||
@@ -1192,8 +1508,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
|
||||
@@ -1192,8 +1508,14 @@ static int __init mmal_init(struct bm283
|
||||
format->es->video.crop.y = 0;
|
||||
format->es->video.crop.width = 1024;
|
||||
format->es->video.crop.height = 768;
|
||||
|
@ -1033,7 +1029,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
format =
|
||||
&dev->component[MMAL_COMPONENT_CAMERA]->
|
||||
@@ -1207,13 +1529,22 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
|
||||
@@ -1207,13 +1529,22 @@ static int __init mmal_init(struct bm283
|
||||
format->es->video.crop.y = 0;
|
||||
format->es->video.crop.width = 2592;
|
||||
format->es->video.crop.height = 1944;
|
||||
|
@ -1057,7 +1053,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
/* get the preview component ready */
|
||||
ret = vchiq_mmal_component_init(
|
||||
@@ -1260,6 +1591,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
|
||||
@@ -1260,6 +1591,14 @@ static int __init mmal_init(struct bm283
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -1072,7 +1068,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
unsigned int enable = 1;
|
||||
vchiq_mmal_port_parameter_set(
|
||||
dev->instance,
|
||||
@@ -1312,6 +1651,11 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
|
||||
@@ -1312,6 +1651,11 @@ static int __init bm2835_mmal_init_devic
|
||||
int ret;
|
||||
|
||||
*vfd = vdev_template;
|
||||
|
@ -1084,7 +1080,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
vfd->v4l2_dev = &dev->v4l2_dev;
|
||||
|
||||
@@ -1326,8 +1670,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
|
||||
@@ -1326,8 +1670,9 @@ static int __init bm2835_mmal_init_devic
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
@ -1096,7 +1092,7 @@ index 1c9d9d5..e5a0010 100644
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -1335,9 +1680,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
|
||||
@@ -1335,9 +1680,9 @@ static int __init bm2835_mmal_init_devic
|
||||
static struct v4l2_format default_v4l2_format = {
|
||||
.fmt.pix.pixelformat = V4L2_PIX_FMT_JPEG,
|
||||
.fmt.pix.width = 1024,
|
||||
|
@ -1118,8 +1114,6 @@ index 1c9d9d5..e5a0010 100644
|
|||
ret = mmal_setup_components(dev, &default_v4l2_format);
|
||||
if (ret < 0) {
|
||||
v4l2_err(&dev->v4l2_dev,
|
||||
diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h
|
||||
index 883eab7..7fe9f65 100644
|
||||
--- a/drivers/media/platform/bcm2835/bcm2835-camera.h
|
||||
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
|
||||
@@ -15,7 +15,7 @@
|
||||
|
@ -1189,8 +1183,6 @@ index 883eab7..7fe9f65 100644
|
|||
|
||||
/* Debug helpers */
|
||||
|
||||
diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c
|
||||
index d1408e5..3017b94 100644
|
||||
--- a/drivers/media/platform/bcm2835/controls.c
|
||||
+++ b/drivers/media/platform/bcm2835/controls.c
|
||||
@@ -30,11 +30,23 @@
|
||||
|
@ -1249,7 +1241,7 @@ index d1408e5..3017b94 100644
|
|||
};
|
||||
|
||||
struct v4l2_to_mmal_effects_setting {
|
||||
@@ -126,6 +145,25 @@ static const struct v4l2_to_mmal_effects_setting
|
||||
@@ -126,6 +145,25 @@ static const struct v4l2_to_mmal_effects
|
||||
1, 1, 0, 0, 0, {0, 0, 0, 0, 0} }
|
||||
};
|
||||
|
||||
|
@ -1275,7 +1267,7 @@ index d1408e5..3017b94 100644
|
|||
|
||||
/* control handlers*/
|
||||
|
||||
@@ -133,10 +171,7 @@ static int ctrl_set_rational(struct bm2835_mmal_dev *dev,
|
||||
@@ -133,10 +171,7 @@ static int ctrl_set_rational(struct bm28
|
||||
struct v4l2_ctrl *ctrl,
|
||||
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
|
||||
{
|
||||
|
@ -1287,7 +1279,7 @@ index d1408e5..3017b94 100644
|
|||
struct vchiq_mmal_port *control;
|
||||
|
||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
||||
@@ -166,6 +201,41 @@ static int ctrl_set_value(struct bm2835_mmal_dev *dev,
|
||||
@@ -166,6 +201,41 @@ static int ctrl_set_value(struct bm2835_
|
||||
&u32_value, sizeof(u32_value));
|
||||
}
|
||||
|
||||
|
@ -1329,7 +1321,7 @@ index d1408e5..3017b94 100644
|
|||
static int ctrl_set_rotate(struct bm2835_mmal_dev *dev,
|
||||
struct v4l2_ctrl *ctrl,
|
||||
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
|
||||
@@ -245,37 +315,97 @@ static int ctrl_set_exposure(struct bm2835_mmal_dev *dev,
|
||||
@@ -245,37 +315,97 @@ static int ctrl_set_exposure(struct bm28
|
||||
struct v4l2_ctrl *ctrl,
|
||||
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
|
||||
{
|
||||
|
@ -1439,7 +1431,7 @@ index d1408e5..3017b94 100644
|
|||
struct v4l2_ctrl *ctrl,
|
||||
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
|
||||
{
|
||||
@@ -285,24 +415,18 @@ static int ctrl_set_metering_mode(struct bm2835_mmal_dev *dev,
|
||||
@@ -285,24 +415,18 @@ static int ctrl_set_metering_mode(struct
|
||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
||||
|
||||
switch (ctrl->val) {
|
||||
|
@ -1472,7 +1464,7 @@ index d1408e5..3017b94 100644
|
|||
}
|
||||
|
||||
return vchiq_mmal_port_parameter_set(dev->instance, control,
|
||||
@@ -367,6 +491,29 @@ static int ctrl_set_awb_mode(struct bm2835_mmal_dev *dev,
|
||||
@@ -367,6 +491,29 @@ static int ctrl_set_awb_mode(struct bm28
|
||||
&u32_value, sizeof(u32_value));
|
||||
}
|
||||
|
||||
|
@ -1502,7 +1494,7 @@ index d1408e5..3017b94 100644
|
|||
static int ctrl_set_image_effect(struct bm2835_mmal_dev *dev,
|
||||
struct v4l2_ctrl *ctrl,
|
||||
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
|
||||
@@ -443,8 +590,8 @@ static int ctrl_set_colfx(struct bm2835_mmal_dev *dev,
|
||||
@@ -443,8 +590,8 @@ static int ctrl_set_colfx(struct bm2835_
|
||||
&dev->colourfx, sizeof(dev->colourfx));
|
||||
|
||||
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
|
||||
|
@ -1513,7 +1505,7 @@ index d1408e5..3017b94 100644
|
|||
(ret == 0 ? 0 : -EINVAL));
|
||||
return (ret == 0 ? 0 : EINVAL);
|
||||
}
|
||||
@@ -494,7 +641,7 @@ static int ctrl_set_bitrate_mode(struct bm2835_mmal_dev *dev,
|
||||
@@ -494,7 +641,7 @@ static int ctrl_set_bitrate_mode(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1522,7 +1514,7 @@ index d1408e5..3017b94 100644
|
|||
struct v4l2_ctrl *ctrl,
|
||||
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
|
||||
{
|
||||
@@ -510,12 +657,247 @@ static int ctrl_set_q_factor(struct bm2835_mmal_dev *dev,
|
||||
@@ -510,12 +657,247 @@ static int ctrl_set_q_factor(struct bm28
|
||||
&u32_value, sizeof(u32_value));
|
||||
}
|
||||
|
||||
|
@ -1770,7 +1762,7 @@ index d1408e5..3017b94 100644
|
|||
|
||||
if ((mmal_ctrl == NULL) ||
|
||||
(mmal_ctrl->id != ctrl->id) ||
|
||||
@@ -524,7 +906,13 @@ static int bm2835_mmal_s_ctrl(struct v4l2_ctrl *ctrl)
|
||||
@@ -524,7 +906,13 @@ static int bm2835_mmal_s_ctrl(struct v4l
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -1785,7 +1777,7 @@ index d1408e5..3017b94 100644
|
|||
}
|
||||
|
||||
static const struct v4l2_ctrl_ops bm2835_mmal_ctrl_ops = {
|
||||
@@ -537,40 +925,54 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = {
|
||||
@@ -537,40 +925,54 @@ static const struct bm2835_mmal_v4l2_ctr
|
||||
{
|
||||
V4L2_CID_SATURATION, MMAL_CONTROL_TYPE_STD,
|
||||
-100, 100, 0, 1, NULL,
|
||||
|
@ -1849,7 +1841,7 @@ index d1408e5..3017b94 100644
|
|||
},
|
||||
/* todo this needs mixing in with set exposure
|
||||
{
|
||||
@@ -578,83 +980,258 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = {
|
||||
@@ -578,83 +980,258 @@ static const struct bm2835_mmal_v4l2_ctr
|
||||
},
|
||||
*/
|
||||
{
|
||||
|
@ -2123,7 +2115,7 @@ index d1408e5..3017b94 100644
|
|||
int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev,
|
||||
struct v4l2_ctrl_handler *hdl)
|
||||
{
|
||||
@@ -674,10 +1251,30 @@ int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev,
|
||||
@@ -674,10 +1251,30 @@ int bm2835_mmal_init_controls(struct bm2
|
||||
break;
|
||||
|
||||
case MMAL_CONTROL_TYPE_STD_MENU:
|
||||
|
@ -2155,8 +2147,6 @@ index d1408e5..3017b94 100644
|
|||
|
||||
case MMAL_CONTROL_TYPE_INT_MENU:
|
||||
dev->ctrls[c] = v4l2_ctrl_new_int_menu(hdl,
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h
|
||||
index 84abbb3..35698c8 100644
|
||||
--- a/drivers/media/platform/bcm2835/mmal-common.h
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-common.h
|
||||
@@ -26,6 +26,7 @@
|
||||
|
@ -2167,8 +2157,6 @@ index 84abbb3..35698c8 100644
|
|||
u32 mmal;
|
||||
int depth;
|
||||
u32 mmal_component; /* MMAL component index to be used to encode */
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h
|
||||
index 856e80e..024d620 100644
|
||||
--- a/drivers/media/platform/bcm2835/mmal-encodings.h
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-encodings.h
|
||||
@@ -12,6 +12,8 @@
|
||||
|
@ -2223,8 +2211,6 @@ index 856e80e..024d620 100644
|
|||
+/* @} MmalColorSpace List */
|
||||
+
|
||||
+#endif /* MMAL_ENCODINGS_H */
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h
|
||||
index c611b58..aa0fd18 100644
|
||||
--- a/drivers/media/platform/bcm2835/mmal-parameters.h
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-parameters.h
|
||||
@@ -57,7 +57,8 @@ enum mmal_parameter_common_type {
|
||||
|
@ -2251,7 +2237,7 @@ index c611b58..aa0fd18 100644
|
|||
};
|
||||
|
||||
enum mmal_parameter_camera_config_timestamp_mode {
|
||||
@@ -176,6 +184,14 @@ enum mmal_parameter_camera_config_timestamp_mode {
|
||||
@@ -176,6 +184,14 @@ enum mmal_parameter_camera_config_timest
|
||||
*/
|
||||
};
|
||||
|
||||
|
@ -2390,11 +2376,9 @@ index c611b58..aa0fd18 100644
|
|||
};
|
||||
|
||||
/** Valid mirror modes */
|
||||
diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c
|
||||
index a06fb44..76f249e 100644
|
||||
--- a/drivers/media/platform/bcm2835/mmal-vchiq.c
|
||||
+++ b/drivers/media/platform/bcm2835/mmal-vchiq.c
|
||||
@@ -742,7 +742,7 @@ static int send_synchronous_mmal_msg(struct vchiq_mmal_instance *instance,
|
||||
@@ -742,7 +742,7 @@ static int send_synchronous_mmal_msg(str
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -2403,7 +2387,7 @@ index a06fb44..76f249e 100644
|
|||
if (ret <= 0) {
|
||||
pr_err("error %d waiting for sync completion\n", ret);
|
||||
if (ret == 0)
|
||||
@@ -1326,7 +1326,7 @@ static int port_parameter_get(struct vchiq_mmal_instance *instance,
|
||||
@@ -1326,7 +1326,7 @@ static int port_parameter_get(struct vch
|
||||
memcpy(value, &rmsg->u.port_parameter_get_reply.value,
|
||||
rmsg->u.port_parameter_get_reply.size);
|
||||
|
||||
|
@ -2412,6 +2396,3 @@ index a06fb44..76f249e 100644
|
|||
ret, port->component->handle, port->handle, parameter_id);
|
||||
|
||||
release_msg:
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
18
target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch
Executable file → Normal file
18
target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch
Executable file → Normal file
|
@ -20,11 +20,9 @@ DMA: fix cyclic LITE length overflow bug
|
|||
5 files changed, 1066 insertions(+), 1 deletion(-)
|
||||
create mode 100644 drivers/dma/bcm2708-dmaengine.c
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c
|
||||
index 1da2413..a5e58d1 100644
|
||||
--- a/arch/arm/mach-bcm2708/dma.c
|
||||
+++ b/arch/arm/mach-bcm2708/dma.c
|
||||
@@ -156,6 +156,8 @@ static void vc_dmaman_init(struct vc_dmaman *dmaman, void __iomem *dma_base,
|
||||
@@ -156,6 +156,8 @@ static void vc_dmaman_init(struct vc_dma
|
||||
dmaman->chan_available = chans_available;
|
||||
dmaman->has_feature[BCM_DMA_FEATURE_FAST_ORD] = 0x0c; /* chans 2 & 3 */
|
||||
dmaman->has_feature[BCM_DMA_FEATURE_BULK_ORD] = 0x01; /* chan 0 */
|
||||
|
@ -33,11 +31,9 @@ index 1da2413..a5e58d1 100644
|
|||
}
|
||||
|
||||
static int vc_dmaman_chan_alloc(struct vc_dmaman *dmaman,
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
index a4aac4c..d03e7b5 100644
|
||||
--- a/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/dma.h
|
||||
@@ -77,9 +77,13 @@ extern int /*rc*/ bcm_dma_abort(void __iomem *dma_chan_base);
|
||||
@@ -77,9 +77,13 @@ extern int /*rc*/ bcm_dma_abort(void __i
|
||||
those with higher priority smaller ordinal numbers */
|
||||
#define BCM_DMA_FEATURE_FAST_ORD 0
|
||||
#define BCM_DMA_FEATURE_BULK_ORD 1
|
||||
|
@ -52,8 +48,6 @@ index a4aac4c..d03e7b5 100644
|
|||
|
||||
/* return channel no or -ve error */
|
||||
extern int bcm_dma_chan_alloc(unsigned preferred_feature_set,
|
||||
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
|
||||
index de46982..c9b8eb5 100644
|
||||
--- a/drivers/dma/Kconfig
|
||||
+++ b/drivers/dma/Kconfig
|
||||
@@ -330,6 +330,12 @@ config DMA_BCM2835
|
||||
|
@ -69,8 +63,6 @@ index de46982..c9b8eb5 100644
|
|||
config TI_CPPI41
|
||||
tristate "AM33xx CPPI41 DMA support"
|
||||
depends on ARCH_OMAP
|
||||
diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
|
||||
index cb626c1..d3c4a82 100644
|
||||
--- a/drivers/dma/Makefile
|
||||
+++ b/drivers/dma/Makefile
|
||||
@@ -38,6 +38,7 @@ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
|
||||
|
@ -81,9 +73,6 @@ index cb626c1..d3c4a82 100644
|
|||
obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
|
||||
obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
|
||||
obj-$(CONFIG_TI_CPPI41) += cppi41.o
|
||||
diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c
|
||||
new file mode 100644
|
||||
index 0000000..10463db
|
||||
--- /dev/null
|
||||
+++ b/drivers/dma/bcm2708-dmaengine.c
|
||||
@@ -0,0 +1,1052 @@
|
||||
|
@ -1139,6 +1128,3 @@ index 0000000..10463db
|
|||
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
||||
+MODULE_AUTHOR("Gellert Weisz <gellert@raspberrypi.org>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
15
target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch
Executable file → Normal file
15
target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch
Executable file → Normal file
|
@ -56,8 +56,6 @@ to avoid the name clash when registering debugfs entries.
|
|||
create mode 100644 sound/soc/bcm/bcm2708-i2s.c
|
||||
create mode 100644 sound/soc/bcm/bcm2708-i2s.h
|
||||
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index 6a834e1..7e5b945 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -7,3 +7,14 @@ config SND_BCM2835_SOC_I2S
|
||||
|
@ -75,11 +73,9 @@ index 6a834e1..7e5b945 100644
|
|||
+ Say Y or M if you want to add support for codecs attached to
|
||||
+ the BCM2708 I2S interface. You will also need
|
||||
+ to select the audio interfaces to support below.
|
||||
diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
|
||||
index bc816b7..f8bbe1f 100644
|
||||
--- a/sound/soc/bcm/Makefile
|
||||
+++ b/sound/soc/bcm/Makefile
|
||||
@@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o
|
||||
@@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.
|
||||
|
||||
obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o
|
||||
|
||||
|
@ -87,9 +83,6 @@ index bc816b7..f8bbe1f 100644
|
|||
+snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o
|
||||
+
|
||||
+obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
|
||||
diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
|
||||
new file mode 100644
|
||||
index 0000000..0b5322a
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/bcm2708-i2s.c
|
||||
@@ -0,0 +1,998 @@
|
||||
|
@ -1091,9 +1084,6 @@ index 0000000..0b5322a
|
|||
+MODULE_DESCRIPTION("BCM2708 I2S interface");
|
||||
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/sound/soc/bcm/bcm2708-i2s.h b/sound/soc/bcm/bcm2708-i2s.h
|
||||
new file mode 100644
|
||||
index 0000000..6fdcbc1
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/bcm2708-i2s.h
|
||||
@@ -0,0 +1,35 @@
|
||||
|
@ -1132,6 +1122,3 @@ index 0000000..6fdcbc1
|
|||
+extern void bcm2708_i2s_set_gpio(int gpio);
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
14
target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch
Executable file → Normal file
14
target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch
Executable file → Normal file
|
@ -14,8 +14,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
|
|||
3 files changed, 69 insertions(+)
|
||||
create mode 100644 sound/soc/codecs/pcm5102a.c
|
||||
|
||||
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
|
||||
index a68d173..0ef8bb7 100644
|
||||
--- a/sound/soc/codecs/Kconfig
|
||||
+++ b/sound/soc/codecs/Kconfig
|
||||
@@ -80,6 +80,7 @@ config SND_SOC_ALL_CODECS
|
||||
|
@ -36,11 +34,9 @@ index a68d173..0ef8bb7 100644
|
|||
config SND_SOC_RT5631
|
||||
tristate
|
||||
|
||||
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
|
||||
index 5dce451..7b606e6 100644
|
||||
--- a/sound/soc/codecs/Makefile
|
||||
+++ b/sound/soc/codecs/Makefile
|
||||
@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.o
|
||||
@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.
|
||||
snd-soc-pcm512x-spi-objs := pcm512x-spi.o
|
||||
snd-soc-rl6231-objs := rl6231.o
|
||||
snd-soc-rt286-objs := rt286.o
|
||||
|
@ -48,7 +44,7 @@ index 5dce451..7b606e6 100644
|
|||
snd-soc-rt5631-objs := rt5631.o
|
||||
snd-soc-rt5640-objs := rt5640.o
|
||||
snd-soc-rt5645-objs := rt5645.o
|
||||
@@ -250,6 +251,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
|
||||
@@ -250,6 +251,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd
|
||||
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
|
||||
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o
|
||||
obj-$(CONFIG_SND_SOC_RT286) += snd-soc-rt286.o
|
||||
|
@ -56,9 +52,6 @@ index 5dce451..7b606e6 100644
|
|||
obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o
|
||||
obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o
|
||||
obj-$(CONFIG_SND_SOC_RT5645) += snd-soc-rt5645.o
|
||||
diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c
|
||||
new file mode 100644
|
||||
index 0000000..126f1e9
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/codecs/pcm5102a.c
|
||||
@@ -0,0 +1,63 @@
|
||||
|
@ -125,6 +118,3 @@ index 0000000..126f1e9
|
|||
+MODULE_DESCRIPTION("ASoC PCM5102A codec driver");
|
||||
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch
Executable file → Normal file
|
@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
|
|||
arch/arm/mach-bcm2708/bcm2708.c | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index a740344..dca28ad 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -587,6 +587,28 @@ static struct platform_device bcm2835_thermal_device = {
|
||||
@@ -587,6 +587,28 @@ static struct platform_device bcm2835_th
|
||||
.name = "bcm2835_thermal",
|
||||
};
|
||||
|
||||
|
@ -55,6 +53,3 @@ index a740344..dca28ad 100644
|
|||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
struct amba_device *d = amba_devs[i];
|
||||
amba_device_register(d, &iomem_resource);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
12
target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch
Executable file → Normal file
12
target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch
Executable file → Normal file
|
@ -15,8 +15,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
|
|||
3 files changed, 112 insertions(+)
|
||||
create mode 100644 sound/soc/bcm/hifiberry_dac.c
|
||||
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index 7e5b945..b36a62f 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -18,3 +18,10 @@ config SND_BCM2708_SOC_I2S
|
||||
|
@ -30,11 +28,9 @@ index 7e5b945..b36a62f 100644
|
|||
+ select SND_SOC_PCM5102A
|
||||
+ help
|
||||
+ Say Y or M if you want to add support for HifiBerry DAC.
|
||||
diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
|
||||
index f8bbe1f..be90a49cb 100644
|
||||
--- a/sound/soc/bcm/Makefile
|
||||
+++ b/sound/soc/bcm/Makefile
|
||||
@@ -7,3 +7,8 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o
|
||||
@@ -7,3 +7,8 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd
|
||||
snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o
|
||||
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
|
||||
|
@ -43,9 +39,6 @@ index f8bbe1f..be90a49cb 100644
|
|||
+snd-soc-hifiberry-dac-objs := hifiberry_dac.o
|
||||
+
|
||||
+obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
|
||||
diff --git a/sound/soc/bcm/hifiberry_dac.c b/sound/soc/bcm/hifiberry_dac.c
|
||||
new file mode 100644
|
||||
index 0000000..4b70b45
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/hifiberry_dac.c
|
||||
@@ -0,0 +1,100 @@
|
||||
|
@ -149,6 +142,3 @@ index 0000000..4b70b45
|
|||
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
||||
+MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
Executable file → Normal file
|
@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
|
|||
arch/arm/mach-bcm2708/bcm2708.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index dca28ad..50d4991 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -609,6 +609,20 @@ static struct platform_device bcm2708_i2s_device = {
|
||||
@@ -609,6 +609,20 @@ static struct platform_device bcm2708_i2
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -48,6 +46,3 @@ index dca28ad..50d4991 100644
|
|||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
struct amba_device *d = amba_devs[i];
|
||||
amba_device_register(d, &iomem_resource);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch
Executable file → Normal file
|
@ -11,8 +11,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
|
|||
arch/arm/configs/bcmrpi_defconfig | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 3f99687..dfd98df 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -753,6 +753,10 @@ CONFIG_SND_USB_UA101=m
|
||||
|
@ -35,6 +33,3 @@ index 3f99687..dfd98df 100644
|
|||
CONFIG_UIO=m
|
||||
CONFIG_UIO_PDRV_GENIRQ=m
|
||||
CONFIG_STAGING=y
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
29
target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
Executable file → Normal file
29
target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
Executable file → Normal file
|
@ -19,8 +19,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
|
|||
create mode 100644 sound/soc/bcm/rpi-dac.c
|
||||
create mode 100644 sound/soc/codecs/pcm1794a.c
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index dfd98df..f688da5 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -756,6 +756,7 @@ CONFIG_SND_USB_6FIRE=m
|
||||
|
@ -31,11 +29,9 @@ index dfd98df..f688da5 100644
|
|||
CONFIG_SND_SIMPLE_CARD=m
|
||||
CONFIG_SOUND_PRIME=m
|
||||
CONFIG_HIDRAW=y
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 50d4991..100c223 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -623,6 +623,20 @@ static struct platform_device snd_pcm5102a_codec_device = {
|
||||
@@ -623,6 +623,20 @@ static struct platform_device snd_pcm510
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -68,8 +64,6 @@ index 50d4991..100c223 100644
|
|||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
struct amba_device *d = amba_devs[i];
|
||||
amba_device_register(d, &iomem_resource);
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index b36a62f..714841d 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -25,3 +25,10 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
|
||||
|
@ -83,11 +77,9 @@ index b36a62f..714841d 100644
|
|||
+ select SND_SOC_PCM1794A
|
||||
+ help
|
||||
+ Say Y or M if you want to add support for RPi-DAC.
|
||||
diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
|
||||
index be90a49cb..ccc9809 100644
|
||||
--- a/sound/soc/bcm/Makefile
|
||||
+++ b/sound/soc/bcm/Makefile
|
||||
@@ -10,5 +10,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
|
||||
@@ -10,5 +10,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
|
||||
|
||||
# BCM2708 Machine Support
|
||||
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
|
||||
|
@ -95,9 +87,6 @@ index be90a49cb..ccc9809 100644
|
|||
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
|
||||
+obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
|
||||
diff --git a/sound/soc/bcm/rpi-dac.c b/sound/soc/bcm/rpi-dac.c
|
||||
new file mode 100644
|
||||
index 0000000..6d6e0ba
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/rpi-dac.c
|
||||
@@ -0,0 +1,97 @@
|
||||
|
@ -198,8 +187,6 @@ index 0000000..6d6e0ba
|
|||
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
||||
+MODULE_DESCRIPTION("ASoC Driver for RPi-DAC");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
|
||||
index 0ef8bb7..3c236a6 100644
|
||||
--- a/sound/soc/codecs/Kconfig
|
||||
+++ b/sound/soc/codecs/Kconfig
|
||||
@@ -81,6 +81,7 @@ config SND_SOC_ALL_CODECS
|
||||
|
@ -220,11 +207,9 @@ index 0ef8bb7..3c236a6 100644
|
|||
config SND_SOC_PCM5102A
|
||||
tristate
|
||||
|
||||
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
|
||||
index 7b606e6..2a7f823 100644
|
||||
--- a/sound/soc/codecs/Makefile
|
||||
+++ b/sound/soc/codecs/Makefile
|
||||
@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.o
|
||||
@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.
|
||||
snd-soc-pcm512x-spi-objs := pcm512x-spi.o
|
||||
snd-soc-rl6231-objs := rl6231.o
|
||||
snd-soc-rt286-objs := rt286.o
|
||||
|
@ -232,7 +217,7 @@ index 7b606e6..2a7f823 100644
|
|||
snd-soc-pcm5102a-objs := pcm5102a.o
|
||||
snd-soc-rt5631-objs := rt5631.o
|
||||
snd-soc-rt5640-objs := rt5640.o
|
||||
@@ -251,6 +252,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
|
||||
@@ -251,6 +252,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd
|
||||
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
|
||||
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o
|
||||
obj-$(CONFIG_SND_SOC_RT286) += snd-soc-rt286.o
|
||||
|
@ -240,9 +225,6 @@ index 7b606e6..2a7f823 100644
|
|||
obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o
|
||||
obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o
|
||||
obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o
|
||||
diff --git a/sound/soc/codecs/pcm1794a.c b/sound/soc/codecs/pcm1794a.c
|
||||
new file mode 100644
|
||||
index 0000000..b4eaa44
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/codecs/pcm1794a.c
|
||||
@@ -0,0 +1,62 @@
|
||||
|
@ -308,6 +290,3 @@ index 0000000..b4eaa44
|
|||
+MODULE_DESCRIPTION("ASoC PCM1794A codec driver");
|
||||
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
Executable file → Normal file
|
@ -19,11 +19,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
|
|||
sound/soc/codecs/wm8804.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
|
||||
index 3addc5f..d060b23 100644
|
||||
--- a/sound/soc/codecs/wm8804.c
|
||||
+++ b/sound/soc/codecs/wm8804.c
|
||||
@@ -278,6 +278,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream,
|
||||
@@ -278,6 +278,7 @@ static int wm8804_hw_params(struct snd_p
|
||||
blen = 0x1;
|
||||
break;
|
||||
case 24:
|
||||
|
@ -31,7 +29,7 @@ index 3addc5f..d060b23 100644
|
|||
blen = 0x2;
|
||||
break;
|
||||
default:
|
||||
@@ -624,7 +625,7 @@ static const struct snd_soc_dai_ops wm8804_dai_ops = {
|
||||
@@ -624,7 +625,7 @@ static const struct snd_soc_dai_ops wm88
|
||||
};
|
||||
|
||||
#define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
|
||||
|
@ -40,6 +38,3 @@ index 3addc5f..d060b23 100644
|
|||
|
||||
#define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
12
target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
Executable file → Normal file
12
target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
Executable file → Normal file
|
@ -12,8 +12,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
|
|||
3 files changed, 162 insertions(+)
|
||||
create mode 100644 sound/soc/bcm/hifiberry_digi.c
|
||||
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index 714841d..e563dbc 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -26,6 +26,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
|
||||
|
@ -30,11 +28,9 @@ index 714841d..e563dbc 100644
|
|||
config SND_BCM2708_SOC_RPI_DAC
|
||||
tristate "Support for RPi-DAC"
|
||||
depends on SND_BCM2708_SOC_I2S
|
||||
diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
|
||||
index ccc9809..826df7d 100644
|
||||
--- a/sound/soc/bcm/Makefile
|
||||
+++ b/sound/soc/bcm/Makefile
|
||||
@@ -10,7 +10,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
|
||||
@@ -10,7 +10,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
|
||||
|
||||
# BCM2708 Machine Support
|
||||
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
|
||||
|
@ -44,9 +40,6 @@ index ccc9809..826df7d 100644
|
|||
obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
|
||||
+obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
|
||||
diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
|
||||
new file mode 100644
|
||||
index 0000000..e4f769d
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/hifiberry_digi.c
|
||||
@@ -0,0 +1,153 @@
|
||||
|
@ -203,6 +196,3 @@ index 0000000..e4f769d
|
|||
+MODULE_AUTHOR("Daniel Matuschek <info@crazy-audio.com>");
|
||||
+MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
Executable file → Normal file
|
@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
|
|||
arch/arm/mach-bcm2708/bcm2708.c | 20 ++++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 100c223..a57cb85 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -623,6 +623,21 @@ static struct platform_device snd_pcm5102a_codec_device = {
|
||||
@@ -623,6 +623,21 @@ static struct platform_device snd_pcm510
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -47,6 +45,3 @@ index 100c223..a57cb85 100644
|
|||
#if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE)
|
||||
bcm_register_device(&snd_rpi_dac_device);
|
||||
bcm_register_device(&snd_pcm1794a_codec_device);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch
Executable file → Normal file
|
@ -10,8 +10,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
|
|||
arch/arm/configs/bcmrpi_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index f688da5..c9d3fac 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -756,6 +756,7 @@ CONFIG_SND_USB_6FIRE=m
|
||||
|
@ -22,6 +20,3 @@ index f688da5..c9d3fac 100644
|
|||
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
|
||||
CONFIG_SND_SIMPLE_CARD=m
|
||||
CONFIG_SOUND_PRIME=m
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
Executable file → Normal file
|
@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
|
|||
sound/soc/codecs/wm8804.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
|
||||
index d060b23..d486a9d 100644
|
||||
--- a/sound/soc/codecs/wm8804.c
|
||||
+++ b/sound/soc/codecs/wm8804.c
|
||||
@@ -656,7 +656,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8804 = {
|
||||
@@ -656,7 +656,7 @@ static struct snd_soc_codec_driver soc_c
|
||||
.probe = wm8804_probe,
|
||||
.remove = wm8804_remove,
|
||||
.set_bias_level = wm8804_set_bias_level,
|
||||
|
@ -22,6 +20,3 @@ index d060b23..d486a9d 100644
|
|||
|
||||
.controls = wm8804_snd_controls,
|
||||
.num_controls = ARRAY_SIZE(wm8804_snd_controls),
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
18
target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
Executable file → Normal file
18
target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
Executable file → Normal file
|
@ -12,8 +12,6 @@ Subject: [PATCH 042/114] Add IQaudIO Sound Card support for Raspberry Pi
|
|||
5 files changed, 143 insertions(+)
|
||||
create mode 100644 sound/soc/bcm/iqaudio-dac.c
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index c9d3fac..f15a4b9 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -758,6 +758,7 @@ CONFIG_SND_BCM2708_SOC_I2S=m
|
||||
|
@ -24,11 +22,9 @@ index c9d3fac..f15a4b9 100644
|
|||
CONFIG_SND_SIMPLE_CARD=m
|
||||
CONFIG_SOUND_PRIME=m
|
||||
CONFIG_HIDRAW=y
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index a57cb85..633be19 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -652,6 +652,22 @@ static struct platform_device snd_pcm1794a_codec_device = {
|
||||
@@ -652,6 +652,22 @@ static struct platform_device snd_pcm179
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -64,8 +60,6 @@ index a57cb85..633be19 100644
|
|||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
struct amba_device *d = amba_devs[i];
|
||||
amba_device_register(d, &iomem_resource);
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index e563dbc..c621a5e 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -39,3 +39,10 @@ config SND_BCM2708_SOC_RPI_DAC
|
||||
|
@ -79,11 +73,9 @@ index e563dbc..c621a5e 100644
|
|||
+ select SND_SOC_PCM512x_I2C
|
||||
+ help
|
||||
+ Say Y or M if you want to add support for IQaudIO-DAC.
|
||||
diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
|
||||
index 826df7d..d597fb0 100644
|
||||
--- a/sound/soc/bcm/Makefile
|
||||
+++ b/sound/soc/bcm/Makefile
|
||||
@@ -12,7 +12,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
|
||||
@@ -12,7 +12,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
|
||||
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
|
||||
snd-soc-hifiberry-digi-objs := hifiberry_digi.o
|
||||
snd-soc-rpi-dac-objs := rpi-dac.o
|
||||
|
@ -93,9 +85,6 @@ index 826df7d..d597fb0 100644
|
|||
obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
|
||||
+obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
|
||||
diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c
|
||||
new file mode 100644
|
||||
index 0000000..8d0e2ae
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/iqaudio-dac.c
|
||||
@@ -0,0 +1,111 @@
|
||||
|
@ -210,6 +199,3 @@ index 0000000..8d0e2ae
|
|||
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
||||
+MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
Executable file → Normal file
|
@ -10,11 +10,9 @@ DAC ouput stages.
|
|||
sound/soc/codecs/pcm512x.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
|
||||
index 640c991..b405719 100644
|
||||
--- a/sound/soc/codecs/pcm512x.c
|
||||
+++ b/sound/soc/codecs/pcm512x.c
|
||||
@@ -259,8 +259,8 @@ static const struct soc_enum pcm512x_veds =
|
||||
@@ -259,8 +259,8 @@ static const struct soc_enum pcm512x_ved
|
||||
pcm512x_ramp_step_text);
|
||||
|
||||
static const struct snd_kcontrol_new pcm512x_controls[] = {
|
||||
|
@ -25,6 +23,3 @@ index 640c991..b405719 100644
|
|||
SOC_DOUBLE_TLV("Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
|
||||
PCM512x_LAGN_SHIFT, PCM512x_RAGN_SHIFT, 1, 1, analog_tlv),
|
||||
SOC_DOUBLE_TLV("Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
Executable file → Normal file
|
@ -11,11 +11,9 @@ http://www.spinics.net/lists/linux-mm/msg72236.html
|
|||
include/linux/vmstat.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h
|
||||
index 82e7db7..f87d16d 100644
|
||||
--- a/include/linux/vmstat.h
|
||||
+++ b/include/linux/vmstat.h
|
||||
@@ -241,7 +241,11 @@ static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
|
||||
@@ -241,7 +241,11 @@ static inline void __inc_zone_state(stru
|
||||
static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
|
||||
{
|
||||
atomic_long_dec(&zone->vm_stat[item]);
|
||||
|
@ -27,6 +25,3 @@ index 82e7db7..f87d16d 100644
|
|||
}
|
||||
|
||||
static inline void __inc_zone_page_state(struct page *page,
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
17
target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch
Executable file → Normal file
17
target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch
Executable file → Normal file
|
@ -14,11 +14,9 @@ Fix a few thinkos with the transaction error passthrough for fiq_fsm.
|
|||
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 2 +-
|
||||
3 files changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
index 065807f..96c76e3 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
|
||||
@@ -1348,10 +1348,9 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin
|
||||
@@ -1348,10 +1348,9 @@ static inline uint32_t dwc_otg_read_comm
|
||||
local_fiq_disable();
|
||||
/* Pull in the interrupts that the FIQ has masked */
|
||||
gintmsk.d32 |= ~(hcd->fiq_state->gintmsk_saved.d32);
|
||||
|
@ -31,7 +29,7 @@ index 065807f..96c76e3 100644
|
|||
local_fiq_enable();
|
||||
}
|
||||
|
||||
@@ -1535,7 +1534,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
|
||||
@@ -1535,7 +1534,7 @@ int32_t dwc_otg_handle_common_intr(void
|
||||
// fiq_print(FIQDBG_INT, otg_dev->hcd->fiq_state, "CILOUT %1d", retval);
|
||||
// fiq_print(FIQDBG_INT, otg_dev->hcd->fiq_state, "%08x", gintsts.d32);
|
||||
// fiq_print(FIQDBG_INT, otg_dev->hcd->fiq_state, "%08x", gintmsk_reenable.d32);
|
||||
|
@ -40,11 +38,9 @@ index 065807f..96c76e3 100644
|
|||
DWC_WRITE_REG32(&core_if->core_global_regs->gintmsk, gintmsk_reenable.d32);
|
||||
}
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
index 1be6e71..284f902 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
@@ -696,7 +696,11 @@ static int notrace noinline fiq_fsm_do_hcintr(struct fiq_state *state, int num_c
|
||||
@@ -696,7 +696,11 @@ static int notrace noinline fiq_fsm_do_h
|
||||
fiq_print(FIQDBG_ERR, state, "ERRST %02d", n);
|
||||
if (hcint_probe.b.nak || hcint_probe.b.ack || hcint_probe.b.datatglerr) {
|
||||
fiq_print(FIQDBG_ERR, state, "RESET %02d", n);
|
||||
|
@ -57,11 +53,9 @@ index 1be6e71..284f902 100644
|
|||
hcintmsk.b.nak = 0;
|
||||
hcintmsk.b.ack = 0;
|
||||
hcintmsk.b.datatglerr = 0;
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
index 4195ff2..a5566bc 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
@@ -2619,7 +2619,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
|
||||
@@ -2619,7 +2619,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
|
||||
case FIQ_PASSTHROUGH_ERRORSTATE:
|
||||
/* Hook into the error count */
|
||||
fiq_print(FIQDBG_ERR, dwc_otg_hcd->fiq_state, "HCDERR%02d", num);
|
||||
|
@ -70,6 +64,3 @@ index 4195ff2..a5566bc 100644
|
|||
qtd->error_count = 0;
|
||||
fiq_print(FIQDBG_ERR, dwc_otg_hcd->fiq_state, "RESET ");
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
13
target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch
Executable file → Normal file
13
target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch
Executable file → Normal file
|
@ -19,11 +19,9 @@ Original idea by Hans Petter Selasky @ FreeBSD.org.
|
|||
drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 32 ++++++++++++++++++++++++++------
|
||||
1 file changed, 26 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
index 130096b..68d4f3b 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
@@ -1055,10 +1055,11 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
|
||||
@@ -1055,10 +1055,11 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
|
||||
for (i=0; i < hcd->core_if->core_params->host_channels; i++) {
|
||||
dwc_otg_cleanup_fiq_channel(hcd, i);
|
||||
}
|
||||
|
@ -37,7 +35,7 @@ index 130096b..68d4f3b 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -1789,6 +1790,20 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1789,6 +1790,20 @@ int fiq_fsm_queue_split_transaction(dwc_
|
||||
st->hcintmsk_copy.b.chhltd = 1;
|
||||
st->hcintmsk_copy.b.ahberr = 1;
|
||||
|
||||
|
@ -58,7 +56,7 @@ index 130096b..68d4f3b 100644
|
|||
DWC_WRITE_REG32(&hc_regs->hcdma, st->hcdma_copy.d32);
|
||||
DWC_WRITE_REG32(&hc_regs->hctsiz, st->hctsiz_copy.d32);
|
||||
DWC_WRITE_REG32(&hc_regs->hcsplt, st->hcsplt_copy.d32);
|
||||
@@ -1842,6 +1857,9 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1842,6 +1857,9 @@ int fiq_fsm_queue_split_transaction(dwc_
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -68,7 +66,7 @@ index 130096b..68d4f3b 100644
|
|||
fiq_print(FIQDBG_INT, hcd->fiq_state, "FSMQ %01d %01d", hc->hc_num, start_immediate);
|
||||
fiq_print(FIQDBG_INT, hcd->fiq_state, "%08d", hfnum.b.frrem);
|
||||
//fiq_print(FIQDBG_INT, hcd->fiq_state, "H:%02dP:%02d", hub_addr, port_addr);
|
||||
@@ -1873,11 +1891,13 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1873,11 +1891,13 @@ int fiq_fsm_queue_split_transaction(dwc_
|
||||
}
|
||||
break;
|
||||
case UE_INTERRUPT:
|
||||
|
@ -86,6 +84,3 @@ index 130096b..68d4f3b 100644
|
|||
default:
|
||||
break;
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
11
target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch
Executable file → Normal file
11
target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch
Executable file → Normal file
|
@ -15,11 +15,9 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
|
|||
drivers/spi/spi-bcm2708.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c
|
||||
index b04a57d..349d21f 100644
|
||||
--- a/drivers/spi/spi-bcm2708.c
|
||||
+++ b/drivers/spi/spi-bcm2708.c
|
||||
@@ -545,7 +545,7 @@ static int bcm2708_spi_probe(struct platform_device *pdev)
|
||||
@@ -545,7 +545,7 @@ static int bcm2708_spi_probe(struct plat
|
||||
}
|
||||
|
||||
/* initialise the hardware */
|
||||
|
@ -28,7 +26,7 @@ index b04a57d..349d21f 100644
|
|||
bcm2708_wr(bs, SPI_CS, SPI_CS_REN | SPI_CS_CLEAR_RX | SPI_CS_CLEAR_TX);
|
||||
|
||||
err = spi_register_master(master);
|
||||
@@ -561,6 +561,7 @@ static int bcm2708_spi_probe(struct platform_device *pdev)
|
||||
@@ -561,6 +561,7 @@ static int bcm2708_spi_probe(struct plat
|
||||
|
||||
out_free_irq:
|
||||
free_irq(bs->irq, master);
|
||||
|
@ -36,7 +34,7 @@ index b04a57d..349d21f 100644
|
|||
out_workqueue:
|
||||
destroy_workqueue(bs->workq);
|
||||
out_iounmap:
|
||||
@@ -585,7 +586,7 @@ static int bcm2708_spi_remove(struct platform_device *pdev)
|
||||
@@ -585,7 +586,7 @@ static int bcm2708_spi_remove(struct pla
|
||||
|
||||
flush_work(&bs->work);
|
||||
|
||||
|
@ -45,6 +43,3 @@ index b04a57d..349d21f 100644
|
|||
clk_put(bs->clk);
|
||||
free_irq(bs->irq, master);
|
||||
iounmap(bs->base);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
17
target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch
Executable file → Normal file
17
target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch
Executable file → Normal file
|
@ -21,8 +21,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
|
|||
delete mode 100644 arch/arm/mach-bcm2708/clock.c
|
||||
delete mode 100644 arch/arm/mach-bcm2708/clock.h
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index ba9c18e..0f2287f 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -385,11 +385,10 @@ config ARCH_BCM2708
|
||||
|
@ -38,8 +36,6 @@ index ba9c18e..0f2287f 100644
|
|||
select ARCH_HAS_CPUFREQ
|
||||
select GENERIC_CLOCKEVENTS
|
||||
select ARM_ERRATA_411920
|
||||
diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile
|
||||
index a722f3f..21e3521 100644
|
||||
--- a/arch/arm/mach-bcm2708/Makefile
|
||||
+++ b/arch/arm/mach-bcm2708/Makefile
|
||||
@@ -2,6 +2,6 @@
|
||||
|
@ -50,8 +46,6 @@ index a722f3f..21e3521 100644
|
|||
+obj-$(CONFIG_MACH_BCM2708) += bcm2708.o armctrl.o vcio.o power.o dma.o
|
||||
obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o
|
||||
obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 633be19..ef12cb8 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -27,6 +27,8 @@
|
||||
|
@ -80,7 +74,7 @@ index 633be19..ef12cb8 100644
|
|||
static unsigned disk_led_gpio = 16;
|
||||
static unsigned disk_led_active_low = 1;
|
||||
static unsigned reboot_part = 0;
|
||||
@@ -196,51 +197,39 @@ static void __init bcm2708_clocksource_init(void)
|
||||
@@ -196,51 +197,39 @@ static void __init bcm2708_clocksource_i
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -173,9 +167,6 @@ index 633be19..ef12cb8 100644
|
|||
|
||||
bcm_register_device(&bcm2708_dmaman_device);
|
||||
bcm_register_device(&bcm2708_vcio_device);
|
||||
diff --git a/arch/arm/mach-bcm2708/clock.c b/arch/arm/mach-bcm2708/clock.c
|
||||
deleted file mode 100644
|
||||
index 4fc556e..0000000
|
||||
--- a/arch/arm/mach-bcm2708/clock.c
|
||||
+++ /dev/null
|
||||
@@ -1,61 +0,0 @@
|
||||
|
@ -240,9 +231,6 @@ index 4fc556e..0000000
|
|||
- return -EIO;
|
||||
-}
|
||||
-EXPORT_SYMBOL(clk_set_rate);
|
||||
diff --git a/arch/arm/mach-bcm2708/clock.h b/arch/arm/mach-bcm2708/clock.h
|
||||
deleted file mode 100644
|
||||
index 5f9d725..0000000
|
||||
--- a/arch/arm/mach-bcm2708/clock.h
|
||||
+++ /dev/null
|
||||
@@ -1,24 +0,0 @@
|
||||
|
@ -270,6 +258,3 @@ index 5f9d725..0000000
|
|||
-struct clk {
|
||||
- unsigned long rate;
|
||||
-};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
17
target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch
Executable file → Normal file
17
target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch
Executable file → Normal file
|
@ -24,11 +24,9 @@ Signed-off-by: Noralf Tronnes notro@tronnes.org
|
|||
create mode 100644 arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
create mode 100644 arch/arm/boot/dts/bcm2708.dtsi
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 38c89ca..c727f71 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -53,6 +53,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
|
||||
@@ -53,6 +53,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4e
|
||||
|
||||
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
|
||||
|
@ -36,9 +34,6 @@ index 38c89ca..c727f71 100644
|
|||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
new file mode 100644
|
||||
index 0000000..e319c8e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
@@ -0,0 +1,8 @@
|
||||
|
@ -50,9 +45,6 @@ index 0000000..e319c8e
|
|||
+ compatible = "brcm,bcm2708";
|
||||
+ model = "Raspberry Pi";
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
new file mode 100644
|
||||
index 0000000..50da059
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -0,0 +1,27 @@
|
||||
|
@ -83,8 +75,6 @@ index 0000000..50da059
|
|||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
|
||||
index e151ed4..182e7ba 100644
|
||||
--- a/arch/arm/mach-bcm2708/Kconfig
|
||||
+++ b/arch/arm/mach-bcm2708/Kconfig
|
||||
@@ -9,6 +9,14 @@ config MACH_BCM2708
|
||||
|
@ -102,8 +92,6 @@ index e151ed4..182e7ba 100644
|
|||
config BCM2708_GPIO
|
||||
bool "BCM2708 gpio support"
|
||||
depends on MACH_BCM2708
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index ef12cb8..747e27a 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -33,6 +33,7 @@
|
||||
|
@ -165,6 +153,3 @@ index ef12cb8..747e27a 100644
|
|||
MACHINE_END
|
||||
|
||||
module_param(boardrev, uint, 0644);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
11
target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch
Executable file → Normal file
11
target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch
Executable file → Normal file
|
@ -23,8 +23,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
|
|||
arch/arm/mach-bcm2708/armctrl.c | 96 +++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 105 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
index 50da059..a06f5b8 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -4,6 +4,8 @@
|
||||
|
@ -50,8 +48,6 @@ index 50da059..a06f5b8 100644
|
|||
};
|
||||
|
||||
clocks {
|
||||
diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c
|
||||
index 96fa9b9..74bacb3 100644
|
||||
--- a/arch/arm/mach-bcm2708/armctrl.c
|
||||
+++ b/arch/arm/mach-bcm2708/armctrl.c
|
||||
@@ -23,6 +23,8 @@
|
||||
|
@ -63,7 +59,7 @@ index 96fa9b9..74bacb3 100644
|
|||
|
||||
#include <asm/mach/irq.h>
|
||||
#include <mach/hardware.h>
|
||||
@@ -79,6 +81,99 @@ static void armctrl_unmask_irq(struct irq_data *d)
|
||||
@@ -79,6 +81,99 @@ static void armctrl_unmask_irq(struct ir
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -163,13 +159,10 @@ index 96fa9b9..74bacb3 100644
|
|||
#if defined(CONFIG_PM)
|
||||
|
||||
/* for kernels 3.xx use the new syscore_ops apis but for older kernels use the sys dev class */
|
||||
@@ -215,5 +310,6 @@ int __init armctrl_init(void __iomem * base, unsigned int irq_start,
|
||||
@@ -215,5 +310,6 @@ int __init armctrl_init(void __iomem * b
|
||||
|
||||
armctrl_pm_register(base, irq_start, resume_sources);
|
||||
init_FIQ(FIQ_START);
|
||||
+ armctrl_dt_init();
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
13
target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch
Executable file → Normal file
13
target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch
Executable file → Normal file
|
@ -14,8 +14,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
|
|||
drivers/pinctrl/pinctrl-bcm2835.c | 2 +-
|
||||
4 files changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
index a06f5b8..b2920c8 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -26,6 +26,18 @@
|
||||
|
@ -37,8 +35,6 @@ index a06f5b8..b2920c8 100644
|
|||
};
|
||||
|
||||
clocks {
|
||||
diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
|
||||
index 182e7ba..4cfae55 100644
|
||||
--- a/arch/arm/mach-bcm2708/Kconfig
|
||||
+++ b/arch/arm/mach-bcm2708/Kconfig
|
||||
@@ -14,6 +14,9 @@ config BCM2708_DT
|
||||
|
@ -51,8 +47,6 @@ index 182e7ba..4cfae55 100644
|
|||
help
|
||||
Enable Device Tree support for BCM2708
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 747e27a..0e5bd43 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -767,7 +767,7 @@ void __init bcm2708_init(void)
|
||||
|
@ -64,11 +58,9 @@ index 747e27a..0e5bd43 100644
|
|||
#endif
|
||||
#if defined(CONFIG_W1_MASTER_GPIO) || defined(CONFIG_W1_MASTER_GPIO_MODULE)
|
||||
w1_gpio_pdata.pin = w1_gpio_pin;
|
||||
diff --git a/drivers/pinctrl/pinctrl-bcm2835.c b/drivers/pinctrl/pinctrl-bcm2835.c
|
||||
index eabba02..962e180 100644
|
||||
--- a/drivers/pinctrl/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/pinctrl-bcm2835.c
|
||||
@@ -382,7 +382,7 @@ static struct gpio_chip bcm2835_gpio_chip = {
|
||||
@@ -382,7 +382,7 @@ static struct gpio_chip bcm2835_gpio_chi
|
||||
.get = bcm2835_gpio_get,
|
||||
.set = bcm2835_gpio_set,
|
||||
.to_irq = bcm2835_gpio_to_irq,
|
||||
|
@ -77,6 +69,3 @@ index eabba02..962e180 100644
|
|||
.ngpio = BCM2835_NUM_GPIOS,
|
||||
.can_sleep = false,
|
||||
};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
23
target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch
Executable file → Normal file
23
target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch
Executable file → Normal file
|
@ -31,8 +31,6 @@ bcm2708: Remove the prohibition on mixing SPIDEV and DT
|
|||
drivers/spi/spi-bcm2708.c | 8 ++++++++
|
||||
5 files changed, 75 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
index e319c8e..30107fb 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
@@ -5,4 +5,36 @@
|
||||
|
@ -72,8 +70,6 @@ index e319c8e..30107fb 100644
|
|||
+ spi-max-frequency = <500000>;
|
||||
+ };
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
index b2920c8..e90bf4c 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -38,11 +38,29 @@
|
||||
|
@ -106,11 +102,9 @@ index b2920c8..e90bf4c 100644
|
|||
+ };
|
||||
};
|
||||
};
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 0e5bd43..a2069f8 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -486,6 +486,7 @@ static struct platform_device bcm2708_alsa_devices[] = {
|
||||
@@ -486,6 +486,7 @@ static struct platform_device bcm2708_al
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -118,7 +112,7 @@ index 0e5bd43..a2069f8 100644
|
|||
static struct resource bcm2708_spi_resources[] = {
|
||||
{
|
||||
.start = SPI0_BASE,
|
||||
@@ -509,6 +510,7 @@ static struct platform_device bcm2708_spi_device = {
|
||||
@@ -509,6 +510,7 @@ static struct platform_device bcm2708_sp
|
||||
.dma_mask = &bcm2708_spi_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(DMA_MASK_BITS_COMMON)},
|
||||
};
|
||||
|
@ -126,7 +120,7 @@ index 0e5bd43..a2069f8 100644
|
|||
|
||||
#ifdef CONFIG_BCM2708_SPIDEV
|
||||
static struct spi_board_info bcm2708_spi_devices[] = {
|
||||
@@ -670,6 +672,16 @@ int __init bcm_register_device(struct platform_device *pdev)
|
||||
@@ -670,6 +672,16 @@ int __init bcm_register_device(struct pl
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -164,8 +158,6 @@ index 0e5bd43..a2069f8 100644
|
|||
#endif
|
||||
}
|
||||
|
||||
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
|
||||
index 71b4741..a5238ab 100644
|
||||
--- a/drivers/spi/Kconfig
|
||||
+++ b/drivers/spi/Kconfig
|
||||
@@ -77,7 +77,7 @@ config SPI_ATMEL
|
||||
|
@ -177,11 +169,9 @@ index 71b4741..a5238ab 100644
|
|||
help
|
||||
This selects a driver for the Broadcom BCM2835 SPI master.
|
||||
|
||||
diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c
|
||||
index 349d21f..041b5e2 100644
|
||||
--- a/drivers/spi/spi-bcm2708.c
|
||||
+++ b/drivers/spi/spi-bcm2708.c
|
||||
@@ -512,6 +512,7 @@ static int bcm2708_spi_probe(struct platform_device *pdev)
|
||||
@@ -512,6 +512,7 @@ static int bcm2708_spi_probe(struct plat
|
||||
master->setup = bcm2708_spi_setup;
|
||||
master->transfer = bcm2708_spi_transfer;
|
||||
master->cleanup = bcm2708_spi_cleanup;
|
||||
|
@ -189,7 +179,7 @@ index 349d21f..041b5e2 100644
|
|||
platform_set_drvdata(pdev, master);
|
||||
|
||||
bs = spi_master_get_devdata(master);
|
||||
@@ -596,10 +597,17 @@ static int bcm2708_spi_remove(struct platform_device *pdev)
|
||||
@@ -596,10 +597,17 @@ static int bcm2708_spi_remove(struct pla
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -207,6 +197,3 @@ index 349d21f..041b5e2 100644
|
|||
},
|
||||
.probe = bcm2708_spi_probe,
|
||||
.remove = bcm2708_spi_remove,
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
23
target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch
Executable file → Normal file
23
target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch
Executable file → Normal file
|
@ -29,8 +29,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
|
|||
drivers/i2c/busses/i2c-bcm2708.c | 24 ++++++++++++++++++++++++
|
||||
5 files changed, 80 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
index 30107fb..5893122 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
@@ -8,6 +8,8 @@
|
||||
|
@ -75,8 +73,6 @@ index 30107fb..5893122 100644
|
|||
+ pinctrl-0 = <&i2c1_pins>;
|
||||
+ clock-frequency = <100000>;
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
index e90bf4c..2ca6d63 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -48,6 +48,26 @@
|
||||
|
@ -120,11 +116,9 @@ index e90bf4c..2ca6d63 100644
|
|||
clk_spi: clock@2 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <2>;
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index a2069f8..b45f327 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -532,6 +532,7 @@ static struct spi_board_info bcm2708_spi_devices[] = {
|
||||
@@ -532,6 +532,7 @@ static struct spi_board_info bcm2708_spi
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -132,7 +126,7 @@ index a2069f8..b45f327 100644
|
|||
static struct resource bcm2708_bsc0_resources[] = {
|
||||
{
|
||||
.start = BSC0_BASE,
|
||||
@@ -570,6 +571,7 @@ static struct platform_device bcm2708_bsc1_device = {
|
||||
@@ -570,6 +571,7 @@ static struct platform_device bcm2708_bs
|
||||
.num_resources = ARRAY_SIZE(bcm2708_bsc1_resources),
|
||||
.resource = bcm2708_bsc1_resources,
|
||||
};
|
||||
|
@ -151,8 +145,6 @@ index a2069f8..b45f327 100644
|
|||
|
||||
bcm_register_device(&bcm2835_hwmon_device);
|
||||
bcm_register_device(&bcm2835_thermal_device);
|
||||
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
|
||||
index 3d3db41..d30a986 100644
|
||||
--- a/drivers/i2c/busses/Kconfig
|
||||
+++ b/drivers/i2c/busses/Kconfig
|
||||
@@ -361,7 +361,7 @@ config I2C_AXXIA
|
||||
|
@ -164,8 +156,6 @@ index 3d3db41..d30a986 100644
|
|||
help
|
||||
If you say yes to this option, support will be included for the
|
||||
BCM2835 I2C controller.
|
||||
diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
|
||||
index 7d385a3..526129b 100644
|
||||
--- a/drivers/i2c/busses/i2c-bcm2708.c
|
||||
+++ b/drivers/i2c/busses/i2c-bcm2708.c
|
||||
@@ -26,6 +26,7 @@
|
||||
|
@ -176,7 +166,7 @@ index 7d385a3..526129b 100644
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/slab.h>
|
||||
@@ -303,6 +304,21 @@ static int bcm2708_i2c_probe(struct platform_device *pdev)
|
||||
@@ -303,6 +304,21 @@ static int bcm2708_i2c_probe(struct plat
|
||||
unsigned long bus_hz;
|
||||
u32 cdiv;
|
||||
|
||||
|
@ -198,7 +188,7 @@ index 7d385a3..526129b 100644
|
|||
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!regs) {
|
||||
dev_err(&pdev->dev, "could not get IO memory\n");
|
||||
@@ -336,6 +352,7 @@ static int bcm2708_i2c_probe(struct platform_device *pdev)
|
||||
@@ -336,6 +352,7 @@ static int bcm2708_i2c_probe(struct plat
|
||||
adap->dev.parent = &pdev->dev;
|
||||
adap->nr = pdev->id;
|
||||
strlcpy(adap->name, dev_name(&pdev->dev), sizeof(adap->name));
|
||||
|
@ -206,7 +196,7 @@ index 7d385a3..526129b 100644
|
|||
|
||||
switch (pdev->id) {
|
||||
case 0:
|
||||
@@ -416,10 +433,17 @@ static int bcm2708_i2c_remove(struct platform_device *pdev)
|
||||
@@ -416,10 +433,17 @@ static int bcm2708_i2c_remove(struct pla
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -224,6 +214,3 @@ index 7d385a3..526129b 100644
|
|||
},
|
||||
.probe = bcm2708_i2c_probe,
|
||||
.remove = bcm2708_i2c_remove,
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
Executable file → Normal file
|
@ -8,8 +8,6 @@ Reduces overhead when using X
|
|||
drivers/hid/usbhid/hid-core.c | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
|
||||
index ca6849a..4671921 100644
|
||||
--- a/drivers/hid/usbhid/hid-core.c
|
||||
+++ b/drivers/hid/usbhid/hid-core.c
|
||||
@@ -49,7 +49,7 @@
|
||||
|
@ -21,7 +19,7 @@ index ca6849a..4671921 100644
|
|||
module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
|
||||
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
|
||||
|
||||
@@ -1079,8 +1079,12 @@ static int usbhid_start(struct hid_device *hid)
|
||||
@@ -1079,8 +1079,12 @@ static int usbhid_start(struct hid_devic
|
||||
}
|
||||
|
||||
/* Change the polling interval of mice. */
|
||||
|
@ -36,6 +34,3 @@ index ca6849a..4671921 100644
|
|||
|
||||
ret = -ENOMEM;
|
||||
if (usb_endpoint_dir_in(endpoint)) {
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch
Executable file → Normal file
|
@ -8,11 +8,9 @@ Hub overcurrent messages are more serious than "debug". Increase loglevel.
|
|||
drivers/usb/core/hub.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
||||
index b649fef..5f8d914 100644
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -4923,7 +4923,7 @@ static void port_event(struct usb_hub *hub, int port1)
|
||||
@@ -4923,7 +4923,7 @@ static void port_event(struct usb_hub *h
|
||||
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
|
||||
u16 status = 0, unused;
|
||||
|
||||
|
@ -21,6 +19,3 @@ index b649fef..5f8d914 100644
|
|||
usb_clear_port_feature(hdev, port1,
|
||||
USB_PORT_FEAT_C_OVER_CURRENT);
|
||||
msleep(100); /* Cool down */
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
28
target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
Executable file → Normal file
28
target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
Executable file → Normal file
|
@ -43,9 +43,6 @@ config: Disable VC_SM for now to fix hang with cutdown kernel
|
|||
create mode 100644 drivers/char/broadcom/vc_sm/vc_vchi_sm.c
|
||||
create mode 100644 drivers/char/broadcom/vc_sm/vmcs_sm.c
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/vc_sm_defs.h b/arch/arm/mach-bcm2708/include/mach/vc_sm_defs.h
|
||||
new file mode 100644
|
||||
index 0000000..c4d5ff7
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/vc_sm_defs.h
|
||||
@@ -0,0 +1,181 @@
|
||||
|
@ -230,9 +227,6 @@ index 0000000..c4d5ff7
|
|||
+} VC_SM_MSG_UNION_T;
|
||||
+
|
||||
+#endif /* __VC_SM_DEFS_H__INCLUDED__ */
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/vc_sm_knl.h b/arch/arm/mach-bcm2708/include/mach/vc_sm_knl.h
|
||||
new file mode 100644
|
||||
index 0000000..965f9a2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/vc_sm_knl.h
|
||||
@@ -0,0 +1,55 @@
|
||||
|
@ -291,9 +285,6 @@ index 0000000..965f9a2
|
|||
+ long unsigned int *data);
|
||||
+
|
||||
+#endif /* __VC_SM_KNL_H__INCLUDED__ */
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/vc_vchi_sm.h b/arch/arm/mach-bcm2708/include/mach/vc_vchi_sm.h
|
||||
new file mode 100644
|
||||
index 0000000..5e279f5
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/vc_vchi_sm.h
|
||||
@@ -0,0 +1,82 @@
|
||||
|
@ -379,9 +370,6 @@ index 0000000..5e279f5
|
|||
+ VC_SM_ACTION_CLEAN_T *action_clean);
|
||||
+
|
||||
+#endif /* __VC_VCHI_SM_H__INCLUDED__ */
|
||||
diff --git a/arch/arm/mach-bcm2708/include/mach/vmcs_sm_ioctl.h b/arch/arm/mach-bcm2708/include/mach/vmcs_sm_ioctl.h
|
||||
new file mode 100644
|
||||
index 0000000..42d0eb0
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2708/include/mach/vmcs_sm_ioctl.h
|
||||
@@ -0,0 +1,233 @@
|
||||
|
@ -618,8 +606,6 @@ index 0000000..42d0eb0
|
|||
+/* ---- Function Prototypes ---------------------------------------------- */
|
||||
+
|
||||
+#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */
|
||||
diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig
|
||||
index 2d8bd6e..d4eb46d 100644
|
||||
--- a/drivers/char/broadcom/Kconfig
|
||||
+++ b/drivers/char/broadcom/Kconfig
|
||||
@@ -13,3 +13,10 @@ config BCM_VC_CMA
|
||||
|
@ -633,16 +619,11 @@ index 2d8bd6e..d4eb46d 100644
|
|||
+ help
|
||||
+ Support for the VC shared memory on the Broadcom reference
|
||||
+ design. Uses the VCHIQ stack.
|
||||
diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile
|
||||
index 13c5bca..0bf7fdf 100644
|
||||
--- a/drivers/char/broadcom/Makefile
|
||||
+++ b/drivers/char/broadcom/Makefile
|
||||
@@ -1 +1,2 @@
|
||||
obj-$(CONFIG_BCM_VC_CMA) += vc_cma/
|
||||
+obj-$(CONFIG_BCM_VC_SM) += vc_sm/
|
||||
diff --git a/drivers/char/broadcom/vc_sm/Makefile b/drivers/char/broadcom/vc_sm/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..924a66b
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/broadcom/vc_sm/Makefile
|
||||
@@ -0,0 +1,21 @@
|
||||
|
@ -667,9 +648,6 @@ index 0000000..924a66b
|
|||
+vc-sm-objs := \
|
||||
+ vmcs_sm.o \
|
||||
+ vc_vchi_sm.o
|
||||
diff --git a/drivers/char/broadcom/vc_sm/vc_vchi_sm.c b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c
|
||||
new file mode 100644
|
||||
index 0000000..7c6ba1a
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c
|
||||
@@ -0,0 +1,492 @@
|
||||
|
@ -1165,9 +1143,6 @@ index 0000000..7c6ba1a
|
|||
+ return vc_vchi_sm_send_msg(handle, VC_SM_MSG_TYPE_ACTION_CLEAN,
|
||||
+ msg, sizeof(*msg), 0, 0, 0, 0);
|
||||
+}
|
||||
diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c
|
||||
new file mode 100644
|
||||
index 0000000..da1c523
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c
|
||||
@@ -0,0 +1,3163 @@
|
||||
|
@ -4334,6 +4309,3 @@ index 0000000..da1c523
|
|||
+MODULE_AUTHOR("Broadcom");
|
||||
+MODULE_DESCRIPTION("VideoCore SharedMemory Driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch
Executable file → Normal file
|
@ -9,11 +9,9 @@ This reverts commit 6ce0d20016925d031f1e24d64302e4c976d7cec6.
|
|||
arch/arm/include/asm/dma-mapping.h | 18 +-----------------
|
||||
1 file changed, 1 insertion(+), 17 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h
|
||||
index 85738b2..9477f09 100644
|
||||
--- a/arch/arm/include/asm/dma-mapping.h
|
||||
+++ b/arch/arm/include/asm/dma-mapping.h
|
||||
@@ -58,37 +58,21 @@ static inline int dma_set_mask(struct device *dev, u64 mask)
|
||||
@@ -58,37 +58,21 @@ static inline int dma_set_mask(struct de
|
||||
#ifndef __arch_pfn_to_dma
|
||||
static inline dma_addr_t pfn_to_dma(struct device *dev, unsigned long pfn)
|
||||
{
|
||||
|
@ -52,6 +50,3 @@ index 85738b2..9477f09 100644
|
|||
return (dma_addr_t)__virt_to_bus((unsigned long)(addr));
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
18
target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch
Executable file → Normal file
18
target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch
Executable file → Normal file
|
@ -12,8 +12,6 @@ Subject: [PATCH 058/114] MMC: added alternative MMC driver
|
|||
5 files changed, 1620 insertions(+), 11 deletions(-)
|
||||
create mode 100644 drivers/mmc/host/bcm2835-mmc.c
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index f15a4b9..c363a10 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -908,6 +908,8 @@ CONFIG_MMC=y
|
||||
|
@ -25,11 +23,9 @@ index f15a4b9..c363a10 100644
|
|||
CONFIG_MMC_SPI=m
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index b45f327..5ff1299 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -414,6 +414,34 @@ static struct platform_device bcm2708_systemtimer_device = {
|
||||
@@ -414,6 +414,34 @@ static struct platform_device bcm2708_sy
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -74,8 +70,6 @@ index b45f327..5ff1299 100644
|
|||
bcm2708_init_led();
|
||||
for (i = 0; i < ARRAY_SIZE(bcm2708_alsa_devices); i++)
|
||||
bcm_register_device(&bcm2708_alsa_devices[i]);
|
||||
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
|
||||
index 1386065..977aeef 100644
|
||||
--- a/drivers/mmc/host/Kconfig
|
||||
+++ b/drivers/mmc/host/Kconfig
|
||||
@@ -281,17 +281,6 @@ config MMC_SDHCI_BCM_KONA
|
||||
|
@ -132,11 +126,9 @@ index 1386065..977aeef 100644
|
|||
config MMC_OMAP
|
||||
tristate "TI OMAP Multimedia Card Interface support"
|
||||
depends on ARCH_OMAP
|
||||
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
|
||||
index b09ecfb..7b17387 100644
|
||||
--- a/drivers/mmc/host/Makefile
|
||||
+++ b/drivers/mmc/host/Makefile
|
||||
@@ -17,6 +17,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-pxav2.o
|
||||
@@ -17,6 +17,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-p
|
||||
obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o
|
||||
obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o
|
||||
obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o
|
||||
|
@ -144,9 +136,6 @@ index b09ecfb..7b17387 100644
|
|||
obj-$(CONFIG_MMC_WBSD) += wbsd.o
|
||||
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
|
||||
obj-$(CONFIG_MMC_OMAP) += omap.o
|
||||
diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c
|
||||
new file mode 100644
|
||||
index 0000000..cefba7c
|
||||
--- /dev/null
|
||||
+++ b/drivers/mmc/host/bcm2835-mmc.c
|
||||
@@ -0,0 +1,1557 @@
|
||||
|
@ -1707,6 +1696,3 @@ index 0000000..cefba7c
|
|||
+MODULE_DESCRIPTION("BCM2835 SDHCI driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
+MODULE_AUTHOR("Gellert Weisz");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch
Executable file → Normal file
|
@ -12,11 +12,9 @@ Reported/Tested-by: Gellert Weisz <gellert@raspberrypi.org>
|
|||
drivers/mmc/core/quirks.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/mmc/core/quirks.c b/drivers/mmc/core/quirks.c
|
||||
index dd1d1e0..f472082 100644
|
||||
--- a/drivers/mmc/core/quirks.c
|
||||
+++ b/drivers/mmc/core/quirks.c
|
||||
@@ -95,5 +95,9 @@ void mmc_fixup_device(struct mmc_card *card, const struct mmc_fixup *table)
|
||||
@@ -95,5 +95,9 @@ void mmc_fixup_device(struct mmc_card *c
|
||||
f->vendor_fixup(card, f->data);
|
||||
}
|
||||
}
|
||||
|
@ -26,6 +24,3 @@ index dd1d1e0..f472082 100644
|
|||
+ card->quirks |= MMC_QUIRK_BLK_NO_CMD23;
|
||||
}
|
||||
EXPORT_SYMBOL(mmc_fixup_device);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
18
target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch
Executable file → Normal file
18
target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch
Executable file → Normal file
|
@ -14,8 +14,6 @@ a different codec chip (PCM5122), therefore a new driver is necessary.
|
|||
5 files changed, 148 insertions(+)
|
||||
create mode 100644 sound/soc/bcm/hifiberry_dacplus.c
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index c363a10..28547eb 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -756,6 +756,7 @@ CONFIG_SND_USB_6FIRE=m
|
||||
|
@ -26,11 +24,9 @@ index c363a10..28547eb 100644
|
|||
CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
|
||||
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
|
||||
CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 5ff1299..aa62e55 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -645,6 +645,20 @@ static struct platform_device snd_pcm5102a_codec_device = {
|
||||
@@ -645,6 +645,20 @@ static struct platform_device snd_pcm510
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -63,8 +59,6 @@ index 5ff1299..aa62e55 100644
|
|||
#if defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) || defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI_MODULE)
|
||||
bcm_register_device(&snd_hifiberry_digi_device);
|
||||
i2c_register_board_info(1, snd_wm8804_i2c_devices, ARRAY_SIZE(snd_wm8804_i2c_devices));
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index c621a5e..926a82b 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -26,6 +26,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
|
||||
|
@ -81,11 +75,9 @@ index c621a5e..926a82b 100644
|
|||
config SND_BCM2708_SOC_HIFIBERRY_DIGI
|
||||
tristate "Support for HifiBerry Digi"
|
||||
depends on SND_BCM2708_SOC_I2S
|
||||
diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
|
||||
index d597fb0..c02e3a2 100644
|
||||
--- a/sound/soc/bcm/Makefile
|
||||
+++ b/sound/soc/bcm/Makefile
|
||||
@@ -10,11 +10,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
|
||||
@@ -10,11 +10,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
|
||||
|
||||
# BCM2708 Machine Support
|
||||
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
|
||||
|
@ -99,9 +91,6 @@ index d597fb0..c02e3a2 100644
|
|||
obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
|
||||
diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c
|
||||
new file mode 100644
|
||||
index 0000000..c63387b
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/hifiberry_dacplus.c
|
||||
@@ -0,0 +1,119 @@
|
||||
|
@ -224,6 +213,3 @@ index 0000000..c63387b
|
|||
+MODULE_AUTHOR("Daniel Matuschek <daniel@hifiberry.com>");
|
||||
+MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
30
target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
Executable file → Normal file
30
target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
Executable file → Normal file
|
@ -20,8 +20,6 @@ drivers for the Raspberry Pi I2S subsystem.
|
|||
create mode 100644 sound/soc/codecs/tas5713.c
|
||||
create mode 100644 sound/soc/codecs/tas5713.h
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 28547eb..997e1f3 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -758,6 +758,7 @@ CONFIG_SND_BCM2708_SOC_I2S=m
|
||||
|
@ -32,11 +30,9 @@ index 28547eb..997e1f3 100644
|
|||
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
|
||||
CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
|
||||
CONFIG_SND_SIMPLE_CARD=m
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index aa62e55..5f6a1fa 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -674,6 +674,20 @@ static struct i2c_board_info __initdata snd_wm8804_i2c_devices[] = {
|
||||
@@ -674,6 +674,20 @@ static struct i2c_board_info __initdata
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -70,8 +66,6 @@ index aa62e55..5f6a1fa 100644
|
|||
#if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE)
|
||||
bcm_register_device(&snd_rpi_dac_device);
|
||||
bcm_register_device(&snd_pcm1794a_codec_device);
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index 926a82b..a562ddf 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -40,6 +40,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DIGI
|
||||
|
@ -88,11 +82,9 @@ index 926a82b..a562ddf 100644
|
|||
config SND_BCM2708_SOC_RPI_DAC
|
||||
tristate "Support for RPi-DAC"
|
||||
depends on SND_BCM2708_SOC_I2S
|
||||
diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
|
||||
index c02e3a2..17ea2b0 100644
|
||||
--- a/sound/soc/bcm/Makefile
|
||||
+++ b/sound/soc/bcm/Makefile
|
||||
@@ -12,11 +12,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
|
||||
@@ -12,11 +12,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
|
||||
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
|
||||
snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o
|
||||
snd-soc-hifiberry-digi-objs := hifiberry_digi.o
|
||||
|
@ -106,9 +98,6 @@ index c02e3a2..17ea2b0 100644
|
|||
+obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP) += snd-soc-hifiberry-amp.o
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
|
||||
obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
|
||||
diff --git a/sound/soc/bcm/hifiberry_amp.c b/sound/soc/bcm/hifiberry_amp.c
|
||||
new file mode 100644
|
||||
index 0000000..1e87ee0
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/bcm/hifiberry_amp.c
|
||||
@@ -0,0 +1,106 @@
|
||||
|
@ -218,8 +207,6 @@ index 0000000..1e87ee0
|
|||
+MODULE_AUTHOR("Sebastian Eickhoff <basti.eickhoff@googlemail.com>");
|
||||
+MODULE_DESCRIPTION("ASoC driver for HiFiBerry-AMP");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
|
||||
index 3c236a6..83c55f8 100644
|
||||
--- a/sound/soc/codecs/Kconfig
|
||||
+++ b/sound/soc/codecs/Kconfig
|
||||
@@ -105,6 +105,7 @@ config SND_SOC_ALL_CODECS
|
||||
|
@ -240,8 +227,6 @@ index 3c236a6..83c55f8 100644
|
|||
config SND_SOC_TLV320AIC23
|
||||
tristate
|
||||
|
||||
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
|
||||
index 2a7f823..ca76a2b 100644
|
||||
--- a/sound/soc/codecs/Makefile
|
||||
+++ b/sound/soc/codecs/Makefile
|
||||
@@ -103,6 +103,7 @@ snd-soc-sta350-objs := sta350.o
|
||||
|
@ -252,7 +237,7 @@ index 2a7f823..ca76a2b 100644
|
|||
snd-soc-tlv320aic23-objs := tlv320aic23.o
|
||||
snd-soc-tlv320aic23-i2c-objs := tlv320aic23-i2c.o
|
||||
snd-soc-tlv320aic23-spi-objs := tlv320aic23-spi.o
|
||||
@@ -278,6 +279,7 @@ obj-$(CONFIG_SND_SOC_STA529) += snd-soc-sta529.o
|
||||
@@ -278,6 +279,7 @@ obj-$(CONFIG_SND_SOC_STA529) += snd-so
|
||||
obj-$(CONFIG_SND_SOC_STAC9766) += snd-soc-stac9766.o
|
||||
obj-$(CONFIG_SND_SOC_TAS2552) += snd-soc-tas2552.o
|
||||
obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o
|
||||
|
@ -260,9 +245,6 @@ index 2a7f823..ca76a2b 100644
|
|||
obj-$(CONFIG_SND_SOC_TLV320AIC23) += snd-soc-tlv320aic23.o
|
||||
obj-$(CONFIG_SND_SOC_TLV320AIC23_I2C) += snd-soc-tlv320aic23-i2c.o
|
||||
obj-$(CONFIG_SND_SOC_TLV320AIC23_SPI) += snd-soc-tlv320aic23-spi.o
|
||||
diff --git a/sound/soc/codecs/tas5713.c b/sound/soc/codecs/tas5713.c
|
||||
new file mode 100644
|
||||
index 0000000..a24c1da
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/codecs/tas5713.c
|
||||
@@ -0,0 +1,362 @@
|
||||
|
@ -628,9 +610,6 @@ index 0000000..a24c1da
|
|||
+MODULE_AUTHOR("Sebastian Eickhoff <basti.eickhoff@googlemail.com>");
|
||||
+MODULE_DESCRIPTION("ASoC driver for TAS5713");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/sound/soc/codecs/tas5713.h b/sound/soc/codecs/tas5713.h
|
||||
new file mode 100644
|
||||
index 0000000..8f019e0
|
||||
--- /dev/null
|
||||
+++ b/sound/soc/codecs/tas5713.h
|
||||
@@ -0,0 +1,210 @@
|
||||
|
@ -844,6 +823,3 @@ index 0000000..8f019e0
|
|||
+
|
||||
+
|
||||
+#endif /* _TAS5713_H */
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
40
target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch
Executable file → Normal file
40
target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch
Executable file → Normal file
|
@ -28,11 +28,9 @@ optimised memcpy/memmove/memcmp/memset implementations.
|
|||
create mode 100644 arch/arm/lib/memmove_rpi.S
|
||||
create mode 100644 arch/arm/lib/memset_rpi.S
|
||||
|
||||
diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h
|
||||
index cf4f3aa..9fe7780 100644
|
||||
--- a/arch/arm/include/asm/string.h
|
||||
+++ b/arch/arm/include/asm/string.h
|
||||
@@ -24,6 +24,11 @@ extern void * memchr(const void *, int, __kernel_size_t);
|
||||
@@ -24,6 +24,11 @@ extern void * memchr(const void *, int,
|
||||
#define __HAVE_ARCH_MEMSET
|
||||
extern void * memset(void *, int, __kernel_size_t);
|
||||
|
||||
|
@ -44,8 +42,6 @@ index cf4f3aa..9fe7780 100644
|
|||
extern void __memzero(void *ptr, __kernel_size_t n);
|
||||
|
||||
#define memset(p,v,n) \
|
||||
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
|
||||
index 4767eb9..bcd43de 100644
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -475,6 +475,7 @@ do { \
|
||||
|
@ -56,8 +52,6 @@ index 4767eb9..bcd43de 100644
|
|||
extern unsigned long __must_check __copy_to_user(void __user *to, const void *from, unsigned long n);
|
||||
extern unsigned long __must_check __copy_to_user_std(void __user *to, const void *from, unsigned long n);
|
||||
extern unsigned long __must_check __clear_user(void __user *addr, unsigned long n);
|
||||
diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
|
||||
index 0573faa..498f5dd 100644
|
||||
--- a/arch/arm/lib/Makefile
|
||||
+++ b/arch/arm/lib/Makefile
|
||||
@@ -6,15 +6,24 @@
|
||||
|
@ -88,9 +82,6 @@ index 0573faa..498f5dd 100644
|
|||
mmu-y := clear_user.o copy_page.o getuser.o putuser.o
|
||||
|
||||
# the code in uaccess.S is not preemption safe and
|
||||
diff --git a/arch/arm/lib/arm-mem.h b/arch/arm/lib/arm-mem.h
|
||||
new file mode 100644
|
||||
index 0000000..5d4bda1
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/lib/arm-mem.h
|
||||
@@ -0,0 +1,159 @@
|
||||
|
@ -253,8 +244,6 @@ index 0000000..5d4bda1
|
|||
+ .endif
|
||||
+92:
|
||||
+.endm
|
||||
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S
|
||||
index 66a477a..3faddf7 100644
|
||||
--- a/arch/arm/lib/copy_from_user.S
|
||||
+++ b/arch/arm/lib/copy_from_user.S
|
||||
@@ -84,11 +84,13 @@
|
||||
|
@ -272,9 +261,6 @@ index 66a477a..3faddf7 100644
|
|||
|
||||
.pushsection .fixup,"ax"
|
||||
.align 0
|
||||
diff --git a/arch/arm/lib/exports_rpi.c b/arch/arm/lib/exports_rpi.c
|
||||
new file mode 100644
|
||||
index 0000000..1f82604
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/lib/exports_rpi.c
|
||||
@@ -0,0 +1,37 @@
|
||||
|
@ -315,9 +301,6 @@ index 0000000..1f82604
|
|||
+#include <linux/module.h>
|
||||
+
|
||||
+EXPORT_SYMBOL(memcmp);
|
||||
diff --git a/arch/arm/lib/memcmp_rpi.S b/arch/arm/lib/memcmp_rpi.S
|
||||
new file mode 100644
|
||||
index 0000000..bf6e4ed
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/lib/memcmp_rpi.S
|
||||
@@ -0,0 +1,285 @@
|
||||
|
@ -606,9 +589,6 @@ index 0000000..bf6e4ed
|
|||
+ .unreq DAT7
|
||||
+ .unreq OFF
|
||||
+ENDPROC(memcmp)
|
||||
diff --git a/arch/arm/lib/memcpy_rpi.S b/arch/arm/lib/memcpy_rpi.S
|
||||
new file mode 100644
|
||||
index 0000000..15ff2bd
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/lib/memcpy_rpi.S
|
||||
@@ -0,0 +1,59 @@
|
||||
|
@ -671,9 +651,6 @@ index 0000000..15ff2bd
|
|||
+ENTRY(memcpy)
|
||||
+ memcpy 0
|
||||
+ENDPROC(memcpy)
|
||||
diff --git a/arch/arm/lib/memcpymove.h b/arch/arm/lib/memcpymove.h
|
||||
new file mode 100644
|
||||
index 0000000..d8be584
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/lib/memcpymove.h
|
||||
@@ -0,0 +1,506 @@
|
||||
|
@ -1183,9 +1160,6 @@ index 0000000..d8be584
|
|||
+ .unreq LAST
|
||||
+ .unreq OFF
|
||||
+.endm
|
||||
diff --git a/arch/arm/lib/memmove_rpi.S b/arch/arm/lib/memmove_rpi.S
|
||||
new file mode 100644
|
||||
index 0000000..8b0760c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/lib/memmove_rpi.S
|
||||
@@ -0,0 +1,61 @@
|
||||
|
@ -1250,9 +1224,6 @@ index 0000000..8b0760c
|
|||
+ bpl memcpy /* pl works even over -1 - 0 and 0x7fffffff - 0x80000000 boundaries */
|
||||
+ memcpy 1
|
||||
+ENDPROC(memmove)
|
||||
diff --git a/arch/arm/lib/memset_rpi.S b/arch/arm/lib/memset_rpi.S
|
||||
new file mode 100644
|
||||
index 0000000..2cde883
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/lib/memset_rpi.S
|
||||
@@ -0,0 +1,121 @@
|
||||
|
@ -1377,8 +1348,6 @@ index 0000000..2cde883
|
|||
+ .unreq DAT2
|
||||
+ .unreq DAT3
|
||||
+ENDPROC(memset)
|
||||
diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c
|
||||
index 3e58d71..0622891 100644
|
||||
--- a/arch/arm/lib/uaccess_with_memcpy.c
|
||||
+++ b/arch/arm/lib/uaccess_with_memcpy.c
|
||||
@@ -22,6 +22,14 @@
|
||||
|
@ -1396,7 +1365,7 @@ index 3e58d71..0622891 100644
|
|||
static int
|
||||
pin_page_for_write(const void __user *_addr, pte_t **ptep, spinlock_t **ptlp)
|
||||
{
|
||||
@@ -85,7 +93,44 @@ pin_page_for_write(const void __user *_addr, pte_t **ptep, spinlock_t **ptlp)
|
||||
@@ -85,7 +93,44 @@ pin_page_for_write(const void __user *_a
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1497,7 +1466,7 @@ index 3e58d71..0622891 100644
|
|||
unsigned long
|
||||
__copy_to_user(void __user *to, const void *from, unsigned long n)
|
||||
{
|
||||
@@ -145,10 +238,25 @@ __copy_to_user(void __user *to, const void *from, unsigned long n)
|
||||
@@ -145,10 +238,25 @@ __copy_to_user(void __user *to, const vo
|
||||
* With frame pointer disabled, tail call optimization kicks in
|
||||
* as well making this test almost invisible.
|
||||
*/
|
||||
|
@ -1524,6 +1493,3 @@ index 3e58d71..0622891 100644
|
|||
|
||||
static unsigned long noinline
|
||||
__clear_user_memset(void __user *addr, unsigned long n)
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
63
target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch
Executable file → Normal file
63
target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch
Executable file → Normal file
|
@ -18,8 +18,6 @@ support code with each new device.
|
|||
sound/soc/bcm/bcm2835-i2s.c | 1 +
|
||||
6 files changed, 80 insertions(+), 64 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 5f6a1fa..2c6a29d 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -35,6 +35,7 @@
|
||||
|
@ -39,7 +37,7 @@ index 5f6a1fa..2c6a29d 100644
|
|||
static void __init bcm2708_init_led(void);
|
||||
|
||||
void __init bcm2708_init_irq(void)
|
||||
@@ -514,7 +517,6 @@ static struct platform_device bcm2708_alsa_devices[] = {
|
||||
@@ -514,7 +517,6 @@ static struct platform_device bcm2708_al
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -47,7 +45,7 @@ index 5f6a1fa..2c6a29d 100644
|
|||
static struct resource bcm2708_spi_resources[] = {
|
||||
{
|
||||
.start = SPI0_BASE,
|
||||
@@ -538,7 +540,6 @@ static struct platform_device bcm2708_spi_device = {
|
||||
@@ -538,7 +540,6 @@ static struct platform_device bcm2708_sp
|
||||
.dma_mask = &bcm2708_spi_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(DMA_MASK_BITS_COMMON)},
|
||||
};
|
||||
|
@ -55,7 +53,7 @@ index 5f6a1fa..2c6a29d 100644
|
|||
|
||||
#ifdef CONFIG_BCM2708_SPIDEV
|
||||
static struct spi_board_info bcm2708_spi_devices[] = {
|
||||
@@ -560,7 +561,6 @@ static struct spi_board_info bcm2708_spi_devices[] = {
|
||||
@@ -560,7 +561,6 @@ static struct spi_board_info bcm2708_spi
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -63,7 +61,7 @@ index 5f6a1fa..2c6a29d 100644
|
|||
static struct resource bcm2708_bsc0_resources[] = {
|
||||
{
|
||||
.start = BSC0_BASE,
|
||||
@@ -599,7 +599,6 @@ static struct platform_device bcm2708_bsc1_device = {
|
||||
@@ -599,7 +599,6 @@ static struct platform_device bcm2708_bs
|
||||
.num_resources = ARRAY_SIZE(bcm2708_bsc1_resources),
|
||||
.resource = bcm2708_bsc1_resources,
|
||||
};
|
||||
|
@ -71,7 +69,7 @@ index 5f6a1fa..2c6a29d 100644
|
|||
|
||||
static struct platform_device bcm2835_hwmon_device = {
|
||||
.name = "bcm2835_hwmon",
|
||||
@@ -609,7 +608,7 @@ static struct platform_device bcm2835_thermal_device = {
|
||||
@@ -609,7 +608,7 @@ static struct platform_device bcm2835_th
|
||||
.name = "bcm2835_thermal",
|
||||
};
|
||||
|
||||
|
@ -80,7 +78,7 @@ index 5f6a1fa..2c6a29d 100644
|
|||
static struct resource bcm2708_i2s_resources[] = {
|
||||
{
|
||||
.start = I2S_BASE,
|
||||
@@ -731,14 +730,14 @@ int __init bcm_register_device(struct platform_device *pdev)
|
||||
@@ -731,14 +730,14 @@ int __init bcm_register_device(struct pl
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -186,7 +184,7 @@ index 5f6a1fa..2c6a29d 100644
|
|||
#endif
|
||||
|
||||
|
||||
@@ -1041,9 +1041,9 @@ static struct platform_device bcm2708_led_device = {
|
||||
@@ -1041,9 +1041,9 @@ static struct platform_device bcm2708_le
|
||||
|
||||
static void __init bcm2708_init_led(void)
|
||||
{
|
||||
|
@ -199,8 +197,6 @@ index 5f6a1fa..2c6a29d 100644
|
|||
}
|
||||
#else
|
||||
static inline void bcm2708_init_led(void)
|
||||
diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c
|
||||
index 10463db..3f9be02 100644
|
||||
--- a/drivers/dma/bcm2708-dmaengine.c
|
||||
+++ b/drivers/dma/bcm2708-dmaengine.c
|
||||
@@ -42,7 +42,7 @@
|
||||
|
@ -212,7 +208,7 @@ index 10463db..3f9be02 100644
|
|||
|
||||
/* dma manager */
|
||||
#include <mach/dma.h>
|
||||
@@ -721,7 +721,7 @@ static int bcm2835_dma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
|
||||
@@ -721,7 +721,7 @@ static int bcm2835_dma_control(struct dm
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -221,7 +217,7 @@ index 10463db..3f9be02 100644
|
|||
static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq)
|
||||
{
|
||||
struct bcm2835_chan *c;
|
||||
@@ -784,7 +784,7 @@ static const struct of_device_id bcm2835_dma_of_match[] = {
|
||||
@@ -784,7 +784,7 @@ static const struct of_device_id bcm2835
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, bcm2835_dma_of_match);
|
||||
|
||||
|
@ -230,7 +226,7 @@ index 10463db..3f9be02 100644
|
|||
static struct dma_chan *bcm2835_dma_xlate(struct of_phandle_args *spec,
|
||||
struct of_dma *ofdma)
|
||||
{
|
||||
@@ -817,7 +817,7 @@ static int bcm2835_dma_device_slave_caps(struct dma_chan *dchan,
|
||||
@@ -817,7 +817,7 @@ static int bcm2835_dma_device_slave_caps
|
||||
static int bcm2835_dma_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct bcm2835_dmadev *od;
|
||||
|
@ -239,7 +235,7 @@ index 10463db..3f9be02 100644
|
|||
struct resource *res;
|
||||
void __iomem *base;
|
||||
uint32_t chans_available;
|
||||
@@ -830,10 +830,10 @@ static int bcm2835_dma_probe(struct platform_device *pdev)
|
||||
@@ -830,10 +830,10 @@ static int bcm2835_dma_probe(struct plat
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
|
||||
|
@ -252,7 +248,7 @@ index 10463db..3f9be02 100644
|
|||
|
||||
rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (rc)
|
||||
@@ -987,7 +987,7 @@ static int bcm2835_dma_remove(struct platform_device *pdev)
|
||||
@@ -987,7 +987,7 @@ static int bcm2835_dma_remove(struct pla
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -261,8 +257,6 @@ index 10463db..3f9be02 100644
|
|||
|
||||
|
||||
static struct platform_driver bcm2835_dma_driver = {
|
||||
diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c
|
||||
index cefba7c..34d6167 100644
|
||||
--- a/drivers/mmc/host/bcm2835-mmc.c
|
||||
+++ b/drivers/mmc/host/bcm2835-mmc.c
|
||||
@@ -42,7 +42,7 @@
|
||||
|
@ -274,7 +268,7 @@ index cefba7c..34d6167 100644
|
|||
#define BCM2835_CLOCK_FREQ 250000000
|
||||
#endif
|
||||
|
||||
@@ -662,7 +662,7 @@ void bcm2835_mmc_send_command(struct bcm2835_host *host, struct mmc_command *cmd
|
||||
@@ -662,7 +662,7 @@ void bcm2835_mmc_send_command(struct bcm
|
||||
}
|
||||
|
||||
timeout = jiffies;
|
||||
|
@ -283,7 +277,7 @@ index cefba7c..34d6167 100644
|
|||
if (!cmd->data && cmd->busy_timeout > 9000)
|
||||
timeout += DIV_ROUND_UP(cmd->busy_timeout, 1000) * HZ + HZ;
|
||||
else
|
||||
@@ -962,7 +962,7 @@ static irqreturn_t bcm2835_mmc_irq(int irq, void *dev_id)
|
||||
@@ -962,7 +962,7 @@ static irqreturn_t bcm2835_mmc_irq(int i
|
||||
struct bcm2835_host *host = dev_id;
|
||||
u32 intmask, mask, unexpected = 0;
|
||||
int max_loops = 16;
|
||||
|
@ -292,7 +286,7 @@ index cefba7c..34d6167 100644
|
|||
int cardint = 0;
|
||||
#endif
|
||||
|
||||
@@ -993,7 +993,7 @@ static irqreturn_t bcm2835_mmc_irq(int irq, void *dev_id)
|
||||
@@ -993,7 +993,7 @@ static irqreturn_t bcm2835_mmc_irq(int i
|
||||
mmc_hostname(host->mmc));
|
||||
|
||||
if (intmask & SDHCI_INT_CARD_INT) {
|
||||
|
@ -319,7 +313,7 @@ index cefba7c..34d6167 100644
|
|||
static irqreturn_t bcm2835_mmc_thread_irq(int irq, void *dev_id)
|
||||
{
|
||||
struct bcm2835_host *host = dev_id;
|
||||
@@ -1288,7 +1288,7 @@ int bcm2835_mmc_add_host(struct bcm2835_host *host)
|
||||
@@ -1288,7 +1288,7 @@ int bcm2835_mmc_add_host(struct bcm2835_
|
||||
|
||||
/* SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK */
|
||||
host->timeout_clk = mmc->f_max / 1000;
|
||||
|
@ -328,7 +322,7 @@ index cefba7c..34d6167 100644
|
|||
mmc->max_busy_timeout = (1 << 27) / host->timeout_clk;
|
||||
#endif
|
||||
/* host controller capabilities */
|
||||
@@ -1345,7 +1345,7 @@ int bcm2835_mmc_add_host(struct bcm2835_host *host)
|
||||
@@ -1345,7 +1345,7 @@ int bcm2835_mmc_add_host(struct bcm2835_
|
||||
init_waitqueue_head(&host->buf_ready_int);
|
||||
|
||||
bcm2835_mmc_init(host, 0);
|
||||
|
@ -346,7 +340,7 @@ index cefba7c..34d6167 100644
|
|||
struct device_node *node = dev->of_node;
|
||||
struct clk *clk;
|
||||
#endif
|
||||
@@ -1383,7 +1383,7 @@ static int bcm2835_mmc_probe(struct platform_device *pdev)
|
||||
@@ -1383,7 +1383,7 @@ static int bcm2835_mmc_probe(struct plat
|
||||
|
||||
int ret;
|
||||
struct mmc_host *mmc;
|
||||
|
@ -355,7 +349,7 @@ index cefba7c..34d6167 100644
|
|||
dma_cap_mask_t mask;
|
||||
#endif
|
||||
|
||||
@@ -1408,7 +1408,7 @@ static int bcm2835_mmc_probe(struct platform_device *pdev)
|
||||
@@ -1408,7 +1408,7 @@ static int bcm2835_mmc_probe(struct plat
|
||||
|
||||
host->phys_addr = iomem->start + BCM2835_VCMMU_SHIFT;
|
||||
|
||||
|
@ -364,7 +358,7 @@ index cefba7c..34d6167 100644
|
|||
#ifndef FORCE_PIO
|
||||
dma_cap_zero(mask);
|
||||
/* we don't care about the channel, any would work */
|
||||
@@ -1458,7 +1458,7 @@ static int bcm2835_mmc_probe(struct platform_device *pdev)
|
||||
@@ -1458,7 +1458,7 @@ static int bcm2835_mmc_probe(struct plat
|
||||
}
|
||||
|
||||
|
||||
|
@ -373,11 +367,9 @@ index cefba7c..34d6167 100644
|
|||
mmc->caps |= MMC_CAP_4_BIT_DATA;
|
||||
#else
|
||||
mmc_of_parse(mmc);
|
||||
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
|
||||
index d134710..2e2b6d0 100644
|
||||
--- a/drivers/of/fdt.c
|
||||
+++ b/drivers/of/fdt.c
|
||||
@@ -1083,8 +1083,12 @@ static struct debugfs_blob_wrapper flat_dt_blob;
|
||||
@@ -1086,8 +1086,12 @@ static struct debugfs_blob_wrapper flat_
|
||||
|
||||
static int __init of_flat_dt_debugfs_export_fdt(void)
|
||||
{
|
||||
|
@ -391,11 +383,9 @@ index d134710..2e2b6d0 100644
|
|||
if (!d)
|
||||
return -ENOENT;
|
||||
|
||||
diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
|
||||
index 0b5322a..a3b65dc 100644
|
||||
--- a/sound/soc/bcm/bcm2708-i2s.c
|
||||
+++ b/sound/soc/bcm/bcm2708-i2s.c
|
||||
@@ -493,15 +493,19 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
@@ -493,15 +493,19 @@ static int bcm2708_i2s_hw_params(struct
|
||||
divf = dividend & BCM2708_CLK_DIVF_MASK;
|
||||
}
|
||||
|
||||
|
@ -424,7 +414,7 @@ index 0b5322a..a3b65dc 100644
|
|||
|
||||
/* Setup the frame format */
|
||||
format = BCM2708_I2S_CHEN;
|
||||
@@ -981,12 +985,19 @@ static int bcm2708_i2s_remove(struct platform_device *pdev)
|
||||
@@ -981,12 +985,19 @@ static int bcm2708_i2s_remove(struct pla
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -444,11 +434,9 @@ index 0b5322a..a3b65dc 100644
|
|||
},
|
||||
};
|
||||
|
||||
diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c
|
||||
index 2685fe4..e2c61d1 100644
|
||||
--- a/sound/soc/bcm/bcm2835-i2s.c
|
||||
+++ b/sound/soc/bcm/bcm2835-i2s.c
|
||||
@@ -861,6 +861,7 @@ static const struct of_device_id bcm2835_i2s_of_match[] = {
|
||||
@@ -861,6 +861,7 @@ static const struct of_device_id bcm2835
|
||||
{ .compatible = "brcm,bcm2835-i2s", },
|
||||
{},
|
||||
};
|
||||
|
@ -456,6 +444,3 @@ index 2685fe4..e2c61d1 100644
|
|||
|
||||
static struct platform_driver bcm2835_i2s_driver = {
|
||||
.probe = bcm2835_i2s_probe,
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
59
target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch
Executable file → Normal file
59
target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch
Executable file → Normal file
|
@ -26,11 +26,9 @@ Subject: [PATCH 064/114] Adding Device Tree support for some RPi audio cards
|
|||
create mode 100644 arch/arm/boot/dts/iqaudio-dac-overlay.dts
|
||||
create mode 100644 arch/arm/boot/dts/iqaudio-dacplus-overlay.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index c727f71..adaebbb 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
|
||||
@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4e
|
||||
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
|
||||
|
@ -38,7 +36,7 @@ index c727f71..adaebbb 100644
|
|||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
|
||||
@@ -520,6 +521,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb
|
||||
@@ -520,6 +521,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aq
|
||||
|
||||
targets += dtbs dtbs_install
|
||||
targets += $(dtb-y)
|
||||
|
@ -46,9 +44,6 @@ index c727f71..adaebbb 100644
|
|||
endif
|
||||
|
||||
# *.dtb used to be generated in the directory above. Clean out the
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
new file mode 100644
|
||||
index 0000000..983c23f
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
@@ -0,0 +1,81 @@
|
||||
|
@ -133,8 +128,6 @@ index 0000000..983c23f
|
|||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2s_pins>;
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
index 5893122..d8c6d15 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
@@ -4,12 +4,18 @@
|
||||
|
@ -179,8 +172,6 @@ index 5893122..d8c6d15 100644
|
|||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2s_pins>;
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
index 2ca6d63..6b36128 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -7,11 +7,8 @@
|
||||
|
@ -215,9 +206,6 @@ index 2ca6d63..6b36128 100644
|
|||
spi0: spi@7e204000 {
|
||||
compatible = "brcm,bcm2708-spi";
|
||||
reg = <0x7e204000 0x1000>;
|
||||
diff --git a/arch/arm/boot/dts/hifiberry-dac-overlay.dts b/arch/arm/boot/dts/hifiberry-dac-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..5e7633a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/hifiberry-dac-overlay.dts
|
||||
@@ -0,0 +1,34 @@
|
||||
|
@ -255,9 +243,6 @@ index 0000000..5e7633a
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/hifiberry-dacplus-overlay.dts b/arch/arm/boot/dts/hifiberry-dacplus-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..deb9c62
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/hifiberry-dacplus-overlay.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
|
@ -300,9 +285,6 @@ index 0000000..deb9c62
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/hifiberry-digi-overlay.dts b/arch/arm/boot/dts/hifiberry-digi-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..d0e0d8a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/hifiberry-digi-overlay.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
|
@ -345,9 +327,6 @@ index 0000000..d0e0d8a
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/iqaudio-dac-overlay.dts b/arch/arm/boot/dts/iqaudio-dac-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..ea8173e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/iqaudio-dac-overlay.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
|
@ -390,9 +369,6 @@ index 0000000..ea8173e
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/iqaudio-dacplus-overlay.dts b/arch/arm/boot/dts/iqaudio-dacplus-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..735d8ab
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/iqaudio-dacplus-overlay.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
|
@ -435,11 +411,9 @@ index 0000000..735d8ab
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/sound/soc/bcm/hifiberry_dac.c b/sound/soc/bcm/hifiberry_dac.c
|
||||
index 4b70b45..3ab0f47 100644
|
||||
--- a/sound/soc/bcm/hifiberry_dac.c
|
||||
+++ b/sound/soc/bcm/hifiberry_dac.c
|
||||
@@ -72,6 +72,21 @@ static int snd_rpi_hifiberry_dac_probe(struct platform_device *pdev)
|
||||
@@ -72,6 +72,21 @@ static int snd_rpi_hifiberry_dac_probe(s
|
||||
int ret = 0;
|
||||
|
||||
snd_rpi_hifiberry_dac.dev = &pdev->dev;
|
||||
|
@ -461,7 +435,7 @@ index 4b70b45..3ab0f47 100644
|
|||
ret = snd_soc_register_card(&snd_rpi_hifiberry_dac);
|
||||
if (ret)
|
||||
dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", ret);
|
||||
@@ -84,10 +99,17 @@ static int snd_rpi_hifiberry_dac_remove(struct platform_device *pdev)
|
||||
@@ -84,10 +99,17 @@ static int snd_rpi_hifiberry_dac_remove(
|
||||
return snd_soc_unregister_card(&snd_rpi_hifiberry_dac);
|
||||
}
|
||||
|
||||
|
@ -479,11 +453,9 @@ index 4b70b45..3ab0f47 100644
|
|||
},
|
||||
.probe = snd_rpi_hifiberry_dac_probe,
|
||||
.remove = snd_rpi_hifiberry_dac_remove,
|
||||
diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c
|
||||
index c63387b..11e4f39 100644
|
||||
--- a/sound/soc/bcm/hifiberry_dacplus.c
|
||||
+++ b/sound/soc/bcm/hifiberry_dacplus.c
|
||||
@@ -90,6 +90,21 @@ static int snd_rpi_hifiberry_dacplus_probe(struct platform_device *pdev)
|
||||
@@ -90,6 +90,21 @@ static int snd_rpi_hifiberry_dacplus_pro
|
||||
int ret = 0;
|
||||
|
||||
snd_rpi_hifiberry_dacplus.dev = &pdev->dev;
|
||||
|
@ -505,7 +477,7 @@ index c63387b..11e4f39 100644
|
|||
ret = snd_soc_register_card(&snd_rpi_hifiberry_dacplus);
|
||||
if (ret)
|
||||
dev_err(&pdev->dev,
|
||||
@@ -103,10 +118,17 @@ static int snd_rpi_hifiberry_dacplus_remove(struct platform_device *pdev)
|
||||
@@ -103,10 +118,17 @@ static int snd_rpi_hifiberry_dacplus_rem
|
||||
return snd_soc_unregister_card(&snd_rpi_hifiberry_dacplus);
|
||||
}
|
||||
|
||||
|
@ -523,11 +495,9 @@ index c63387b..11e4f39 100644
|
|||
},
|
||||
.probe = snd_rpi_hifiberry_dacplus_probe,
|
||||
.remove = snd_rpi_hifiberry_dacplus_remove,
|
||||
diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
|
||||
index e4f769d..76af8a6 100644
|
||||
--- a/sound/soc/bcm/hifiberry_digi.c
|
||||
+++ b/sound/soc/bcm/hifiberry_digi.c
|
||||
@@ -125,6 +125,21 @@ static int snd_rpi_hifiberry_digi_probe(struct platform_device *pdev)
|
||||
@@ -125,6 +125,21 @@ static int snd_rpi_hifiberry_digi_probe(
|
||||
int ret = 0;
|
||||
|
||||
snd_rpi_hifiberry_digi.dev = &pdev->dev;
|
||||
|
@ -549,7 +519,7 @@ index e4f769d..76af8a6 100644
|
|||
ret = snd_soc_register_card(&snd_rpi_hifiberry_digi);
|
||||
if (ret)
|
||||
dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", ret);
|
||||
@@ -137,10 +152,17 @@ static int snd_rpi_hifiberry_digi_remove(struct platform_device *pdev)
|
||||
@@ -137,10 +152,17 @@ static int snd_rpi_hifiberry_digi_remove
|
||||
return snd_soc_unregister_card(&snd_rpi_hifiberry_digi);
|
||||
}
|
||||
|
||||
|
@ -567,11 +537,9 @@ index e4f769d..76af8a6 100644
|
|||
},
|
||||
.probe = snd_rpi_hifiberry_digi_probe,
|
||||
.remove = snd_rpi_hifiberry_digi_remove,
|
||||
diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c
|
||||
index 8d0e2ae..ee8cd6e 100644
|
||||
--- a/sound/soc/bcm/iqaudio-dac.c
|
||||
+++ b/sound/soc/bcm/iqaudio-dac.c
|
||||
@@ -76,6 +76,21 @@ static int snd_rpi_iqaudio_dac_probe(struct platform_device *pdev)
|
||||
@@ -76,6 +76,21 @@ static int snd_rpi_iqaudio_dac_probe(str
|
||||
int ret = 0;
|
||||
|
||||
snd_rpi_iqaudio_dac.dev = &pdev->dev;
|
||||
|
@ -593,7 +561,7 @@ index 8d0e2ae..ee8cd6e 100644
|
|||
ret = snd_soc_register_card(&snd_rpi_iqaudio_dac);
|
||||
if (ret)
|
||||
dev_err(&pdev->dev,
|
||||
@@ -93,6 +108,7 @@ static const struct of_device_id iqaudio_of_match[] = {
|
||||
@@ -93,6 +108,7 @@ static const struct of_device_id iqaudio
|
||||
{ .compatible = "iqaudio,iqaudio-dac", },
|
||||
{},
|
||||
};
|
||||
|
@ -601,11 +569,9 @@ index 8d0e2ae..ee8cd6e 100644
|
|||
|
||||
static struct platform_driver snd_rpi_iqaudio_dac_driver = {
|
||||
.driver = {
|
||||
diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c
|
||||
index 126f1e9..7c6598e 100644
|
||||
--- a/sound/soc/codecs/pcm5102a.c
|
||||
+++ b/sound/soc/codecs/pcm5102a.c
|
||||
@@ -47,12 +47,19 @@ static int pcm5102a_remove(struct platform_device *pdev)
|
||||
@@ -47,12 +47,19 @@ static int pcm5102a_remove(struct platfo
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -625,6 +591,3 @@ index 126f1e9..7c6598e 100644
|
|||
},
|
||||
};
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 65/99] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
|
|||
drivers/of/fdt.c | 29 ++++++++++++++++++++++++-----
|
||||
1 file changed, 24 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
|
||||
index 2e2b6d0..badc6a3 100644
|
||||
--- a/drivers/of/fdt.c
|
||||
+++ b/drivers/of/fdt.c
|
||||
@@ -901,22 +901,38 @@ int __init early_init_dt_scan_chosen(uns
|
||||
|
@ -58,6 +56,3 @@ index 2e2b6d0..badc6a3 100644
|
|||
#endif /* CONFIG_CMDLINE */
|
||||
|
||||
pr_debug("Command line is: %s\n", (char*)data);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 066/114] config: Enable device tree
|
|||
arch/arm/configs/bcmrpi_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 997e1f3..2cd8227 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -39,6 +39,7 @@ CONFIG_PARTITION_ADVANCED=y
|
||||
|
@ -19,6 +17,3 @@ index 997e1f3..2cd8227 100644
|
|||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_CLEANCACHE=y
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch
Executable file → Normal file
|
@ -8,8 +8,6 @@ Subject: [PATCH 067/114] DT: Add overrides to enable i2c0, i2c1, spi and i2s
|
|||
arch/arm/boot/dts/bcm2708-rpi-b.dts | 10 ++++++++++
|
||||
2 files changed, 20 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
index 983c23f..d9886c3 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
@@ -79,3 +79,13 @@
|
||||
|
@ -26,8 +24,6 @@ index 983c23f..d9886c3 100644
|
|||
+ i2c1 = <&i2c1>,"status";
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
index d8c6d15..167b22b 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
@@ -79,3 +79,13 @@
|
||||
|
@ -44,6 +40,3 @@ index d8c6d15..167b22b 100644
|
|||
+ i2c1 = <&i2c1>,"status";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
57
target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch
Executable file → Normal file
57
target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch
Executable file → Normal file
|
@ -15,9 +15,6 @@ lirc-rpi: Also support pinctrl-bcm2835 in non-DT mode
|
|||
2 files changed, 183 insertions(+), 28 deletions(-)
|
||||
create mode 100644 arch/arm/boot/dts/lirc-rpi-overlay.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/lirc-rpi-overlay.dts b/arch/arm/boot/dts/lirc-rpi-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..7d5d82b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/lirc-rpi-overlay.dts
|
||||
@@ -0,0 +1,57 @@
|
||||
|
@ -78,8 +75,6 @@ index 0000000..7d5d82b
|
|||
+ debug = <&lirc_rpi>,"rpi,debug:0";
|
||||
+ };
|
||||
+};
|
||||
diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c
|
||||
index c688364..cd66ca2 100644
|
||||
--- a/drivers/staging/media/lirc/lirc_rpi.c
|
||||
+++ b/drivers/staging/media/lirc/lirc_rpi.c
|
||||
@@ -40,6 +40,7 @@
|
||||
|
@ -90,7 +85,7 @@ index c688364..cd66ca2 100644
|
|||
|
||||
#include <linux/platform_data/bcm2708.h>
|
||||
|
||||
@@ -295,32 +296,117 @@ static int is_right_chip(struct gpio_chip *chip, void *data)
|
||||
@@ -295,32 +296,117 @@ static int is_right_chip(struct gpio_chi
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -175,13 +170,8 @@ index c688364..cd66ca2 100644
|
|||
+ read_bool_property(node, "rpi,invert", &invert);
|
||||
+
|
||||
+ read_bool_property(node, "rpi,debug", &debug);
|
||||
|
||||
- if (gpio_request(gpio_out_pin, LIRC_DRIVER_NAME " ir/out")) {
|
||||
- printk(KERN_ALERT LIRC_DRIVER_NAME
|
||||
- ": cant claim gpio pin %d\n", gpio_out_pin);
|
||||
- ret = -ENODEV;
|
||||
- goto exit_init_port;
|
||||
}
|
||||
+
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (gpio_in_pin >= BCM2708_NR_GPIOS ||
|
||||
|
@ -191,12 +181,7 @@ index c688364..cd66ca2 100644
|
|||
+ ": invalid GPIO pin(s) specified!\n");
|
||||
+ goto exit_init_port;
|
||||
+ }
|
||||
|
||||
- if (gpio_request(gpio_in_pin, LIRC_DRIVER_NAME " ir/in")) {
|
||||
- printk(KERN_ALERT LIRC_DRIVER_NAME
|
||||
- ": cant claim gpio pin %d\n", gpio_in_pin);
|
||||
- ret = -ENODEV;
|
||||
- goto exit_gpio_free_out_pin;
|
||||
+
|
||||
+ if (gpio_request(gpio_out_pin, LIRC_DRIVER_NAME " ir/out")) {
|
||||
+ printk(KERN_ALERT LIRC_DRIVER_NAME
|
||||
+ ": cant claim gpio pin %d\n", gpio_out_pin);
|
||||
|
@ -214,8 +199,22 @@ index c688364..cd66ca2 100644
|
|||
+ bcm2708_gpio_setpull(gpiochip, gpio_in_pin, gpio_in_pull);
|
||||
+ gpiochip->direction_input(gpiochip, gpio_in_pin);
|
||||
+ gpiochip->direction_output(gpiochip, gpio_out_pin, 1);
|
||||
}
|
||||
+ }
|
||||
|
||||
- if (gpio_request(gpio_out_pin, LIRC_DRIVER_NAME " ir/out")) {
|
||||
- printk(KERN_ALERT LIRC_DRIVER_NAME
|
||||
- ": cant claim gpio pin %d\n", gpio_out_pin);
|
||||
- ret = -ENODEV;
|
||||
- goto exit_init_port;
|
||||
- }
|
||||
-
|
||||
- if (gpio_request(gpio_in_pin, LIRC_DRIVER_NAME " ir/in")) {
|
||||
- printk(KERN_ALERT LIRC_DRIVER_NAME
|
||||
- ": cant claim gpio pin %d\n", gpio_in_pin);
|
||||
- ret = -ENODEV;
|
||||
- goto exit_gpio_free_out_pin;
|
||||
- }
|
||||
-
|
||||
- bcm2708_gpio_setpull(gpiochip, gpio_in_pin, gpio_in_pull);
|
||||
- gpiochip->direction_input(gpiochip, gpio_in_pin);
|
||||
- gpiochip->direction_output(gpiochip, gpio_out_pin, 1);
|
||||
|
@ -254,25 +253,26 @@ index c688364..cd66ca2 100644
|
|||
- if (!lirc_rpi_dev) {
|
||||
- result = -ENOMEM;
|
||||
- goto exit_driver_unregister;
|
||||
- }
|
||||
+ node = of_find_compatible_node(NULL, NULL,
|
||||
+ lirc_rpi_of_match[0].compatible);
|
||||
+
|
||||
|
||||
- result = platform_device_add(lirc_rpi_dev);
|
||||
- if (result)
|
||||
- goto exit_device_put;
|
||||
+ if (node) {
|
||||
+ /* DT-enabled */
|
||||
+ lirc_rpi_dev = of_find_device_by_node(node);
|
||||
+ WARN_ON(lirc_rpi_dev->dev.of_node != node);
|
||||
+ of_node_put(node);
|
||||
}
|
||||
+ }
|
||||
+ else {
|
||||
+ lirc_rpi_dev = platform_device_alloc(LIRC_DRIVER_NAME, 0);
|
||||
+ if (!lirc_rpi_dev) {
|
||||
+ result = -ENOMEM;
|
||||
+ goto exit_driver_unregister;
|
||||
+ }
|
||||
|
||||
- result = platform_device_add(lirc_rpi_dev);
|
||||
- if (result)
|
||||
- goto exit_device_put;
|
||||
+
|
||||
+ result = platform_device_add(lirc_rpi_dev);
|
||||
+ if (result)
|
||||
+ goto exit_device_put;
|
||||
|
@ -280,7 +280,7 @@ index c688364..cd66ca2 100644
|
|||
|
||||
return 0;
|
||||
|
||||
@@ -577,13 +682,6 @@ static int __init lirc_rpi_init_module(void)
|
||||
@@ -577,13 +682,6 @@ static int __init lirc_rpi_init_module(v
|
||||
if (result)
|
||||
return result;
|
||||
|
||||
|
@ -294,6 +294,3 @@ index c688364..cd66ca2 100644
|
|||
result = init_port();
|
||||
if (result < 0)
|
||||
goto exit_rpi;
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch
Executable file → Normal file
|
@ -17,8 +17,6 @@ Issue: linux #757
|
|||
arch/arm/boot/dts/bcm2708.dtsi | 11 ++++++++++-
|
||||
3 files changed, 38 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
index d9886c3..95f03ba 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
|
||||
@@ -7,11 +7,14 @@
|
||||
|
@ -60,8 +58,6 @@ index d9886c3..95f03ba 100644
|
|||
+ act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
};
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
index 167b22b..0631f45 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
|
||||
@@ -7,11 +7,14 @@
|
||||
|
@ -103,8 +99,6 @@ index 167b22b..0631f45 100644
|
|||
+ act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
};
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
index 6b36128..1b56cb5 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -11,7 +11,7 @@
|
||||
|
@ -132,6 +126,3 @@ index 6b36128..1b56cb5 100644
|
|||
};
|
||||
|
||||
clocks {
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch
Executable file → Normal file
|
@ -22,9 +22,6 @@ w1-gpio-pullup-overlay:
|
|||
create mode 100644 arch/arm/boot/dts/w1-gpio-overlay.dts
|
||||
create mode 100644 arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/w1-gpio-overlay.dts b/arch/arm/boot/dts/w1-gpio-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..b2c5ee2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/w1-gpio-overlay.dts
|
||||
@@ -0,0 +1,37 @@
|
||||
|
@ -65,9 +62,6 @@ index 0000000..b2c5ee2
|
|||
+ <&w1_pins>,"brcm,pins:0";
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..b3e97c2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
|
@ -110,6 +104,3 @@ index 0000000..b3e97c2
|
|||
+ <&w1_pins>,"brcm,pins:4";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 071/114] config: Enable CONFIG_PPS
|
|||
arch/arm/configs/bcmrpi_defconfig | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 2cd8227..36aca2b 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -544,6 +544,9 @@ CONFIG_I2C_BCM2708=m
|
||||
|
@ -21,6 +19,3 @@ index 2cd8227..36aca2b 100644
|
|||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_ARIZONA=m
|
||||
CONFIG_W1=m
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 072/114] config: Add CONFIG_IP_NF options
|
|||
arch/arm/configs/bcmrpi_defconfig | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 36aca2b..665b01e 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -208,13 +208,16 @@ CONFIG_IP_VS_NQ=m
|
||||
|
@ -47,6 +45,3 @@ index 36aca2b..665b01e 100644
|
|||
CONFIG_BRIDGE_NF_EBTABLES=m
|
||||
CONFIG_BRIDGE_EBT_BROUTE=m
|
||||
CONFIG_BRIDGE_EBT_T_FILTER=m
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 073/114] config: Restore some missing options
|
|||
arch/arm/configs/bcmrpi_defconfig | 18 ++++++++++++++++--
|
||||
1 file changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 665b01e..41b90b4 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -484,6 +484,8 @@ CONFIG_AR5523=m
|
||||
|
@ -85,6 +83,3 @@ index 665b01e..41b90b4 100644
|
|||
CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_SHA512=m
|
||||
CONFIG_CRYPTO_TGR192=m
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch
Executable file → Normal file
|
@ -11,11 +11,9 @@ reported correctly by a non-zero return code.
|
|||
sound/soc/codecs/tas5713.c | 13 ++++++++++---
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/tas5713.c b/sound/soc/codecs/tas5713.c
|
||||
index a24c1da..9b27138 100644
|
||||
--- a/sound/soc/codecs/tas5713.c
|
||||
+++ b/sound/soc/codecs/tas5713.c
|
||||
@@ -182,33 +182,40 @@ static int tas5713_probe(struct snd_soc_codec *codec)
|
||||
@@ -182,33 +182,40 @@ static int tas5713_probe(struct snd_soc_
|
||||
|
||||
// Reset error
|
||||
ret = snd_soc_write(codec, TAS5713_ERROR_STATUS, 0x00);
|
||||
|
@ -58,7 +56,7 @@ index a24c1da..9b27138 100644
|
|||
if (ret < 0) {
|
||||
printk(KERN_INFO "TAS5713 CODEC PROBE: InitSeq returns: %d\n", ret);
|
||||
}
|
||||
@@ -216,7 +223,7 @@ static int tas5713_probe(struct snd_soc_codec *codec)
|
||||
@@ -216,7 +223,7 @@ static int tas5713_probe(struct snd_soc_
|
||||
|
||||
// Unmute
|
||||
ret = snd_soc_write(codec, TAS5713_SYSTEM_CTRL2, 0x00);
|
||||
|
@ -67,6 +65,3 @@ index a24c1da..9b27138 100644
|
|||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
229
target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch
Executable file → Normal file
229
target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch
Executable file → Normal file
|
@ -25,8 +25,6 @@ Subject: [PATCH 075/114] scripts/dtc: Update to upstream version with overlay
|
|||
scripts/dtc/version_gen.h | 2 +-
|
||||
18 files changed, 1697 insertions(+), 1479 deletions(-)
|
||||
|
||||
diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c
|
||||
index ee96a25..27f45f1 100644
|
||||
--- a/scripts/dtc/checks.c
|
||||
+++ b/scripts/dtc/checks.c
|
||||
@@ -53,7 +53,7 @@ struct check {
|
||||
|
@ -38,7 +36,7 @@ index ee96a25..27f45f1 100644
|
|||
int num_prereqs;
|
||||
struct check **prereq;
|
||||
};
|
||||
@@ -113,6 +113,7 @@ static inline void check_msg(struct check *c, const char *fmt, ...)
|
||||
@@ -113,6 +113,7 @@ static inline void check_msg(struct chec
|
||||
vfprintf(stderr, fmt, ap);
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
|
@ -46,7 +44,7 @@ index ee96a25..27f45f1 100644
|
|||
}
|
||||
|
||||
#define FAIL(c, ...) \
|
||||
@@ -141,9 +142,9 @@ static void check_nodes_props(struct check *c, struct node *dt, struct node *nod
|
||||
@@ -141,9 +142,9 @@ static void check_nodes_props(struct che
|
||||
check_nodes_props(c, dt, child);
|
||||
}
|
||||
|
||||
|
@ -58,7 +56,7 @@ index ee96a25..27f45f1 100644
|
|||
int i;
|
||||
|
||||
assert(!c->inprogress);
|
||||
@@ -151,11 +152,11 @@ static int run_check(struct check *c, struct node *dt)
|
||||
@@ -151,11 +152,11 @@ static int run_check(struct check *c, st
|
||||
if (c->status != UNCHECKED)
|
||||
goto out;
|
||||
|
||||
|
@ -72,7 +70,7 @@ index ee96a25..27f45f1 100644
|
|||
if (prq->status != PASSED) {
|
||||
c->status = PREREQ;
|
||||
check_msg(c, "Failed prerequisite '%s'",
|
||||
@@ -177,9 +178,9 @@ static int run_check(struct check *c, struct node *dt)
|
||||
@@ -177,9 +178,9 @@ static int run_check(struct check *c, st
|
||||
TRACE(c, "\tCompleted, status %d", c->status);
|
||||
|
||||
out:
|
||||
|
@ -84,7 +82,7 @@ index ee96a25..27f45f1 100644
|
|||
return error;
|
||||
}
|
||||
|
||||
@@ -457,22 +458,93 @@ static void fixup_phandle_references(struct check *c, struct node *dt,
|
||||
@@ -457,22 +458,93 @@ static void fixup_phandle_references(str
|
||||
struct node *node, struct property *prop)
|
||||
{
|
||||
struct marker *m = prop->val.markers;
|
||||
|
@ -182,7 +180,7 @@ index ee96a25..27f45f1 100644
|
|||
}
|
||||
ERROR(phandle_references, NULL, NULL, fixup_phandle_references, NULL,
|
||||
&duplicate_node_names, &explicit_phandles);
|
||||
@@ -624,11 +696,11 @@ static void check_avoid_default_addr_size(struct check *c, struct node *dt,
|
||||
@@ -624,11 +696,11 @@ static void check_avoid_default_addr_siz
|
||||
if (!reg && !ranges)
|
||||
return;
|
||||
|
||||
|
@ -196,7 +194,7 @@ index ee96a25..27f45f1 100644
|
|||
FAIL(c, "Relying on default #size-cells value for %s",
|
||||
node->fullpath);
|
||||
}
|
||||
@@ -651,6 +723,45 @@ static void check_obsolete_chosen_interrupt_controller(struct check *c,
|
||||
@@ -651,6 +723,45 @@ static void check_obsolete_chosen_interr
|
||||
}
|
||||
TREE_WARNING(obsolete_chosen_interrupt_controller, NULL);
|
||||
|
||||
|
@ -251,7 +249,7 @@ index ee96a25..27f45f1 100644
|
|||
&always_fail,
|
||||
};
|
||||
|
||||
@@ -706,15 +819,15 @@ static void disable_warning_error(struct check *c, bool warn, bool error)
|
||||
@@ -706,15 +819,15 @@ static void disable_warning_error(struct
|
||||
c->error = c->error && !error;
|
||||
}
|
||||
|
||||
|
@ -272,7 +270,7 @@ index ee96a25..27f45f1 100644
|
|||
enable = false;
|
||||
}
|
||||
|
||||
@@ -733,7 +846,7 @@ void parse_checks_option(bool warn, bool error, const char *optarg)
|
||||
@@ -733,7 +846,7 @@ void parse_checks_option(bool warn, bool
|
||||
die("Unrecognized check name \"%s\"\n", name);
|
||||
}
|
||||
|
||||
|
@ -281,11 +279,9 @@ index ee96a25..27f45f1 100644
|
|||
{
|
||||
struct node *dt = bi->dt;
|
||||
int i;
|
||||
diff --git a/scripts/dtc/data.c b/scripts/dtc/data.c
|
||||
index 4a40c5b..8cae237 100644
|
||||
--- a/scripts/dtc/data.c
|
||||
+++ b/scripts/dtc/data.c
|
||||
@@ -74,7 +74,7 @@ struct data data_copy_escape_string(const char *s, int len)
|
||||
@@ -74,7 +74,7 @@ struct data data_copy_escape_string(cons
|
||||
struct data d;
|
||||
char *q;
|
||||
|
||||
|
@ -294,7 +290,7 @@ index 4a40c5b..8cae237 100644
|
|||
|
||||
q = d.val;
|
||||
while (i < len) {
|
||||
@@ -250,20 +250,20 @@ struct data data_add_marker(struct data d, enum markertype type, char *ref)
|
||||
@@ -250,20 +250,20 @@ struct data data_add_marker(struct data
|
||||
return data_append_markers(d, m);
|
||||
}
|
||||
|
||||
|
@ -320,8 +316,6 @@ index 4a40c5b..8cae237 100644
|
|||
- return 1;
|
||||
+ return true;
|
||||
}
|
||||
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
|
||||
index 3b41bfc..dd44ba2 100644
|
||||
--- a/scripts/dtc/dtc-lexer.l
|
||||
+++ b/scripts/dtc/dtc-lexer.l
|
||||
@@ -20,7 +20,6 @@
|
||||
|
@ -433,7 +427,7 @@ index 3b41bfc..dd44ba2 100644
|
|||
yytext[yyleng-1] = '\0';
|
||||
DPRINT("Ref: %s\n", yytext+2);
|
||||
yylval.labelref = xstrdup(yytext+2);
|
||||
@@ -238,13 +271,24 @@ static void push_input_file(const char *filename)
|
||||
@@ -238,13 +271,24 @@ static void push_input_file(const char *
|
||||
}
|
||||
|
||||
|
||||
|
@ -461,11 +455,9 @@ index 3b41bfc..dd44ba2 100644
|
|||
+
|
||||
+ treesource_error = true;
|
||||
}
|
||||
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
index 2d30f41..1518525 100644
|
||||
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
@@ -372,8 +372,8 @@ static void yy_fatal_error (yyconst char msg[] );
|
||||
@@ -372,8 +372,8 @@ static void yy_fatal_error (yyconst char
|
||||
*yy_cp = '\0'; \
|
||||
(yy_c_buf_p) = yy_cp;
|
||||
|
||||
|
@ -900,7 +892,7 @@ index 2d30f41..1518525 100644
|
|||
yy_cp = (yy_last_accepting_cpos);
|
||||
yy_current_state = (yy_last_accepting_state);
|
||||
|
||||
@@ -937,7 +940,7 @@ do_action: /* This label is used only to access EOF actions. */
|
||||
@@ -937,7 +940,7 @@ do_action: /* This label is used only to
|
||||
case 1:
|
||||
/* rule 1 can match eol */
|
||||
YY_RULE_SETUP
|
||||
|
@ -1290,7 +1282,7 @@ index 2d30f41..1518525 100644
|
|||
|
||||
|
||||
|
||||
@@ -2182,14 +2219,25 @@ static void push_input_file(const char *filename)
|
||||
@@ -2182,14 +2219,25 @@ static void push_input_file(const char *
|
||||
}
|
||||
|
||||
|
||||
|
@ -1319,8 +1311,6 @@ index 2d30f41..1518525 100644
|
|||
+ treesource_error = true;
|
||||
}
|
||||
|
||||
diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
index c8769d5..1938d20 100644
|
||||
--- a/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
+++ b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
@@ -1,19 +1,19 @@
|
||||
|
@ -1414,7 +1404,7 @@ index c8769d5..1938d20 100644
|
|||
# endif
|
||||
# endif
|
||||
|
||||
@@ -105,7 +103,7 @@ static unsigned char eval_char_literal(const char *s);
|
||||
@@ -105,7 +103,7 @@ static unsigned char eval_char_literal(c
|
||||
by #include "dtc-parser.tab.h". */
|
||||
#ifndef YY_YY_DTC_PARSER_TAB_H_INCLUDED
|
||||
# define YY_YY_DTC_PARSER_TAB_H_INCLUDED
|
||||
|
@ -1423,7 +1413,7 @@ index c8769d5..1938d20 100644
|
|||
#ifndef YYDEBUG
|
||||
# define YYDEBUG 0
|
||||
#endif
|
||||
@@ -113,48 +111,45 @@ static unsigned char eval_char_literal(const char *s);
|
||||
@@ -113,48 +111,45 @@ static unsigned char eval_char_literal(c
|
||||
extern int yydebug;
|
||||
#endif
|
||||
|
||||
|
@ -1620,7 +1610,7 @@ index c8769d5..1938d20 100644
|
|||
# endif
|
||||
#endif
|
||||
|
||||
@@ -276,25 +286,26 @@ typedef short int yytype_int16;
|
||||
@@ -276,24 +286,25 @@ typedef short int yytype_int16;
|
||||
# define YYUSE(E) /* empty */
|
||||
#endif
|
||||
|
||||
|
@ -1653,15 +1643,14 @@ index c8769d5..1938d20 100644
|
|||
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
||||
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
|
||||
+#endif
|
||||
#endif
|
||||
+#ifndef YY_INITIAL_VALUE
|
||||
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
|
||||
#endif
|
||||
|
||||
+#endif
|
||||
+
|
||||
|
||||
#if ! defined yyoverflow || YYERROR_VERBOSE
|
||||
|
||||
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
||||
@@ -312,8 +323,7 @@ YYID (yyi)
|
||||
# define alloca _alloca
|
||||
# else
|
||||
|
@ -1710,7 +1699,7 @@ index c8769d5..1938d20 100644
|
|||
void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# endif
|
||||
@@ -368,13 +376,15 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
@@ -368,13 +376,15 @@ void free (void *); /* INFRINGES ON USER
|
||||
|
||||
#if (! defined yyoverflow \
|
||||
&& (! defined __cplusplus \
|
||||
|
@ -1810,7 +1799,7 @@ index c8769d5..1938d20 100644
|
|||
static const yytype_uint8 yytranslate[] =
|
||||
{
|
||||
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
@@ -481,63 +493,18 @@ static const yytype_uint8 yytranslate[] =
|
||||
@@ -481,63 +493,18 @@ static const yytype_uint8 yytranslate[]
|
||||
};
|
||||
|
||||
#if YYDEBUG
|
||||
|
@ -2245,7 +2234,7 @@ index c8769d5..1938d20 100644
|
|||
|
||||
#define YYRECOVERING() (!!yyerrstatus)
|
||||
|
||||
@@ -768,27 +725,41 @@ do \
|
||||
@@ -768,27 +725,41 @@ do
|
||||
else \
|
||||
{ \
|
||||
yyerror (YY_("syntax error: cannot back up")); \
|
||||
|
@ -2259,15 +2248,13 @@ index c8769d5..1938d20 100644
|
|||
/* Error token number */
|
||||
-#define YYTERROR 1
|
||||
-#define YYERRCODE 256
|
||||
-
|
||||
-
|
||||
+#define YYTERROR 1
|
||||
+#define YYERRCODE 256
|
||||
|
||||
|
||||
-/* This macro is provided for backward compatibility. */
|
||||
-#ifndef YY_LOCATION_PRINT
|
||||
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
||||
+#define YYTERROR 1
|
||||
+#define YYERRCODE 256
|
||||
+
|
||||
+
|
||||
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
|
||||
+ If N is 0, then set CURRENT to the empty location which ends
|
||||
+ the previous symbol: RHS[0] (always defined). */
|
||||
|
@ -2312,12 +2299,7 @@ index c8769d5..1938d20 100644
|
|||
- if (yydebug) \
|
||||
- YYFPRINTF Args; \
|
||||
-} while (YYID (0))
|
||||
+# define YYDPRINTF(Args) \
|
||||
+do { \
|
||||
+ if (yydebug) \
|
||||
+ YYFPRINTF Args; \
|
||||
+} while (0)
|
||||
|
||||
-
|
||||
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
|
||||
-do { \
|
||||
- if (yydebug) \
|
||||
|
@ -2328,16 +2310,19 @@ index c8769d5..1938d20 100644
|
|||
- YYFPRINTF (stderr, "\n"); \
|
||||
- } \
|
||||
-} while (YYID (0))
|
||||
+# define YYDPRINTF(Args) \
|
||||
+do { \
|
||||
+ if (yydebug) \
|
||||
+ YYFPRINTF Args; \
|
||||
+} while (0)
|
||||
|
||||
+/* YY_LOCATION_PRINT -- Print the location on the stream.
|
||||
+ This macro was not mandated originally: define only if we know
|
||||
+ we won't break user code: when these are the locations we know. */
|
||||
|
||||
-/*--------------------------------.
|
||||
-| Print this symbol on YYOUTPUT. |
|
||||
-`--------------------------------*/
|
||||
+#ifndef YY_LOCATION_PRINT
|
||||
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
|
||||
+/* YY_LOCATION_PRINT -- Print the location on the stream.
|
||||
+ This macro was not mandated originally: define only if we know
|
||||
+ we won't break user code: when these are the locations we know. */
|
||||
|
||||
-/*ARGSUSED*/
|
||||
-#if (defined __STDC__ || defined __C99__FUNC__ \
|
||||
|
@ -2350,6 +2335,9 @@ index c8769d5..1938d20 100644
|
|||
- FILE *yyoutput;
|
||||
- int yytype;
|
||||
- YYSTYPE const * const yyvaluep;
|
||||
+#ifndef YY_LOCATION_PRINT
|
||||
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
|
||||
+
|
||||
+/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
|
||||
+
|
||||
+YY_ATTRIBUTE_UNUSED
|
||||
|
@ -2419,7 +2407,7 @@ index c8769d5..1938d20 100644
|
|||
# endif
|
||||
YYUSE (yytype);
|
||||
}
|
||||
@@ -851,24 +856,15 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
|
||||
@@ -851,24 +856,15 @@ yy_symbol_value_print (yyoutput, yytype,
|
||||
| Print this symbol on YYOUTPUT. |
|
||||
`--------------------------------*/
|
||||
|
||||
|
@ -2450,7 +2438,7 @@ index c8769d5..1938d20 100644
|
|||
YYFPRINTF (yyoutput, ")");
|
||||
}
|
||||
|
||||
@@ -877,16 +873,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
|
||||
@@ -877,16 +873,8 @@ yy_symbol_print (yyoutput, yytype, yyval
|
||||
| TOP (included). |
|
||||
`------------------------------------------------------------------*/
|
||||
|
||||
|
@ -2489,10 +2477,10 @@ index c8769d5..1938d20 100644
|
|||
|
||||
-#if (defined __STDC__ || defined __C99__FUNC__ \
|
||||
- || defined __cplusplus || defined _MSC_VER)
|
||||
static void
|
||||
-static void
|
||||
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
|
||||
-#else
|
||||
-static void
|
||||
static void
|
||||
-yy_reduce_print (yyvsp, yyrule)
|
||||
- YYSTYPE *yyvsp;
|
||||
- int yyrule;
|
||||
|
@ -2576,7 +2564,7 @@ index c8769d5..1938d20 100644
|
|||
{
|
||||
char *yyd = yydest;
|
||||
const char *yys = yysrc;
|
||||
@@ -1039,27 +1005,27 @@ yytnamerr (char *yyres, const char *yystr)
|
||||
@@ -1039,27 +1005,27 @@ yytnamerr (char *yyres, const char *yyst
|
||||
char const *yyp = yystr;
|
||||
|
||||
for (;;)
|
||||
|
@ -2639,7 +2627,7 @@ index c8769d5..1938d20 100644
|
|||
/* Arguments of yyformat. */
|
||||
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
||||
/* Number of reported tokens (one for the "unexpected", one per
|
||||
@@ -1094,10 +1060,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
@@ -1094,10 +1060,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
|
||||
int yycount = 0;
|
||||
|
||||
/* There are many possibilities here to consider:
|
||||
|
@ -2650,7 +2638,7 @@ index c8769d5..1938d20 100644
|
|||
- If this state is a consistent state with a default action, then
|
||||
the only way this function was invoked is if the default action
|
||||
is an error action. In that case, don't check for expected
|
||||
@@ -1147,7 +1109,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
@@ -1147,7 +1109,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
|
||||
}
|
||||
yyarg[yycount++] = yytname[yyx];
|
||||
{
|
||||
|
@ -2659,17 +2647,17 @@ index c8769d5..1938d20 100644
|
|||
if (! (yysize <= yysize1
|
||||
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
|
||||
return 2;
|
||||
@@ -1214,26 +1176,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||
@@ -1214,26 +1176,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
|
||||
| Release the memory associated to this symbol. |
|
||||
`-----------------------------------------------*/
|
||||
|
||||
-/*ARGSUSED*/
|
||||
-#if (defined __STDC__ || defined __C99__FUNC__ \
|
||||
- || defined __cplusplus || defined _MSC_VER)
|
||||
static void
|
||||
-static void
|
||||
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
|
||||
-#else
|
||||
-static void
|
||||
static void
|
||||
-yydestruct (yymsg, yytype, yyvaluep)
|
||||
- const char *yymsg;
|
||||
- int yytype;
|
||||
|
@ -3310,7 +3298,8 @@ index c8769d5..1938d20 100644
|
|||
{
|
||||
- (yyval.array).data = empty_data;
|
||||
- (yyval.array).bits = eval_literal((yyvsp[(2) - (3)].literal), 0, 7);
|
||||
-
|
||||
+ unsigned long long bits;
|
||||
|
||||
- if (((yyval.array).bits != 8) &&
|
||||
- ((yyval.array).bits != 16) &&
|
||||
- ((yyval.array).bits != 32) &&
|
||||
|
@ -3319,8 +3308,6 @@ index c8769d5..1938d20 100644
|
|||
- print_error("Only 8, 16, 32 and 64-bit elements"
|
||||
- " are currently supported");
|
||||
- (yyval.array).bits = 32;
|
||||
+ unsigned long long bits;
|
||||
+
|
||||
+ bits = (yyvsp[-1].integer);
|
||||
+
|
||||
+ if ((bits != 8) && (bits != 16) &&
|
||||
|
@ -3754,9 +3741,7 @@ index c8769d5..1938d20 100644
|
|||
+ }
|
||||
+#line 2010 "dtc-parser.tab.c" /* yacc.c:1646 */
|
||||
+ break;
|
||||
|
||||
-/* Line 1787 of yacc.c */
|
||||
-#line 2073 "dtc-parser.tab.c"
|
||||
+
|
||||
+ case 81:
|
||||
+#line 471 "dtc-parser.y" /* yacc.c:1646 */
|
||||
+ {
|
||||
|
@ -3765,7 +3750,9 @@ index c8769d5..1938d20 100644
|
|||
+ }
|
||||
+#line 2019 "dtc-parser.tab.c" /* yacc.c:1646 */
|
||||
+ break;
|
||||
+
|
||||
|
||||
-/* Line 1787 of yacc.c */
|
||||
-#line 2073 "dtc-parser.tab.c"
|
||||
+
|
||||
+#line 2023 "dtc-parser.tab.c" /* yacc.c:1646 */
|
||||
default: break;
|
||||
|
@ -3934,7 +3921,8 @@ index c8769d5..1938d20 100644
|
|||
-
|
||||
-
|
||||
-void print_error(char const *fmt, ...)
|
||||
-{
|
||||
+void yyerror(char const *s)
|
||||
{
|
||||
- va_list va;
|
||||
-
|
||||
- va_start(va, fmt);
|
||||
|
@ -3969,8 +3957,7 @@ index c8769d5..1938d20 100644
|
|||
-}
|
||||
-
|
||||
-static unsigned char eval_char_literal(const char *s)
|
||||
+void yyerror(char const *s)
|
||||
{
|
||||
-{
|
||||
- int i = 1;
|
||||
- char c = s[0];
|
||||
-
|
||||
|
@ -3995,8 +3982,6 @@ index c8769d5..1938d20 100644
|
|||
- return c;
|
||||
+ ERROR(&yylloc, "%s", s);
|
||||
}
|
||||
diff --git a/scripts/dtc/dtc-parser.tab.h_shipped b/scripts/dtc/dtc-parser.tab.h_shipped
|
||||
index b2e7a86..b497956 100644
|
||||
--- a/scripts/dtc/dtc-parser.tab.h_shipped
|
||||
+++ b/scripts/dtc/dtc-parser.tab.h_shipped
|
||||
@@ -1,19 +1,19 @@
|
||||
|
@ -4170,8 +4155,6 @@ index b2e7a86..b497956 100644
|
|||
-#endif /* ! YYPARSE_PARAM */
|
||||
|
||||
#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
|
||||
diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y
|
||||
index f412460..687ccad 100644
|
||||
--- a/scripts/dtc/dtc-parser.y
|
||||
+++ b/scripts/dtc/dtc-parser.y
|
||||
@@ -17,31 +17,28 @@
|
||||
|
@ -4213,7 +4196,7 @@ index f412460..687ccad 100644
|
|||
uint8_t byte;
|
||||
struct data data;
|
||||
|
||||
@@ -56,18 +53,19 @@ static unsigned char eval_char_literal(const char *s);
|
||||
@@ -56,18 +53,19 @@ static unsigned char eval_char_literal(c
|
||||
struct node *nodelist;
|
||||
struct reserve_info *re;
|
||||
uint64_t integer;
|
||||
|
@ -4236,7 +4219,7 @@ index f412460..687ccad 100644
|
|||
%token <byte> DT_BYTE
|
||||
%token <data> DT_STRING
|
||||
%token <labelref> DT_LABEL
|
||||
@@ -76,6 +74,7 @@ static unsigned char eval_char_literal(const char *s);
|
||||
@@ -76,6 +74,7 @@ static unsigned char eval_char_literal(c
|
||||
|
||||
%type <data> propdata
|
||||
%type <data> propdataprefix
|
||||
|
@ -4244,7 +4227,7 @@ index f412460..687ccad 100644
|
|||
%type <re> memreserve
|
||||
%type <re> memreserves
|
||||
%type <array> arrayprefix
|
||||
@@ -106,10 +105,23 @@ static unsigned char eval_char_literal(const char *s);
|
||||
@@ -106,10 +105,23 @@ static unsigned char eval_char_literal(c
|
||||
%%
|
||||
|
||||
sourcefile:
|
||||
|
@ -4314,7 +4297,8 @@ index f412460..687ccad 100644
|
|||
{
|
||||
- $$.data = empty_data;
|
||||
- $$.bits = eval_literal($2, 0, 7);
|
||||
-
|
||||
+ unsigned long long bits;
|
||||
|
||||
- if (($$.bits != 8) &&
|
||||
- ($$.bits != 16) &&
|
||||
- ($$.bits != 32) &&
|
||||
|
@ -4323,8 +4307,6 @@ index f412460..687ccad 100644
|
|||
- print_error("Only 8, 16, 32 and 64-bit elements"
|
||||
- " are currently supported");
|
||||
- $$.bits = 32;
|
||||
+ unsigned long long bits;
|
||||
+
|
||||
+ bits = $2;
|
||||
+
|
||||
+ if ((bits != 8) && (bits != 16) &&
|
||||
|
@ -4388,7 +4370,8 @@ index f412460..687ccad 100644
|
|||
%%
|
||||
|
||||
-void print_error(char const *fmt, ...)
|
||||
-{
|
||||
+void yyerror(char const *s)
|
||||
{
|
||||
- va_list va;
|
||||
-
|
||||
- va_start(va, fmt);
|
||||
|
@ -4423,8 +4406,7 @@ index f412460..687ccad 100644
|
|||
-}
|
||||
-
|
||||
-static unsigned char eval_char_literal(const char *s)
|
||||
+void yyerror(char const *s)
|
||||
{
|
||||
-{
|
||||
- int i = 1;
|
||||
- char c = s[0];
|
||||
-
|
||||
|
@ -4449,11 +4431,9 @@ index f412460..687ccad 100644
|
|||
- return c;
|
||||
+ ERROR(&yylloc, "%s", s);
|
||||
}
|
||||
diff --git a/scripts/dtc/dtc.c b/scripts/dtc/dtc.c
|
||||
index e3c9653..0cbb14c 100644
|
||||
--- a/scripts/dtc/dtc.c
|
||||
+++ b/scripts/dtc/dtc.c
|
||||
@@ -29,6 +29,7 @@ int reservenum; /* Number of memory reservation slots */
|
||||
@@ -29,6 +29,7 @@ int reservenum; /* Number of memory res
|
||||
int minsize; /* Minimum blob size */
|
||||
int padsize; /* Additional padding to blob */
|
||||
int phandle_format = PHANDLE_BOTH; /* Use linux,phandle or phandle properties */
|
||||
|
@ -4461,7 +4441,7 @@ index e3c9653..0cbb14c 100644
|
|||
|
||||
static void fill_fullpaths(struct node *tree, const char *prefix)
|
||||
{
|
||||
@@ -48,8 +49,10 @@ static void fill_fullpaths(struct node *tree, const char *prefix)
|
||||
@@ -48,8 +49,10 @@ static void fill_fullpaths(struct node *
|
||||
}
|
||||
|
||||
/* Usage related data. */
|
||||
|
@ -4473,7 +4453,7 @@ index e3c9653..0cbb14c 100644
|
|||
static struct option const usage_long_opts[] = {
|
||||
{"quiet", no_argument, NULL, 'q'},
|
||||
{"in-format", a_argument, NULL, 'I'},
|
||||
@@ -67,6 +70,7 @@ static struct option const usage_long_opts[] = {
|
||||
@@ -67,6 +70,7 @@ static struct option const usage_long_op
|
||||
{"phandle", a_argument, NULL, 'H'},
|
||||
{"warning", a_argument, NULL, 'W'},
|
||||
{"error", a_argument, NULL, 'E'},
|
||||
|
@ -4481,7 +4461,7 @@ index e3c9653..0cbb14c 100644
|
|||
{"help", no_argument, NULL, 'h'},
|
||||
{"version", no_argument, NULL, 'v'},
|
||||
{NULL, no_argument, NULL, 0x0},
|
||||
@@ -82,9 +86,9 @@ static const char * const usage_opts_help[] = {
|
||||
@@ -82,9 +86,9 @@ static const char * const usage_opts_hel
|
||||
"\t\tdts - device tree source text\n"
|
||||
"\t\tdtb - device tree blob\n"
|
||||
"\t\tasm - assembler source",
|
||||
|
@ -4493,7 +4473,7 @@ index e3c9653..0cbb14c 100644
|
|||
"\n\tMake the blob at least <bytes> long (extra space)",
|
||||
"\n\tAdd padding to the blob of <bytes> long (extra space)",
|
||||
"\n\tSet the physical boot cpu",
|
||||
@@ -97,6 +101,7 @@ static const char * const usage_opts_help[] = {
|
||||
@@ -97,6 +101,7 @@ static const char * const usage_opts_hel
|
||||
"\t\tboth - Both \"linux,phandle\" and \"phandle\" properties",
|
||||
"\n\tEnable/disable warnings (prefix with \"no-\")",
|
||||
"\n\tEnable/disable errors (prefix with \"no-\")",
|
||||
|
@ -4548,8 +4528,6 @@ index e3c9653..0cbb14c 100644
|
|||
if (! outf)
|
||||
die("Couldn't open output file %s: %s\n",
|
||||
outname, strerror(errno));
|
||||
diff --git a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h
|
||||
index 264a20c..fe45748 100644
|
||||
--- a/scripts/dtc/dtc.h
|
||||
+++ b/scripts/dtc/dtc.h
|
||||
@@ -38,9 +38,9 @@
|
||||
|
@ -4564,7 +4542,7 @@ index 264a20c..fe45748 100644
|
|||
#endif
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ extern int reservenum; /* Number of memory reservation slots */
|
||||
@@ -54,6 +54,7 @@ extern int reservenum; /* Number of mem
|
||||
extern int minsize; /* Minimum blob size */
|
||||
extern int padsize; /* Additional padding to blob */
|
||||
extern int phandle_format; /* Use linux,phandle or phandle properties */
|
||||
|
@ -4581,7 +4559,7 @@ index 264a20c..fe45748 100644
|
|||
|
||||
#define for_each_marker(m) \
|
||||
for (; (m); (m) = (m)->next)
|
||||
@@ -118,7 +119,7 @@ struct data data_append_align(struct data d, int align);
|
||||
@@ -118,7 +119,7 @@ struct data data_append_align(struct dat
|
||||
|
||||
struct data data_add_marker(struct data d, enum markertype type, char *ref);
|
||||
|
||||
|
@ -4677,11 +4655,9 @@ index 264a20c..fe45748 100644
|
|||
|
||||
/* Flattened trees */
|
||||
|
||||
diff --git a/scripts/dtc/flattree.c b/scripts/dtc/flattree.c
|
||||
index 665dad7..f439b40 100644
|
||||
--- a/scripts/dtc/flattree.c
|
||||
+++ b/scripts/dtc/flattree.c
|
||||
@@ -261,7 +261,13 @@ static void flatten_tree(struct node *tree, struct emitter *emit,
|
||||
@@ -261,7 +261,13 @@ static void flatten_tree(struct node *tr
|
||||
{
|
||||
struct property *prop;
|
||||
struct node *child;
|
||||
|
@ -4696,7 +4672,7 @@ index 665dad7..f439b40 100644
|
|||
|
||||
if (tree->deleted)
|
||||
return;
|
||||
@@ -276,10 +282,8 @@ static void flatten_tree(struct node *tree, struct emitter *emit,
|
||||
@@ -276,10 +282,8 @@ static void flatten_tree(struct node *tr
|
||||
emit->align(etarget, sizeof(cell_t));
|
||||
|
||||
for_each_property(tree, prop) {
|
||||
|
@ -4708,7 +4684,7 @@ index 665dad7..f439b40 100644
|
|||
|
||||
nameoff = stringtable_insert(strbuf, prop->name);
|
||||
|
||||
@@ -310,6 +314,139 @@ static void flatten_tree(struct node *tree, struct emitter *emit,
|
||||
@@ -310,6 +314,139 @@ static void flatten_tree(struct node *tr
|
||||
flatten_tree(child, emit, etarget, strbuf, vi);
|
||||
}
|
||||
|
||||
|
@ -4848,11 +4824,9 @@ index 665dad7..f439b40 100644
|
|||
emit->endnode(etarget, tree->labels);
|
||||
}
|
||||
|
||||
diff --git a/scripts/dtc/fstree.c b/scripts/dtc/fstree.c
|
||||
index e464727..6e5878a 100644
|
||||
--- a/scripts/dtc/fstree.c
|
||||
+++ b/scripts/dtc/fstree.c
|
||||
@@ -37,26 +37,26 @@ static struct node *read_fstree(const char *dirname)
|
||||
@@ -37,26 +37,26 @@ static struct node *read_fstree(const ch
|
||||
tree = build_node(NULL, NULL);
|
||||
|
||||
while ((de = readdir(d)) != NULL) {
|
||||
|
@ -4885,7 +4859,7 @@ index e464727..6e5878a 100644
|
|||
} else {
|
||||
prop = build_property(xstrdup(de->d_name),
|
||||
data_copy_file(pfile,
|
||||
@@ -67,12 +67,12 @@ static struct node *read_fstree(const char *dirname)
|
||||
@@ -67,12 +67,12 @@ static struct node *read_fstree(const ch
|
||||
} else if (S_ISDIR(st.st_mode)) {
|
||||
struct node *newchild;
|
||||
|
||||
|
@ -4900,11 +4874,9 @@ index e464727..6e5878a 100644
|
|||
}
|
||||
|
||||
closedir(d);
|
||||
diff --git a/scripts/dtc/livetree.c b/scripts/dtc/livetree.c
|
||||
index b61465f..e229b84 100644
|
||||
--- a/scripts/dtc/livetree.c
|
||||
+++ b/scripts/dtc/livetree.c
|
||||
@@ -511,7 +511,9 @@ struct node *get_node_by_phandle(struct node *tree, cell_t phandle)
|
||||
@@ -511,7 +511,9 @@ struct node *get_node_by_phandle(struct
|
||||
|
||||
struct node *get_node_by_ref(struct node *tree, const char *ref)
|
||||
{
|
||||
|
@ -4915,8 +4887,6 @@ index b61465f..e229b84 100644
|
|||
return get_node_by_path(tree, ref);
|
||||
else
|
||||
return get_node_by_label(tree, ref);
|
||||
diff --git a/scripts/dtc/srcpos.c b/scripts/dtc/srcpos.c
|
||||
index c20bc53..f534c22 100644
|
||||
--- a/scripts/dtc/srcpos.c
|
||||
+++ b/scripts/dtc/srcpos.c
|
||||
@@ -34,7 +34,7 @@ struct search_path {
|
||||
|
@ -4928,7 +4898,7 @@ index c20bc53..f534c22 100644
|
|||
{
|
||||
const char *slash = strrchr(path, '/');
|
||||
|
||||
@@ -77,7 +77,7 @@ static char *try_open(const char *dirname, const char *fname, FILE **fp)
|
||||
@@ -77,7 +77,7 @@ static char *try_open(const char *dirnam
|
||||
else
|
||||
fullname = join_path(dirname, fname);
|
||||
|
||||
|
@ -5019,8 +4989,6 @@ index c20bc53..f534c22 100644
|
|||
va_end(va);
|
||||
}
|
||||
|
||||
diff --git a/scripts/dtc/srcpos.h b/scripts/dtc/srcpos.h
|
||||
index 93a2712..f81827b 100644
|
||||
--- a/scripts/dtc/srcpos.h
|
||||
+++ b/scripts/dtc/srcpos.h
|
||||
@@ -21,6 +21,7 @@
|
||||
|
@ -5031,7 +4999,7 @@ index 93a2712..f81827b 100644
|
|||
|
||||
struct srcfile_state {
|
||||
FILE *f;
|
||||
@@ -55,7 +56,7 @@ extern struct srcfile_state *current_srcfile; /* = NULL */
|
||||
@@ -55,7 +56,7 @@ extern struct srcfile_state *current_src
|
||||
FILE *srcfile_relative_open(const char *fname, char **fullnamep);
|
||||
|
||||
void srcfile_push(const char *fname);
|
||||
|
@ -5040,7 +5008,7 @@ index 93a2712..f81827b 100644
|
|||
|
||||
/**
|
||||
* Add a new directory to the search path for input files
|
||||
@@ -106,12 +107,12 @@ extern struct srcpos *srcpos_copy(struct srcpos *pos);
|
||||
@@ -106,12 +107,12 @@ extern struct srcpos *srcpos_copy(struct
|
||||
extern char *srcpos_string(struct srcpos *pos);
|
||||
extern void srcpos_dump(struct srcpos *pos);
|
||||
|
||||
|
@ -5059,8 +5027,6 @@ index 93a2712..f81827b 100644
|
|||
|
||||
extern void srcpos_set_line(char *f, int l);
|
||||
|
||||
diff --git a/scripts/dtc/treesource.c b/scripts/dtc/treesource.c
|
||||
index 5740e69..a146f2d 100644
|
||||
--- a/scripts/dtc/treesource.c
|
||||
+++ b/scripts/dtc/treesource.c
|
||||
@@ -26,12 +26,12 @@ extern int yyparse(void);
|
||||
|
@ -5078,7 +5044,7 @@ index 5740e69..a146f2d 100644
|
|||
|
||||
srcfile_push(fname);
|
||||
yyin = current_srcfile->f;
|
||||
@@ -54,9 +54,9 @@ static void write_prefix(FILE *f, int level)
|
||||
@@ -54,9 +54,9 @@ static void write_prefix(FILE *f, int le
|
||||
fputc('\t', f);
|
||||
}
|
||||
|
||||
|
@ -5090,7 +5056,7 @@ index 5740e69..a146f2d 100644
|
|||
|| (c == '\0')
|
||||
|| strchr("\a\b\t\n\v\f\r", c));
|
||||
}
|
||||
@@ -109,7 +109,7 @@ static void write_propval_string(FILE *f, struct data val)
|
||||
@@ -109,7 +109,7 @@ static void write_propval_string(FILE *f
|
||||
break;
|
||||
case '\0':
|
||||
fprintf(f, "\", ");
|
||||
|
@ -5099,7 +5065,7 @@ index 5740e69..a146f2d 100644
|
|||
if (m->type == LABEL) {
|
||||
assert(m->offset == (i+1));
|
||||
fprintf(f, "%s: ", m->ref);
|
||||
@@ -119,7 +119,7 @@ static void write_propval_string(FILE *f, struct data val)
|
||||
@@ -119,7 +119,7 @@ static void write_propval_string(FILE *f
|
||||
fprintf(f, "\"");
|
||||
break;
|
||||
default:
|
||||
|
@ -5108,7 +5074,7 @@ index 5740e69..a146f2d 100644
|
|||
fprintf(f, "%c", c);
|
||||
else
|
||||
fprintf(f, "\\x%02hhx", c);
|
||||
@@ -178,7 +178,7 @@ static void write_propval_bytes(FILE *f, struct data val)
|
||||
@@ -178,7 +178,7 @@ static void write_propval_bytes(FILE *f,
|
||||
m = m->next;
|
||||
}
|
||||
|
||||
|
@ -5117,8 +5083,6 @@ index 5740e69..a146f2d 100644
|
|||
if ((const void *)bp >= propend)
|
||||
break;
|
||||
fprintf(f, " ");
|
||||
diff --git a/scripts/dtc/util.c b/scripts/dtc/util.c
|
||||
index 3055c16..9d65226 100644
|
||||
--- a/scripts/dtc/util.c
|
||||
+++ b/scripts/dtc/util.c
|
||||
@@ -39,11 +39,11 @@
|
||||
|
@ -5136,7 +5100,7 @@ index 3055c16..9d65226 100644
|
|||
}
|
||||
|
||||
char *join_path(const char *path, const char *name)
|
||||
@@ -70,7 +70,7 @@ char *join_path(const char *path, const char *name)
|
||||
@@ -70,7 +70,7 @@ char *join_path(const char *path, const
|
||||
return str;
|
||||
}
|
||||
|
||||
|
@ -5145,7 +5109,7 @@ index 3055c16..9d65226 100644
|
|||
{
|
||||
const char *s = data;
|
||||
const char *ss, *se;
|
||||
@@ -87,7 +87,7 @@ int util_is_printable_string(const void *data, int len)
|
||||
@@ -87,7 +87,7 @@ int util_is_printable_string(const void
|
||||
|
||||
while (s < se) {
|
||||
ss = s;
|
||||
|
@ -5154,7 +5118,7 @@ index 3055c16..9d65226 100644
|
|||
s++;
|
||||
|
||||
/* not zero, or not done yet */
|
||||
@@ -219,10 +219,6 @@ int utilfdt_read_err_len(const char *filename, char **buffp, off_t *len)
|
||||
@@ -219,10 +219,6 @@ int utilfdt_read_err_len(const char *fil
|
||||
if (offset == bufsize) {
|
||||
bufsize *= 2;
|
||||
buf = xrealloc(buf, bufsize);
|
||||
|
@ -5165,7 +5129,7 @@ index 3055c16..9d65226 100644
|
|||
}
|
||||
|
||||
ret = read(fd, &buf[offset], bufsize - offset);
|
||||
@@ -375,9 +371,9 @@ void utilfdt_print_data(const char *data, int len)
|
||||
@@ -375,9 +371,9 @@ void utilfdt_print_data(const char *data
|
||||
const uint32_t *cell = (const uint32_t *)data;
|
||||
|
||||
printf(" = <");
|
||||
|
@ -5177,8 +5141,6 @@ index 3055c16..9d65226 100644
|
|||
printf(">");
|
||||
} else {
|
||||
printf(" = [");
|
||||
diff --git a/scripts/dtc/util.h b/scripts/dtc/util.h
|
||||
index 8f40b44..f800b60 100644
|
||||
--- a/scripts/dtc/util.h
|
||||
+++ b/scripts/dtc/util.h
|
||||
@@ -2,6 +2,7 @@
|
||||
|
@ -5189,7 +5151,7 @@ index 8f40b44..f800b60 100644
|
|||
#include <getopt.h>
|
||||
|
||||
/*
|
||||
@@ -33,6 +34,7 @@ static inline void __attribute__((noreturn)) die(const char *str, ...)
|
||||
@@ -33,6 +34,7 @@ static inline void __attribute__((noretu
|
||||
va_start(ap, str);
|
||||
fprintf(stderr, "FATAL ERROR: ");
|
||||
vfprintf(stderr, str, ap);
|
||||
|
@ -5197,7 +5159,7 @@ index 8f40b44..f800b60 100644
|
|||
exit(1);
|
||||
}
|
||||
|
||||
@@ -68,7 +70,7 @@ extern char *join_path(const char *path, const char *name);
|
||||
@@ -68,7 +70,7 @@ extern char *join_path(const char *path,
|
||||
* @param len The string length including terminator
|
||||
* @return 1 if a valid printable string, 0 if not
|
||||
*/
|
||||
|
@ -5206,13 +5168,8 @@ index 8f40b44..f800b60 100644
|
|||
|
||||
/*
|
||||
* Parse an escaped character starting at index i in string s. The resulting
|
||||
diff --git a/scripts/dtc/version_gen.h b/scripts/dtc/version_gen.h
|
||||
index 54d4e90..d644002 100644
|
||||
--- a/scripts/dtc/version_gen.h
|
||||
+++ b/scripts/dtc/version_gen.h
|
||||
@@ -1 +1 @@
|
||||
-#define DTC_VERSION "DTC 1.4.0-dirty"
|
||||
+#define DTC_VERSION "DTC 1.4.1-g36c70742"
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch
Executable file → Normal file
|
@ -7,11 +7,9 @@ Subject: [PATCH 076/114] BCM2708_DT: Build the overlays as well
|
|||
arch/arm/boot/dts/Makefile | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index adaebbb..3c7f539 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -55,6 +55,14 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
|
||||
@@ -55,6 +55,14 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
|
||||
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
|
||||
|
@ -38,6 +36,3 @@ index adaebbb..3c7f539 100644
|
|||
# *.dtb used to be generated in the directory above. Clean out the
|
||||
# old build results so people don't accidentally use them.
|
||||
dtbs: $(addprefix $(obj)/, $(dtb-y))
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
10
target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch
Executable file → Normal file
10
target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch
Executable file → Normal file
|
@ -10,11 +10,9 @@ This patch add the missing device tree file for the HiFiBerry Amp and Amp+ board
|
|||
2 files changed, 40 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/hifiberry-amp-overlay.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 3c7f539..4e1ec2d 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -58,6 +58,7 @@ dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
|
||||
@@ -58,6 +58,7 @@ dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-
|
||||
dtb-$(CONFIG_BCM2708_DT) += hifiberry-dac-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += hifiberry-dacplus-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += hifiberry-digi-overlay.dtb
|
||||
|
@ -22,9 +20,6 @@ index 3c7f539..4e1ec2d 100644
|
|||
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dac-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
|
||||
diff --git a/arch/arm/boot/dts/hifiberry-amp-overlay.dts b/arch/arm/boot/dts/hifiberry-amp-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..2c81448
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/hifiberry-amp-overlay.dts
|
||||
@@ -0,0 +1,39 @@
|
||||
|
@ -67,6 +62,3 @@ index 0000000..2c81448
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
10
target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch
Executable file → Normal file
10
target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch
Executable file → Normal file
|
@ -11,11 +11,9 @@ Parameters:
|
|||
2 files changed, 35 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/pps-gpio-overlay.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 4e1ec2d..4d1224b 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-amp-overlay.dtb
|
||||
@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-am
|
||||
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dac-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
|
||||
|
@ -23,9 +21,6 @@ index 4e1ec2d..4d1224b 100644
|
|||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
||||
diff --git a/arch/arm/boot/dts/pps-gpio-overlay.dts b/arch/arm/boot/dts/pps-gpio-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..40bf0e1
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/pps-gpio-overlay.dts
|
||||
@@ -0,0 +1,34 @@
|
||||
|
@ -63,6 +58,3 @@ index 0000000..40bf0e1
|
|||
+ <&pps_pins>,"brcm,pins:0";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 079/114] config: Remove STRICT_DEVMEM
|
|||
arch/arm/configs/bcmrpi_defconfig | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index 41b90b4..fd7c022 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -1124,7 +1124,6 @@ CONFIG_FUNCTION_PROFILER=y
|
||||
|
@ -19,6 +17,3 @@ index 41b90b4..fd7c022 100644
|
|||
CONFIG_CRYPTO_USER=m
|
||||
CONFIG_CRYPTO_NULL=m
|
||||
CONFIG_CRYPTO_CRYPTD=m
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch
Executable file → Normal file
|
@ -8,8 +8,6 @@ Subject: [PATCH 080/114] I2C: Only register the I2C device for the current
|
|||
arch/arm/mach-bcm2708/bcm2708.c | 14 ++++++++++++--
|
||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index 2c6a29d..b36037b 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -93,6 +93,7 @@ static unsigned disk_led_active_low = 1;
|
||||
|
@ -38,12 +36,9 @@ index 2c6a29d..b36037b 100644
|
|||
|
||||
#if defined(CONFIG_SND_BCM2708_SOC_I2S) || defined(CONFIG_SND_BCM2708_SOC_I2S_MODULE)
|
||||
bcm_register_device_dt(&bcm2708_i2s_device);
|
||||
@@ -1093,3 +1101,5 @@ module_param(disk_led_active_low, uint, 0644);
|
||||
@@ -1093,3 +1101,5 @@ module_param(disk_led_active_low, uint,
|
||||
module_param(reboot_part, uint, 0644);
|
||||
module_param(w1_gpio_pin, uint, 0644);
|
||||
module_param(w1_gpio_pullup, uint, 0644);
|
||||
+module_param(vc_i2c_override, bool, 0644);
|
||||
+MODULE_PARM_DESC(vc_i2c_override, "Allow the use of VC's I2C peripheral.");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch
Executable file → Normal file
|
@ -9,8 +9,6 @@ Subject: [PATCH 081/114] Added support to reserve/enable a GPIO pin to be used
|
|||
arch/arm/mach-bcm2708/bcm2708.c | 27 +++++++++++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
index b36037b..762e17c 100644
|
||||
--- a/arch/arm/mach-bcm2708/bcm2708.c
|
||||
+++ b/arch/arm/mach-bcm2708/bcm2708.c
|
||||
@@ -37,6 +37,7 @@
|
||||
|
@ -29,7 +27,7 @@ index b36037b..762e17c 100644
|
|||
static bool vc_i2c_override = false;
|
||||
|
||||
static unsigned use_dt = 0;
|
||||
@@ -274,6 +276,19 @@ static struct platform_device w1_device = {
|
||||
@@ -274,6 +276,19 @@ static struct platform_device w1_device
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -66,7 +64,7 @@ index b36037b..762e17c 100644
|
|||
#if defined(CONFIG_W1_MASTER_GPIO) || defined(CONFIG_W1_MASTER_GPIO_MODULE)
|
||||
w1_gpio_pdata.pin = w1_gpio_pin;
|
||||
w1_gpio_pdata.ext_pullup_enable_pin = w1_gpio_pullup;
|
||||
@@ -1101,5 +1126,7 @@ module_param(disk_led_active_low, uint, 0644);
|
||||
@@ -1101,5 +1126,7 @@ module_param(disk_led_active_low, uint,
|
||||
module_param(reboot_part, uint, 0644);
|
||||
module_param(w1_gpio_pin, uint, 0644);
|
||||
module_param(w1_gpio_pullup, uint, 0644);
|
||||
|
@ -74,6 +72,3 @@ index b36037b..762e17c 100644
|
|||
+MODULE_PARM_DESC(pps_gpio_pin, "Set GPIO pin to reserve for PPS");
|
||||
module_param(vc_i2c_override, bool, 0644);
|
||||
MODULE_PARM_DESC(vc_i2c_override, "Allow the use of VC's I2C peripheral.");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 082/114] BCM2708_DT: Correct length of the peripheral space
|
|||
arch/arm/boot/dts/bcm2708.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
index 1b56cb5..d879316 100644
|
||||
--- a/arch/arm/boot/dts/bcm2708.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2708.dtsi
|
||||
@@ -15,7 +15,7 @@
|
||||
|
@ -20,6 +18,3 @@ index 1b56cb5..d879316 100644
|
|||
|
||||
intc: interrupt-controller {
|
||||
compatible = "brcm,bcm2708-armctrl-ic";
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
10
target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch
Executable file → Normal file
10
target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch
Executable file → Normal file
|
@ -9,11 +9,9 @@ Subject: [PATCH 083/114] BCM2708_DT: Add pcf8523-rtc overlay
|
|||
2 files changed, 23 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/pcf8523-rtc-overlay.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 4d1224b..86c6190 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-amp-overlay.dtb
|
||||
@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-am
|
||||
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dac-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
|
||||
|
@ -21,9 +19,6 @@ index 4d1224b..86c6190 100644
|
|||
dtb-$(CONFIG_BCM2708_DT) += pps-gpio-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
|
||||
diff --git a/arch/arm/boot/dts/pcf8523-rtc-overlay.dts b/arch/arm/boot/dts/pcf8523-rtc-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..0071f62
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/pcf8523-rtc-overlay.dts
|
||||
@@ -0,0 +1,22 @@
|
||||
|
@ -49,6 +44,3 @@ index 0000000..0071f62
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
11
target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch
Executable file → Normal file
11
target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch
Executable file → Normal file
|
@ -11,8 +11,6 @@ is set to 1, the SPDIF oputput will shutdown if no stream is playing.
|
|||
sound/soc/bcm/hifiberry_digi.c | 29 ++++++++++++++++++++++++++++-
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
|
||||
index 76af8a6..b0e3d28 100644
|
||||
--- a/sound/soc/bcm/hifiberry_digi.c
|
||||
+++ b/sound/soc/bcm/hifiberry_digi.c
|
||||
@@ -26,6 +26,11 @@
|
||||
|
@ -27,7 +25,7 @@ index 76af8a6..b0e3d28 100644
|
|||
static int samplerate=44100;
|
||||
|
||||
static int snd_rpi_hifiberry_digi_init(struct snd_soc_pcm_runtime *rtd)
|
||||
@@ -38,6 +43,25 @@ static int snd_rpi_hifiberry_digi_init(struct snd_soc_pcm_runtime *rtd)
|
||||
@@ -38,6 +43,25 @@ static int snd_rpi_hifiberry_digi_init(s
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -53,7 +51,7 @@ index 76af8a6..b0e3d28 100644
|
|||
static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
|
||||
struct snd_pcm_hw_params *params)
|
||||
{
|
||||
@@ -70,7 +94,8 @@ static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
|
||||
@@ -70,7 +94,8 @@ static int snd_rpi_hifiberry_digi_hw_par
|
||||
break;
|
||||
default:
|
||||
dev_err(substream->pcm->dev,
|
||||
|
@ -63,7 +61,7 @@ index 76af8a6..b0e3d28 100644
|
|||
}
|
||||
|
||||
snd_soc_dai_set_clkdiv(codec_dai, WM8804_MCLK_DIV, mclk_div);
|
||||
@@ -96,6 +121,8 @@ static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
|
||||
@@ -96,6 +121,8 @@ static int snd_rpi_hifiberry_digi_hw_par
|
||||
/* machine stream operations */
|
||||
static struct snd_soc_ops snd_rpi_hifiberry_digi_ops = {
|
||||
.hw_params = snd_rpi_hifiberry_digi_hw_params,
|
||||
|
@ -72,6 +70,3 @@ index 76af8a6..b0e3d28 100644
|
|||
};
|
||||
|
||||
static struct snd_soc_dai_link snd_rpi_hifiberry_digi_dai[] = {
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch
Executable file → Normal file
|
@ -7,11 +7,9 @@ Subject: [PATCH 085/114] bugfix for 32kHz sample rate, was missing
|
|||
sound/soc/bcm/hifiberry_digi.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
|
||||
index b0e3d28..133d51b 100644
|
||||
--- a/sound/soc/bcm/hifiberry_digi.c
|
||||
+++ b/sound/soc/bcm/hifiberry_digi.c
|
||||
@@ -80,6 +80,7 @@ static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
|
||||
@@ -80,6 +80,7 @@ static int snd_rpi_hifiberry_digi_hw_par
|
||||
samplerate = params_rate(params);
|
||||
|
||||
switch (samplerate) {
|
||||
|
@ -19,6 +17,3 @@ index b0e3d28..133d51b 100644
|
|||
case 44100:
|
||||
case 48000:
|
||||
case 88200:
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch
Executable file → Normal file
|
@ -8,11 +8,9 @@ Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
|
|||
drivers/rtc/rtc-ds1307.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
|
||||
index bb43cf7..dadd4fb 100644
|
||||
--- a/drivers/rtc/rtc-ds1307.c
|
||||
+++ b/drivers/rtc/rtc-ds1307.c
|
||||
@@ -1241,6 +1241,14 @@ static int ds1307_remove(struct i2c_client *client)
|
||||
@@ -1241,6 +1241,14 @@ static int ds1307_remove(struct i2c_clie
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -27,6 +25,3 @@ index bb43cf7..dadd4fb 100644
|
|||
static struct i2c_driver ds1307_driver = {
|
||||
.driver = {
|
||||
.name = "rtc-ds1307",
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
10
target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch
Executable file → Normal file
10
target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch
Executable file → Normal file
|
@ -10,11 +10,9 @@ Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
|
|||
2 files changed, 23 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/ds1307-rtc-overlay.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 86c6190..1b66478 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -64,6 +64,7 @@ dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
|
||||
@@ -64,6 +64,7 @@ dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacp
|
||||
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += pcf8523-rtc-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += pps-gpio-overlay.dtb
|
||||
|
@ -22,9 +20,6 @@ index 86c6190..1b66478 100644
|
|||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
||||
diff --git a/arch/arm/boot/dts/ds1307-rtc-overlay.dts b/arch/arm/boot/dts/ds1307-rtc-overlay.dts
|
||||
new file mode 100644
|
||||
index 0000000..7d27044
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/ds1307-rtc-overlay.dts
|
||||
@@ -0,0 +1,22 @@
|
||||
|
@ -50,6 +45,3 @@ index 0000000..7d27044
|
|||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 088/114] config: Add DVB_USB_DVBSKY
|
|||
arch/arm/configs/bcmrpi_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
|
||||
index fd7c022..0453a38 100644
|
||||
--- a/arch/arm/configs/bcmrpi_defconfig
|
||||
+++ b/arch/arm/configs/bcmrpi_defconfig
|
||||
@@ -715,6 +715,7 @@ CONFIG_DVB_USB_GL861=m
|
||||
|
@ -19,6 +17,3 @@ index fd7c022..0453a38 100644
|
|||
CONFIG_SMS_USB_DRV=m
|
||||
CONFIG_DVB_B2C2_FLEXCOP_USB=m
|
||||
CONFIG_DVB_AS102=m
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
190
target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch
Executable file → Normal file
190
target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch
Executable file → Normal file
|
@ -118,8 +118,6 @@ Subject: [PATCH 089/114] Add 2709 platform for Raspberry Pi 2
|
|||
create mode 100755 arch/arm/mach-bcm2709/vc_support.c
|
||||
create mode 100644 arch/arm/mach-bcm2709/vcio.c
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 0f2287f..1faad0d 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -803,6 +803,26 @@ config ARCH_OMAP1
|
||||
|
@ -157,11 +155,9 @@ index 0f2287f..1faad0d 100644
|
|||
|
||||
source "arch/arm/mach-zynq/Kconfig"
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index fea9213..2f1376e 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -147,6 +147,7 @@ machine-$(CONFIG_ARCH_AT91) += at91
|
||||
@@ -152,6 +152,7 @@ machine-$(CONFIG_ARCH_AT91) += at91
|
||||
machine-$(CONFIG_ARCH_AXXIA) += axxia
|
||||
machine-$(CONFIG_ARCH_BCM) += bcm
|
||||
machine-$(CONFIG_ARCH_BCM2708) += bcm2708
|
||||
|
@ -169,11 +165,9 @@ index fea9213..2f1376e 100644
|
|||
machine-$(CONFIG_ARCH_BERLIN) += berlin
|
||||
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
|
||||
machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 1b66478..605ed38 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -53,6 +53,14 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
|
||||
@@ -53,6 +53,14 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4e
|
||||
|
||||
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
|
||||
|
@ -188,7 +182,7 @@ index 1b66478..605ed38 100644
|
|||
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += hifiberry-dac-overlay.dtb
|
||||
@@ -68,6 +76,7 @@ dtb-$(CONFIG_BCM2708_DT) += ds1307-rtc-overlay.dtb
|
||||
@@ -68,6 +76,7 @@ dtb-$(CONFIG_BCM2708_DT) += ds1307-rtc-o
|
||||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
|
||||
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
||||
|
@ -205,9 +199,6 @@ index 1b66478..605ed38 100644
|
|||
DTC_FLAGS ?= -@
|
||||
endif
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
|
||||
new file mode 100644
|
||||
index 0000000..0cdff31
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
|
||||
@@ -0,0 +1,101 @@
|
||||
|
@ -312,9 +303,6 @@ index 0000000..0cdff31
|
|||
+ act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi
|
||||
new file mode 100644
|
||||
index 0000000..c7e975c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2709.dtsi
|
||||
@@ -0,0 +1,159 @@
|
||||
|
@ -477,9 +465,6 @@ index 0000000..c7e975c
|
|||
+ <&v7_cpu3>, "clock-frequency:0";
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..70b175c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcm2709_defconfig
|
||||
@@ -0,0 +1,1149 @@
|
||||
|
@ -1632,9 +1617,6 @@ index 0000000..70b175c
|
|||
+# CONFIG_CRYPTO_HW is not set
|
||||
+CONFIG_CRC_ITU_T=y
|
||||
+CONFIG_LIBCRC32C=y
|
||||
diff --git a/arch/arm/configs/bcm2709_sdcard_defconfig b/arch/arm/configs/bcm2709_sdcard_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..287b15d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcm2709_sdcard_defconfig
|
||||
@@ -0,0 +1,129 @@
|
||||
|
@ -1767,9 +1749,6 @@ index 0000000..287b15d
|
|||
+CONFIG_CRC_ITU_T=y
|
||||
+CONFIG_LIBCRC32C=y
|
||||
+CONFIG_AVERAGE=y
|
||||
diff --git a/arch/arm/configs/bcm2709_small_defconfig b/arch/arm/configs/bcm2709_small_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..9974a9d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcm2709_small_defconfig
|
||||
@@ -0,0 +1,61 @@
|
||||
|
@ -1834,9 +1813,6 @@ index 0000000..9974a9d
|
|||
+CONFIG_EARLY_PRINTK=y
|
||||
+CONFIG_CRC16=y
|
||||
+CONFIG_CRC_ITU_T=y
|
||||
diff --git a/arch/arm/configs/bcm2835_sdcard_defconfig b/arch/arm/configs/bcm2835_sdcard_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..987471b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcm2835_sdcard_defconfig
|
||||
@@ -0,0 +1,176 @@
|
||||
|
@ -2016,9 +1992,6 @@ index 0000000..987471b
|
|||
+# CONFIG_CRYPTO_HW is not set
|
||||
+CONFIG_CRC_ITU_T=y
|
||||
+CONFIG_LIBCRC32C=y
|
||||
diff --git a/arch/arm/configs/bcmrpi_sdcard_defconfig b/arch/arm/configs/bcmrpi_sdcard_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..fef887a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcmrpi_sdcard_defconfig
|
||||
@@ -0,0 +1,176 @@
|
||||
|
@ -2198,9 +2171,6 @@ index 0000000..fef887a
|
|||
+# CONFIG_CRYPTO_HW is not set
|
||||
+CONFIG_CRC_ITU_T=y
|
||||
+CONFIG_LIBCRC32C=y
|
||||
diff --git a/arch/arm/configs/bcmrpi_small_defconfig b/arch/arm/configs/bcmrpi_small_defconfig
|
||||
new file mode 100644
|
||||
index 0000000..3f6e378
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/configs/bcmrpi_small_defconfig
|
||||
@@ -0,0 +1,103 @@
|
||||
|
@ -2307,8 +2277,6 @@ index 0000000..3f6e378
|
|||
+CONFIG_CRC16=y
|
||||
+CONFIG_CRC_ITU_T=y
|
||||
+CONFIG_LIBCRC32C=y
|
||||
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
|
||||
index 664eee8..e1885fa 100644
|
||||
--- a/arch/arm/kernel/head.S
|
||||
+++ b/arch/arm/kernel/head.S
|
||||
@@ -673,6 +673,14 @@ ARM_BE8(rev16 ip, ip)
|
||||
|
@ -2326,9 +2294,6 @@ index 664eee8..e1885fa 100644
|
|||
#endif
|
||||
ENDPROC(__fixup_a_pv_table)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2709/Kconfig b/arch/arm/mach-bcm2709/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000..4fb6e1b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/Kconfig
|
||||
@@ -0,0 +1,49 @@
|
||||
|
@ -2381,9 +2346,6 @@ index 0000000..4fb6e1b
|
|||
+ help
|
||||
+ Binds spidev driver to the SPI0 master
|
||||
+endmenu
|
||||
diff --git a/arch/arm/mach-bcm2709/Makefile b/arch/arm/mach-bcm2709/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..2a803bb
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/Makefile
|
||||
@@ -0,0 +1,7 @@
|
||||
|
@ -2394,18 +2356,12 @@ index 0000000..2a803bb
|
|||
+obj-$(CONFIG_MACH_BCM2709) += bcm2709.o armctrl.o vcio.o power.o dma.o
|
||||
+obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o
|
||||
+obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
|
||||
diff --git a/arch/arm/mach-bcm2709/Makefile.boot b/arch/arm/mach-bcm2709/Makefile.boot
|
||||
new file mode 100644
|
||||
index 0000000..67039c3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/Makefile.boot
|
||||
@@ -0,0 +1,3 @@
|
||||
+ zreladdr-y := 0x00008000
|
||||
+params_phys-y := 0x00000100
|
||||
+initrd_phys-y := 0x00800000
|
||||
diff --git a/arch/arm/mach-bcm2709/armctrl.c b/arch/arm/mach-bcm2709/armctrl.c
|
||||
new file mode 100644
|
||||
index 0000000..8e69a813
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/armctrl.c
|
||||
@@ -0,0 +1,357 @@
|
||||
|
@ -2766,9 +2722,6 @@ index 0000000..8e69a813
|
|||
+ armctrl_dt_init();
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/arch/arm/mach-bcm2709/armctrl.h b/arch/arm/mach-bcm2709/armctrl.h
|
||||
new file mode 100644
|
||||
index 0000000..0aa916e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/armctrl.h
|
||||
@@ -0,0 +1,27 @@
|
||||
|
@ -2799,9 +2752,6 @@ index 0000000..0aa916e
|
|||
+ u32 armctrl_sources, u32 resume_sources);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/bcm2708_gpio.c b/arch/arm/mach-bcm2709/bcm2708_gpio.c
|
||||
new file mode 100644
|
||||
index 0000000..c1e9254
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/bcm2708_gpio.c
|
||||
@@ -0,0 +1,426 @@
|
||||
|
@ -3231,9 +3181,6 @@ index 0000000..c1e9254
|
|||
+
|
||||
+MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
new file mode 100644
|
||||
index 0000000..a1058ad
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
@@ -0,0 +1,1237 @@
|
||||
|
@ -4474,9 +4421,6 @@ index 0000000..a1058ad
|
|||
+module_param(reboot_part, uint, 0644);
|
||||
+module_param(w1_gpio_pin, uint, 0644);
|
||||
+module_param(w1_gpio_pullup, uint, 0644);
|
||||
diff --git a/arch/arm/mach-bcm2709/bcm2709.h b/arch/arm/mach-bcm2709/bcm2709.h
|
||||
new file mode 100644
|
||||
index 0000000..e339a93
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/bcm2709.h
|
||||
@@ -0,0 +1,49 @@
|
||||
|
@ -4529,9 +4473,6 @@ index 0000000..e339a93
|
|||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/clock.c b/arch/arm/mach-bcm2709/clock.c
|
||||
new file mode 100644
|
||||
index 0000000..4fc556e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/clock.c
|
||||
@@ -0,0 +1,61 @@
|
||||
|
@ -4596,9 +4537,6 @@ index 0000000..4fc556e
|
|||
+ return -EIO;
|
||||
+}
|
||||
+EXPORT_SYMBOL(clk_set_rate);
|
||||
diff --git a/arch/arm/mach-bcm2709/clock.h b/arch/arm/mach-bcm2709/clock.h
|
||||
new file mode 100644
|
||||
index 0000000..5f9d725
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/clock.h
|
||||
@@ -0,0 +1,24 @@
|
||||
|
@ -4626,9 +4564,6 @@ index 0000000..5f9d725
|
|||
+struct clk {
|
||||
+ unsigned long rate;
|
||||
+};
|
||||
diff --git a/arch/arm/mach-bcm2709/delay.S b/arch/arm/mach-bcm2709/delay.S
|
||||
new file mode 100644
|
||||
index 0000000..06f4780
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/delay.S
|
||||
@@ -0,0 +1,21 @@
|
||||
|
@ -4653,9 +4588,6 @@ index 0000000..06f4780
|
|||
+ bhi bcm2708_delay
|
||||
+ mov pc, lr
|
||||
+ENDPROC(bcm2708_delay)
|
||||
diff --git a/arch/arm/mach-bcm2709/dma.c b/arch/arm/mach-bcm2709/dma.c
|
||||
new file mode 100644
|
||||
index 0000000..a5e58d1
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/dma.c
|
||||
@@ -0,0 +1,409 @@
|
||||
|
@ -5068,9 +5000,6 @@ index 0000000..a5e58d1
|
|||
+MODULE_LICENSE("GPL");
|
||||
+
|
||||
+MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM");
|
||||
diff --git a/arch/arm/mach-bcm2709/dmaer.c b/arch/arm/mach-bcm2709/dmaer.c
|
||||
new file mode 100755
|
||||
index 0000000..5b0f0ff
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/dmaer.c
|
||||
@@ -0,0 +1,886 @@
|
||||
|
@ -5960,9 +5889,6 @@ index 0000000..5b0f0ff
|
|||
+MODULE_AUTHOR("Simon Hall");
|
||||
+module_init(dmaer_init);
|
||||
+module_exit(dmaer_exit);
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/arm_control.h b/arch/arm/mach-bcm2709/include/mach/arm_control.h
|
||||
new file mode 100644
|
||||
index 0000000..e346caf
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/arm_control.h
|
||||
@@ -0,0 +1,493 @@
|
||||
|
@ -6459,9 +6385,6 @@ index 0000000..e346caf
|
|||
+#define ARM_LOCAL_MAILBOX3_CLR3 HW_REGISTER_RW(ARM_LOCAL_BASE+0x0FC)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/arm_power.h b/arch/arm/mach-bcm2709/include/mach/arm_power.h
|
||||
new file mode 100644
|
||||
index 0000000..d3bf245
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/arm_power.h
|
||||
@@ -0,0 +1,62 @@
|
||||
|
@ -6527,18 +6450,12 @@ index 0000000..d3bf245
|
|||
+};
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/barriers.h b/arch/arm/mach-bcm2709/include/mach/barriers.h
|
||||
new file mode 100644
|
||||
index 0000000..723cdad
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/barriers.h
|
||||
@@ -0,0 +1,3 @@
|
||||
+#define mb() dsb()
|
||||
+#define rmb() dsb()
|
||||
+#define wmb() mb()
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/clkdev.h b/arch/arm/mach-bcm2709/include/mach/clkdev.h
|
||||
new file mode 100644
|
||||
index 0000000..04b37a8
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/clkdev.h
|
||||
@@ -0,0 +1,7 @@
|
||||
|
@ -6549,9 +6466,6 @@ index 0000000..04b37a8
|
|||
+#define __clk_put(clk) do { } while (0)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/debug-macro.S b/arch/arm/mach-bcm2709/include/mach/debug-macro.S
|
||||
new file mode 100644
|
||||
index 0000000..b24304a
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/debug-macro.S
|
||||
@@ -0,0 +1,22 @@
|
||||
|
@ -6577,9 +6491,6 @@ index 0000000..b24304a
|
|||
+ .endm
|
||||
+
|
||||
+#include <debug/pl01x.S>
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/dma.h b/arch/arm/mach-bcm2709/include/mach/dma.h
|
||||
new file mode 100644
|
||||
index 0000000..d03e7b5
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/dma.h
|
||||
@@ -0,0 +1,94 @@
|
||||
|
@ -6677,9 +6588,6 @@ index 0000000..d03e7b5
|
|||
+
|
||||
+
|
||||
+#endif /* _MACH_BCM2708_DMA_H */
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/entry-macro.S b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
|
||||
new file mode 100644
|
||||
index 0000000..d08591b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
|
||||
@@ -0,0 +1,123 @@
|
||||
|
@ -6806,9 +6714,6 @@ index 0000000..d08591b
|
|||
+ dsb
|
||||
+1030: @ EQ will be set if no irqs pending
|
||||
+ .endm
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/frc.h b/arch/arm/mach-bcm2709/include/mach/frc.h
|
||||
new file mode 100644
|
||||
index 0000000..dd51e07
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/frc.h
|
||||
@@ -0,0 +1,38 @@
|
||||
|
@ -6850,9 +6755,6 @@ index 0000000..dd51e07
|
|||
+extern unsigned long long frc_clock_ticks63(void);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/gpio.h b/arch/arm/mach-bcm2709/include/mach/gpio.h
|
||||
new file mode 100644
|
||||
index 0000000..7965a97
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/gpio.h
|
||||
@@ -0,0 +1,17 @@
|
||||
|
@ -6873,9 +6775,6 @@ index 0000000..7965a97
|
|||
+#define irq_to_gpio(x) ((x) - GPIO_IRQ_START)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/hardware.h b/arch/arm/mach-bcm2709/include/mach/hardware.h
|
||||
new file mode 100644
|
||||
index 0000000..c2954e8
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/hardware.h
|
||||
@@ -0,0 +1,28 @@
|
||||
|
@ -6907,9 +6806,6 @@ index 0000000..c2954e8
|
|||
+#include <mach/platform.h>
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/io.h b/arch/arm/mach-bcm2709/include/mach/io.h
|
||||
new file mode 100644
|
||||
index 0000000..e6eb84d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/io.h
|
||||
@@ -0,0 +1,27 @@
|
||||
|
@ -6940,9 +6836,6 @@ index 0000000..e6eb84d
|
|||
+#define __io(a) __typesafe_io(a)
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/irqs.h b/arch/arm/mach-bcm2709/include/mach/irqs.h
|
||||
new file mode 100644
|
||||
index 0000000..3a883d2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/irqs.h
|
||||
@@ -0,0 +1,225 @@
|
||||
|
@ -7171,9 +7064,6 @@ index 0000000..3a883d2
|
|||
+#define NR_IRQS (BCM2708_ALLOC_IRQS+FREE_IRQS)
|
||||
+
|
||||
+#endif /* _BCM2708_IRQS_H_ */
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/memory.h b/arch/arm/mach-bcm2709/include/mach/memory.h
|
||||
new file mode 100644
|
||||
index 0000000..7548a52
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/memory.h
|
||||
@@ -0,0 +1,57 @@
|
||||
|
@ -7234,9 +7124,6 @@ index 0000000..7548a52
|
|||
+#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - BCM_PLAT_PHYS_OFFSET))
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/platform.h b/arch/arm/mach-bcm2709/include/mach/platform.h
|
||||
new file mode 100644
|
||||
index 0000000..7157f38
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/platform.h
|
||||
@@ -0,0 +1,225 @@
|
||||
|
@ -7465,9 +7352,6 @@ index 0000000..7157f38
|
|||
+#endif
|
||||
+
|
||||
+/* END */
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/power.h b/arch/arm/mach-bcm2709/include/mach/power.h
|
||||
new file mode 100644
|
||||
index 0000000..52b3b02
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/power.h
|
||||
@@ -0,0 +1,26 @@
|
||||
|
@ -7497,9 +7381,6 @@ index 0000000..52b3b02
|
|||
+extern int bcm_power_close(BCM_POWER_HANDLE_T handle);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/system.h b/arch/arm/mach-bcm2709/include/mach/system.h
|
||||
new file mode 100644
|
||||
index 0000000..2d0b821
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/system.h
|
||||
@@ -0,0 +1,38 @@
|
||||
|
@ -7541,9 +7422,6 @@ index 0000000..2d0b821
|
|||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/timex.h b/arch/arm/mach-bcm2709/include/mach/timex.h
|
||||
new file mode 100644
|
||||
index 0000000..64a660c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/timex.h
|
||||
@@ -0,0 +1,23 @@
|
||||
|
@ -7570,9 +7448,6 @@ index 0000000..64a660c
|
|||
+ */
|
||||
+
|
||||
+#define CLOCK_TICK_RATE (1000000)
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/uncompress.h b/arch/arm/mach-bcm2709/include/mach/uncompress.h
|
||||
new file mode 100644
|
||||
index 0000000..d634813
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/uncompress.h
|
||||
@@ -0,0 +1,84 @@
|
||||
|
@ -7660,9 +7535,6 @@ index 0000000..d634813
|
|||
+ * nothing to do
|
||||
+ */
|
||||
+#define arch_decomp_wdog()
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/vc_mem.h b/arch/arm/mach-bcm2709/include/mach/vc_mem.h
|
||||
new file mode 100644
|
||||
index 0000000..4a4a338
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/vc_mem.h
|
||||
@@ -0,0 +1,35 @@
|
||||
|
@ -7701,9 +7573,6 @@ index 0000000..4a4a338
|
|||
+#endif
|
||||
+
|
||||
+#endif /* VC_MEM_H */
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/vc_support.h b/arch/arm/mach-bcm2709/include/mach/vc_support.h
|
||||
new file mode 100755
|
||||
index 0000000..70e809f
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/vc_support.h
|
||||
@@ -0,0 +1,69 @@
|
||||
|
@ -7776,9 +7645,6 @@ index 0000000..70e809f
|
|||
+ unsigned int r0, unsigned int r1, unsigned int r2, unsigned int r3, unsigned int r4, unsigned int r5);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/vcio.h b/arch/arm/mach-bcm2709/include/mach/vcio.h
|
||||
new file mode 100644
|
||||
index 0000000..8e11d67
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/vcio.h
|
||||
@@ -0,0 +1,165 @@
|
||||
|
@ -7947,9 +7813,6 @@ index 0000000..8e11d67
|
|||
+#define DEVICE_FILE_NAME "vcio"
|
||||
+
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/vmalloc.h b/arch/arm/mach-bcm2709/include/mach/vmalloc.h
|
||||
new file mode 100644
|
||||
index 0000000..6aa6826
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/vmalloc.h
|
||||
@@ -0,0 +1,20 @@
|
||||
|
@ -7973,9 +7836,6 @@ index 0000000..6aa6826
|
|||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
+ */
|
||||
+#define VMALLOC_END (0xff000000)
|
||||
diff --git a/arch/arm/mach-bcm2709/power.c b/arch/arm/mach-bcm2709/power.c
|
||||
new file mode 100644
|
||||
index 0000000..3421057
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/power.c
|
||||
@@ -0,0 +1,195 @@
|
||||
|
@ -8174,9 +8034,6 @@ index 0000000..3421057
|
|||
+MODULE_AUTHOR("Phil Elwell");
|
||||
+MODULE_DESCRIPTION("Interface to BCM2708 power management");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/arch/arm/mach-bcm2709/vc_mem.c b/arch/arm/mach-bcm2709/vc_mem.c
|
||||
new file mode 100644
|
||||
index 0000000..ac578db
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/vc_mem.c
|
||||
@@ -0,0 +1,431 @@
|
||||
|
@ -8611,9 +8468,6 @@ index 0000000..ac578db
|
|||
+module_param(phys_addr, uint, 0644);
|
||||
+module_param(mem_size, uint, 0644);
|
||||
+module_param(mem_base, uint, 0644);
|
||||
diff --git a/arch/arm/mach-bcm2709/vc_support.c b/arch/arm/mach-bcm2709/vc_support.c
|
||||
new file mode 100755
|
||||
index 0000000..0bc41c4
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/vc_support.c
|
||||
@@ -0,0 +1,318 @@
|
||||
|
@ -8935,9 +8789,6 @@ index 0000000..0bc41c4
|
|||
+ return 1;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/arch/arm/mach-bcm2709/vcio.c b/arch/arm/mach-bcm2709/vcio.c
|
||||
new file mode 100644
|
||||
index 0000000..5e43e85
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-bcm2709/vcio.c
|
||||
@@ -0,0 +1,474 @@
|
||||
|
@ -9415,8 +9266,6 @@ index 0000000..5e43e85
|
|||
+MODULE_DESCRIPTION("ARM I/O to VideoCore processor");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("platform:bcm-mbox");
|
||||
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
|
||||
index 22ac2a6..eec2825 100644
|
||||
--- a/arch/arm/mm/proc-v7.S
|
||||
+++ b/arch/arm/mm/proc-v7.S
|
||||
@@ -441,6 +441,7 @@ __v7_setup:
|
||||
|
@ -9427,11 +9276,9 @@ index 22ac2a6..eec2825 100644
|
|||
ENDPROC(__v7_setup)
|
||||
|
||||
.align 2
|
||||
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
|
||||
index c9ddd87..bfc397c 100644
|
||||
--- a/arch/arm/tools/mach-types
|
||||
+++ b/arch/arm/tools/mach-types
|
||||
@@ -523,6 +523,7 @@ prima2_evb MACH_PRIMA2_EVB PRIMA2_EVB 3103
|
||||
@@ -523,6 +523,7 @@ prima2_evb MACH_PRIMA2_EVB PRIMA2_EVB
|
||||
paz00 MACH_PAZ00 PAZ00 3128
|
||||
acmenetusfoxg20 MACH_ACMENETUSFOXG20 ACMENETUSFOXG20 3129
|
||||
bcm2708 MACH_BCM2708 BCM2708 3138
|
||||
|
@ -9439,8 +9286,6 @@ index c9ddd87..bfc397c 100644
|
|||
ag5evm MACH_AG5EVM AG5EVM 3189
|
||||
ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206
|
||||
wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207
|
||||
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
|
||||
index 0d2ca0d..77eb7a8 100644
|
||||
--- a/drivers/char/hw_random/Kconfig
|
||||
+++ b/drivers/char/hw_random/Kconfig
|
||||
@@ -322,7 +322,7 @@ config HW_RANDOM_TPM
|
||||
|
@ -9452,11 +9297,9 @@ index 0d2ca0d..77eb7a8 100644
|
|||
---help---
|
||||
This driver provides the kernel-side support for the BCM2708 hardware.
|
||||
|
||||
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
|
||||
index 84b4c8b..8253434 100644
|
||||
--- a/drivers/clocksource/arm_arch_timer.c
|
||||
+++ b/drivers/clocksource/arm_arch_timer.c
|
||||
@@ -795,3 +795,39 @@ static void __init arch_timer_mem_init(struct device_node *np)
|
||||
@@ -795,3 +795,39 @@ static void __init arch_timer_mem_init(s
|
||||
}
|
||||
CLOCKSOURCE_OF_DECLARE(armv7_arch_timer_mem, "arm,armv7-timer-mem",
|
||||
arch_timer_mem_init);
|
||||
|
@ -9496,8 +9339,6 @@ index 84b4c8b..8253434 100644
|
|||
+ arch_timer_common_init();
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
|
||||
index c9b8eb5..5965795 100644
|
||||
--- a/drivers/dma/Kconfig
|
||||
+++ b/drivers/dma/Kconfig
|
||||
@@ -332,7 +332,7 @@ config DMA_BCM2835
|
||||
|
@ -9509,8 +9350,6 @@ index c9b8eb5..5965795 100644
|
|||
select DMA_ENGINE
|
||||
select DMA_VIRTUAL_CHANNELS
|
||||
|
||||
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
|
||||
index d30a986..d181d7f 100644
|
||||
--- a/drivers/i2c/busses/Kconfig
|
||||
+++ b/drivers/i2c/busses/Kconfig
|
||||
@@ -361,7 +361,7 @@ config I2C_AXXIA
|
||||
|
@ -9531,8 +9370,6 @@ index d30a986..d181d7f 100644
|
|||
help
|
||||
Enabling this option will add BSC (Broadcom Serial Controller)
|
||||
support for the BCM2708. BSC is a Broadcom proprietary bus compatible
|
||||
diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig
|
||||
index a8fd172..2cb1a68 100644
|
||||
--- a/drivers/media/platform/bcm2835/Kconfig
|
||||
+++ b/drivers/media/platform/bcm2835/Kconfig
|
||||
@@ -2,7 +2,7 @@
|
||||
|
@ -9544,8 +9381,6 @@ index a8fd172..2cb1a68 100644
|
|||
---help---
|
||||
Say Y here to enable camera host interface devices for
|
||||
Broadcom BCM2835 SoC. This operates over the VCHIQ interface
|
||||
diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig
|
||||
index 2663933..b94e6cd 100644
|
||||
--- a/drivers/misc/vc04_services/Kconfig
|
||||
+++ b/drivers/misc/vc04_services/Kconfig
|
||||
@@ -1,6 +1,6 @@
|
||||
|
@ -9556,8 +9391,6 @@ index 2663933..b94e6cd 100644
|
|||
default y
|
||||
help
|
||||
Kernel to VideoCore communication interface for the
|
||||
diff --git a/drivers/misc/vc04_services/Makefile b/drivers/misc/vc04_services/Makefile
|
||||
index 0c82520..8d038fe 100644
|
||||
--- a/drivers/misc/vc04_services/Makefile
|
||||
+++ b/drivers/misc/vc04_services/Makefile
|
||||
@@ -1,5 +1,3 @@
|
||||
|
@ -9571,8 +9404,6 @@ index 0c82520..8d038fe 100644
|
|||
ccflags-y += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000
|
||||
|
||||
-endif
|
||||
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
|
||||
index 977aeef..b049c15 100644
|
||||
--- a/drivers/mmc/host/Kconfig
|
||||
+++ b/drivers/mmc/host/Kconfig
|
||||
@@ -304,7 +304,7 @@ config MMC_SDHCI_ST
|
||||
|
@ -9584,8 +9415,6 @@ index 977aeef..b049c15 100644
|
|||
help
|
||||
This selects the MMC Interface on BCM2835.
|
||||
|
||||
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
|
||||
index a5238ab..ea70ef0 100644
|
||||
--- a/drivers/spi/Kconfig
|
||||
+++ b/drivers/spi/Kconfig
|
||||
@@ -77,7 +77,7 @@ config SPI_ATMEL
|
||||
|
@ -9606,8 +9435,6 @@ index a5238ab..ea70ef0 100644
|
|||
help
|
||||
This selects a driver for the Broadcom BCM2708 SPI master (SPI0). This
|
||||
driver is not compatible with the "Universal SPI Master" or the SPI slave
|
||||
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
|
||||
index ff56894..4bcc3b2 100644
|
||||
--- a/drivers/watchdog/Kconfig
|
||||
+++ b/drivers/watchdog/Kconfig
|
||||
@@ -454,7 +454,7 @@ config RETU_WATCHDOG
|
||||
|
@ -9619,8 +9446,6 @@ index ff56894..4bcc3b2 100644
|
|||
help
|
||||
Enables BCM2708 watchdog support.
|
||||
|
||||
diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig
|
||||
index f7ceafd..ada7ba2 100644
|
||||
--- a/sound/arm/Kconfig
|
||||
+++ b/sound/arm/Kconfig
|
||||
@@ -41,7 +41,7 @@ config SND_PXA2XX_AC97
|
||||
|
@ -9632,8 +9457,6 @@ index f7ceafd..ada7ba2 100644
|
|||
select SND_PCM
|
||||
help
|
||||
Say Y or M if you want to support BCM2835 Alsa pcm card driver
|
||||
diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
|
||||
index a562ddf..40d27c1 100644
|
||||
--- a/sound/soc/bcm/Kconfig
|
||||
+++ b/sound/soc/bcm/Kconfig
|
||||
@@ -10,7 +10,7 @@ config SND_BCM2835_SOC_I2S
|
||||
|
@ -9645,6 +9468,3 @@ index a562ddf..40d27c1 100644
|
|||
select REGMAP_MMIO
|
||||
select SND_SOC_DMAENGINE_PCM
|
||||
select SND_SOC_GENERIC_DMAENGINE_PCM
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
110
target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch
Executable file → Normal file
110
target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch
Executable file → Normal file
|
@ -8,8 +8,6 @@ Subject: [PATCH 090/114] bcm2709: Simplify and strip down IRQ handler
|
|||
arch/arm/mach-bcm2709/include/mach/entry-macro.S | 169 +++++++++++------------
|
||||
2 files changed, 85 insertions(+), 86 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/entry-macro-multi.S b/arch/arm/include/asm/entry-macro-multi.S
|
||||
index 469a2b3..9c0a7eb 100644
|
||||
--- a/arch/arm/include/asm/entry-macro-multi.S
|
||||
+++ b/arch/arm/include/asm/entry-macro-multi.S
|
||||
@@ -1,5 +1,6 @@
|
||||
|
@ -27,8 +25,6 @@ index 469a2b3..9c0a7eb 100644
|
|||
|
||||
.macro arch_irq_handler, symbol_name
|
||||
.align 5
|
||||
diff --git a/arch/arm/mach-bcm2709/include/mach/entry-macro.S b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
|
||||
index d08591b..101d9f1 100644
|
||||
--- a/arch/arm/mach-bcm2709/include/mach/entry-macro.S
|
||||
+++ b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
|
||||
@@ -22,102 +22,99 @@
|
||||
|
@ -43,23 +39,15 @@ index d08591b..101d9f1 100644
|
|||
- .macro get_irqnr_preamble, base, tmp
|
||||
- ldr \base, =IO_ADDRESS(ARMCTRL_IC_BASE)
|
||||
- .endm
|
||||
+ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
||||
|
||||
-
|
||||
- .macro arch_ret_to_user, tmp1, tmp2
|
||||
- .endm
|
||||
+ /* get core number */
|
||||
+ mrc p15, 0, \base, c0, c0, 5
|
||||
+ ubfx \base, \base, #0, #2
|
||||
|
||||
-
|
||||
- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
||||
- /* get core number */
|
||||
- mrc p15, 0, \tmp, c0, c0, 5
|
||||
- ubfx \tmp, \tmp, #0, #2
|
||||
+ /* get core's local interrupt controller */
|
||||
+ ldr \irqstat, = __io_address(ARM_LOCAL_IRQ_PENDING0) @ local interrupt source
|
||||
+ add \irqstat, \irqstat, \base, lsl #2
|
||||
+ ldr \tmp, [\irqstat]
|
||||
|
||||
-
|
||||
- /* get core's local interrupt controller */
|
||||
- ldr \irqstat, = __io_address(ARM_LOCAL_IRQ_PENDING0) @ local interrupt source
|
||||
- add \irqstat, \irqstat, \tmp, lsl #2
|
||||
|
@ -69,10 +57,7 @@ index d08591b..101d9f1 100644
|
|||
- /* ignore mailbox interrupts */
|
||||
- bics \tmp, #0xf0
|
||||
- beq 1005f
|
||||
+ /* test for mailbox0 (IPI) interrupt */
|
||||
+ tst \tmp, #0x10
|
||||
+ beq 1030f
|
||||
|
||||
-
|
||||
- @ For non-zero x, LSB(x) = 31 - CLZ(x^(x-1))
|
||||
- @ N.B. CLZ is an ARM5 instruction.
|
||||
- mov \irqnr, #(ARM_IRQ_LOCAL_BASE + 31)
|
||||
|
@ -85,31 +70,14 @@ index d08591b..101d9f1 100644
|
|||
- /* get core number */
|
||||
- mrc p15, 0, \tmp, c0, c0, 5
|
||||
- ubfx \tmp, \tmp, #0, #2
|
||||
+ /* get core's mailbox interrupt control */
|
||||
+ ldr \irqstat, = __io_address(ARM_LOCAL_MAILBOX0_CLR0) @ mbox_clr
|
||||
+ add \irqstat, \irqstat, \base, lsl #4
|
||||
+ ldr \tmp, [\irqstat]
|
||||
+ clz \tmp, \tmp
|
||||
+ rsb \irqnr, \tmp, #31
|
||||
+ mov \tmp, #1
|
||||
+ lsl \tmp, \irqnr
|
||||
+ str \tmp, [\irqstat] @ clear interrupt source
|
||||
+ dsb
|
||||
+ mov r1, sp
|
||||
+ adr lr, BSYM(1b)
|
||||
+ b do_IPI
|
||||
|
||||
-
|
||||
- cmp \tmp, #1
|
||||
- beq 1020f
|
||||
- cmp \tmp, #2
|
||||
- beq 1020f
|
||||
- cmp \tmp, #3
|
||||
- beq 1020f
|
||||
+1030:
|
||||
+ /* check gpu interrupt */
|
||||
+ tst \tmp, #0x100
|
||||
+ beq 1040f
|
||||
|
||||
-
|
||||
- /* get masked status */
|
||||
- ldr \irqstat, [\base, #(ARM_IRQ_PEND0 - ARMCTRL_IC_BASE)]
|
||||
- mov \irqnr, #(ARM_IRQ0_BASE + 31)
|
||||
|
@ -117,15 +85,7 @@ index d08591b..101d9f1 100644
|
|||
- /* clear bits 8 and 9, and test */
|
||||
- bics \irqstat, \irqstat, #0x300
|
||||
- bne 1010f
|
||||
+ ldr \base, =IO_ADDRESS(ARMCTRL_IC_BASE)
|
||||
+ /* get masked status */
|
||||
+ ldr \irqstat, [\base, #(ARM_IRQ_PEND0 - ARMCTRL_IC_BASE)]
|
||||
+ mov \irqnr, #(ARM_IRQ0_BASE + 31)
|
||||
+ and \tmp, \irqstat, #0x300 @ save bits 8 and 9
|
||||
+ /* clear bits 8 and 9, and test */
|
||||
+ bics \irqstat, \irqstat, #0x300
|
||||
+ bne 1010f
|
||||
|
||||
-
|
||||
- tst \tmp, #0x100
|
||||
- ldrne \irqstat, [\base, #(ARM_IRQ_PEND1 - ARMCTRL_IC_BASE)]
|
||||
- movne \irqnr, #(ARM_IRQ1_BASE + 31)
|
||||
|
@ -141,6 +101,49 @@ index d08591b..101d9f1 100644
|
|||
- bicne \irqstat, #((1<<21) | (1<<22) | (1<<23) | (1<<24) | (1<<25))
|
||||
- bicne \irqstat, #((1<<30))
|
||||
- beq 1020f
|
||||
+ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
||||
|
||||
+ /* get core number */
|
||||
+ mrc p15, 0, \base, c0, c0, 5
|
||||
+ ubfx \base, \base, #0, #2
|
||||
+
|
||||
+ /* get core's local interrupt controller */
|
||||
+ ldr \irqstat, = __io_address(ARM_LOCAL_IRQ_PENDING0) @ local interrupt source
|
||||
+ add \irqstat, \irqstat, \base, lsl #2
|
||||
+ ldr \tmp, [\irqstat]
|
||||
+
|
||||
+ /* test for mailbox0 (IPI) interrupt */
|
||||
+ tst \tmp, #0x10
|
||||
+ beq 1030f
|
||||
+
|
||||
+ /* get core's mailbox interrupt control */
|
||||
+ ldr \irqstat, = __io_address(ARM_LOCAL_MAILBOX0_CLR0) @ mbox_clr
|
||||
+ add \irqstat, \irqstat, \base, lsl #4
|
||||
+ ldr \tmp, [\irqstat]
|
||||
+ clz \tmp, \tmp
|
||||
+ rsb \irqnr, \tmp, #31
|
||||
+ mov \tmp, #1
|
||||
+ lsl \tmp, \irqnr
|
||||
+ str \tmp, [\irqstat] @ clear interrupt source
|
||||
+ dsb
|
||||
+ mov r1, sp
|
||||
+ adr lr, BSYM(1b)
|
||||
+ b do_IPI
|
||||
+
|
||||
+1030:
|
||||
+ /* check gpu interrupt */
|
||||
+ tst \tmp, #0x100
|
||||
+ beq 1040f
|
||||
+
|
||||
+ ldr \base, =IO_ADDRESS(ARMCTRL_IC_BASE)
|
||||
+ /* get masked status */
|
||||
+ ldr \irqstat, [\base, #(ARM_IRQ_PEND0 - ARMCTRL_IC_BASE)]
|
||||
+ mov \irqnr, #(ARM_IRQ0_BASE + 31)
|
||||
+ and \tmp, \irqstat, #0x300 @ save bits 8 and 9
|
||||
+ /* clear bits 8 and 9, and test */
|
||||
+ bics \irqstat, \irqstat, #0x300
|
||||
+ bne 1010f
|
||||
+
|
||||
+ tst \tmp, #0x100
|
||||
+ ldrne \irqstat, [\base, #(ARM_IRQ_PEND1 - ARMCTRL_IC_BASE)]
|
||||
+ movne \irqnr, #(ARM_IRQ1_BASE + 31)
|
||||
|
@ -148,7 +151,7 @@ index d08591b..101d9f1 100644
|
|||
+ bicne \irqstat, #((1<<7) | (1<<9) | (1<<10))
|
||||
+ bicne \irqstat, #((1<<18) | (1<<19))
|
||||
+ bne 1010f
|
||||
|
||||
+
|
||||
+ tst \tmp, #0x200
|
||||
+ ldrne \irqstat, [\base, #(ARM_IRQ_PEND2 - ARMCTRL_IC_BASE)]
|
||||
+ movne \irqnr, #(ARM_IRQ2_BASE + 31)
|
||||
|
@ -172,8 +175,7 @@ index d08591b..101d9f1 100644
|
|||
+1040:
|
||||
+ cmp \tmp, #0
|
||||
+ beq 1020f
|
||||
|
||||
-1020: @ EQ will be set if no irqs pending
|
||||
+
|
||||
+ /* handle local (e.g. timer) interrupts */
|
||||
+ @ For non-zero x, LSB(x) = 31 - CLZ(x^(x-1))
|
||||
+ mov \irqnr, #(ARM_IRQ_LOCAL_BASE + 31)
|
||||
|
@ -189,10 +191,11 @@ index d08591b..101d9f1 100644
|
|||
+ adr lr, BSYM(1b)
|
||||
+ b asm_do_IRQ
|
||||
|
||||
- .endm
|
||||
+1020: @ EQ will be set if no irqs pending
|
||||
1020: @ EQ will be set if no irqs pending
|
||||
+ .endm
|
||||
|
||||
- .endm
|
||||
-
|
||||
- .macro test_for_ipi, irqnr, irqstat, base, tmp
|
||||
- /* get core number */
|
||||
- mrc p15, 0, \tmp, c0, c0, 5
|
||||
|
@ -217,6 +220,3 @@ index d08591b..101d9f1 100644
|
|||
+ .macro arch_irq_handler_default
|
||||
+1: get_irqnr_and_base r0, r2, r6, lr
|
||||
+ .endm
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch
Executable file → Normal file
|
@ -8,8 +8,6 @@ Subject: [PATCH 091/114] dwc_otg: FIQ support on SMP. Set up FIQ stack and
|
|||
drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 96 ++++++++++++++--------------
|
||||
1 file changed, 49 insertions(+), 47 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
index 98e1dc5..4d8dd95 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
@@ -397,7 +397,55 @@ static struct fiq_handler fh = {
|
||||
|
@ -39,12 +37,12 @@ index 98e1dc5..4d8dd95 100644
|
|||
+ } else {
|
||||
+ regs.ARM_fp = (long) dwc_otg_fiq_nop;
|
||||
+ }
|
||||
|
||||
+
|
||||
+ regs.ARM_sp = (long) dwc_otg_hcd->fiq_stack + (sizeof(struct fiq_stack) - 4);
|
||||
+
|
||||
+// __show_regs(®s);
|
||||
+ set_fiq_regs(®s);
|
||||
+
|
||||
|
||||
+ //Set the mphi periph to the required registers
|
||||
+ dwc_otg_hcd->fiq_state->mphi_regs.base = otg_dev->os_dep.mphi_base;
|
||||
+ dwc_otg_hcd->fiq_state->mphi_regs.ctrl = otg_dev->os_dep.mphi_base + 0x4c;
|
||||
|
@ -130,6 +128,3 @@ index 98e1dc5..4d8dd95 100644
|
|||
|
||||
|
||||
otg_dev->hcd->otg_dev = otg_dev;
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
49
target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch
Executable file → Normal file
49
target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch
Executable file → Normal file
|
@ -19,11 +19,9 @@ cores.
|
|||
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 9 ++++-
|
||||
6 files changed, 88 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
index 5c50a8b..b802042 100644
|
||||
--- a/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
+++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
|
||||
@@ -580,13 +580,7 @@ void DWC_WRITE_REG64(uint64_t volatile *reg, uint64_t value)
|
||||
@@ -580,13 +580,7 @@ void DWC_WRITE_REG64(uint64_t volatile *
|
||||
|
||||
void DWC_MODIFY_REG32(uint32_t volatile *reg, uint32_t clear_mask, uint32_t set_mask)
|
||||
{
|
||||
|
@ -37,11 +35,9 @@ index 5c50a8b..b802042 100644
|
|||
}
|
||||
|
||||
#if 0
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
|
||||
index 6a32c5c..e40060f 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_cil.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
|
||||
@@ -2244,9 +2244,7 @@ void dwc_otg_core_host_init(dwc_otg_core_if_t * core_if)
|
||||
@@ -2244,9 +2244,7 @@ void dwc_otg_core_host_init(dwc_otg_core
|
||||
*/
|
||||
void dwc_otg_hc_init(dwc_otg_core_if_t * core_if, dwc_hc_t * hc)
|
||||
{
|
||||
|
@ -51,7 +47,7 @@ index 6a32c5c..e40060f 100644
|
|||
hcchar_data_t hcchar;
|
||||
hcsplt_data_t hcsplt;
|
||||
|
||||
@@ -2348,14 +2346,6 @@ void dwc_otg_hc_init(dwc_otg_core_if_t * core_if, dwc_hc_t * hc)
|
||||
@@ -2348,14 +2346,6 @@ void dwc_otg_hc_init(dwc_otg_core_if_t *
|
||||
}
|
||||
DWC_WRITE_REG32(&hc_regs->hcintmsk, hc_intr_mask.d32);
|
||||
|
||||
|
@ -66,11 +62,9 @@ index 6a32c5c..e40060f 100644
|
|||
/*
|
||||
* Program the HCCHARn register with the endpoint characteristics for
|
||||
* the current transfer.
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
index 284f902..84618a5 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
@@ -75,6 +75,46 @@ void notrace _fiq_print(enum fiq_debug_level dbg_lvl, volatile struct fiq_state
|
||||
@@ -75,6 +75,46 @@ void notrace _fiq_print(enum fiq_debug_l
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -117,7 +111,7 @@ index 284f902..84618a5 100644
|
|||
* fiq_fsm_restart_channel() - Poke channel enable bit for a split transaction
|
||||
* @channel: channel to re-enable
|
||||
*/
|
||||
@@ -1142,6 +1182,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_state *state, int num_channels)
|
||||
@@ -1142,6 +1182,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_
|
||||
gintsts_handled.d32 = 0;
|
||||
haint_handled.d32 = 0;
|
||||
|
||||
|
@ -125,7 +119,7 @@ index 284f902..84618a5 100644
|
|||
gintsts.d32 = FIQ_READ(state->dwc_regs_base + GINTSTS);
|
||||
gintmsk.d32 = FIQ_READ(state->dwc_regs_base + GINTMSK);
|
||||
gintsts.d32 &= gintmsk.d32;
|
||||
@@ -1231,7 +1272,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_state *state, int num_channels)
|
||||
@@ -1231,7 +1272,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_
|
||||
|
||||
}
|
||||
state->fiq_done++;
|
||||
|
@ -134,7 +128,7 @@ index 284f902..84618a5 100644
|
|||
}
|
||||
|
||||
|
||||
@@ -1253,6 +1294,7 @@ void notrace dwc_otg_fiq_nop(struct fiq_state *state)
|
||||
@@ -1253,6 +1294,7 @@ void notrace dwc_otg_fiq_nop(struct fiq_
|
||||
gintmsk_data_t gintmsk;
|
||||
hfnum_data_t hfnum;
|
||||
|
||||
|
@ -142,15 +136,13 @@ index 284f902..84618a5 100644
|
|||
hfnum.d32 = FIQ_READ(state->dwc_regs_base + HFNUM);
|
||||
gintsts.d32 = FIQ_READ(state->dwc_regs_base + GINTSTS);
|
||||
gintmsk.d32 = FIQ_READ(state->dwc_regs_base + GINTMSK);
|
||||
@@ -1290,5 +1332,5 @@ void notrace dwc_otg_fiq_nop(struct fiq_state *state)
|
||||
@@ -1290,5 +1332,5 @@ void notrace dwc_otg_fiq_nop(struct fiq_
|
||||
|
||||
}
|
||||
state->fiq_done++;
|
||||
- mb();
|
||||
+ fiq_fsm_spin_unlock(&state->lock);
|
||||
}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
|
||||
index 5c7707f..8455324 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
|
||||
@@ -120,7 +120,6 @@ typedef struct {
|
||||
|
@ -197,11 +189,9 @@ index 5c7707f..8455324 100644
|
|||
extern int fiq_fsm_too_late(struct fiq_state *st, int n);
|
||||
|
||||
extern int fiq_fsm_tt_in_use(struct fiq_state *st, int num_channels, int n);
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
index 68d4f3b..124ac16 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
@@ -1184,6 +1184,9 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -1184,6 +1184,9 @@ static void assign_and_init_hc(dwc_otg_h
|
||||
dwc_otg_qtd_t *qtd;
|
||||
dwc_otg_hcd_urb_t *urb;
|
||||
void* ptr = NULL;
|
||||
|
@ -211,7 +201,7 @@ index 68d4f3b..124ac16 100644
|
|||
|
||||
qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list);
|
||||
|
||||
@@ -1409,6 +1412,20 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
|
||||
@@ -1409,6 +1412,20 @@ static void assign_and_init_hc(dwc_otg_h
|
||||
hc->desc_list_addr = qh->desc_list_dma;
|
||||
|
||||
dwc_otg_hc_init(hcd->core_if, hc);
|
||||
|
@ -232,7 +222,7 @@ index 68d4f3b..124ac16 100644
|
|||
hc->qh = qh;
|
||||
}
|
||||
|
||||
@@ -1659,6 +1676,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1659,6 +1676,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_o
|
||||
fiq_print(FIQDBG_INT, hcd->fiq_state, "%08x", st->hcdma_copy.d32);
|
||||
hfnum.d32 = DWC_READ_REG32(&hcd->core_if->host_if->host_global_regs->hfnum);
|
||||
local_fiq_disable();
|
||||
|
@ -240,7 +230,7 @@ index 68d4f3b..124ac16 100644
|
|||
DWC_WRITE_REG32(&hc_regs->hctsiz, st->hctsiz_copy.d32);
|
||||
DWC_WRITE_REG32(&hc_regs->hcsplt, st->hcsplt_copy.d32);
|
||||
DWC_WRITE_REG32(&hc_regs->hcdma, st->hcdma_copy.d32);
|
||||
@@ -1676,6 +1694,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1676,6 +1694,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_o
|
||||
}
|
||||
mb();
|
||||
st->hcchar_copy.b.chen = 0;
|
||||
|
@ -248,7 +238,7 @@ index 68d4f3b..124ac16 100644
|
|||
local_fiq_enable();
|
||||
return 0;
|
||||
}
|
||||
@@ -1811,7 +1830,7 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1811,7 +1830,7 @@ int fiq_fsm_queue_split_transaction(dwc_
|
||||
DWC_WRITE_REG32(&hc_regs->hcintmsk, st->hcintmsk_copy.d32);
|
||||
|
||||
local_fiq_disable();
|
||||
|
@ -257,7 +247,7 @@ index 68d4f3b..124ac16 100644
|
|||
|
||||
if (hc->ep_type & 0x1) {
|
||||
hfnum.d32 = DWC_READ_REG32(&hcd->core_if->host_if->host_global_regs->hfnum);
|
||||
@@ -1909,7 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1909,7 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_
|
||||
st->hcchar_copy.b.chen = 1;
|
||||
DWC_WRITE_REG32(&hc_regs->hcchar, st->hcchar_copy.d32);
|
||||
}
|
||||
|
@ -266,11 +256,9 @@ index 68d4f3b..124ac16 100644
|
|||
local_fiq_enable();
|
||||
return 0;
|
||||
}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
index a5566bc..ee35196 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
|
||||
@@ -101,6 +101,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -101,6 +101,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
if (dwc_otg_is_host_mode(core_if)) {
|
||||
if (fiq_enable) {
|
||||
local_fiq_disable();
|
||||
|
@ -278,7 +266,7 @@ index a5566bc..ee35196 100644
|
|||
/* Pull in from the FIQ's disabled mask */
|
||||
gintmsk.d32 = gintmsk.d32 | ~(dwc_otg_hcd->fiq_state->gintmsk_saved.d32);
|
||||
dwc_otg_hcd->fiq_state->gintmsk_saved.d32 = ~0;
|
||||
@@ -116,8 +117,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -116,8 +117,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
|
||||
}
|
||||
gintsts.d32 &= gintmsk.d32;
|
||||
|
||||
|
@ -306,7 +294,7 @@ index a5566bc..ee35196 100644
|
|||
local_fiq_enable();
|
||||
|
||||
if ((jiffies / HZ) > last_time) {
|
||||
@@ -633,8 +638,10 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd)
|
||||
@@ -633,8 +638,10 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o
|
||||
{
|
||||
/* check the mask? */
|
||||
local_fiq_disable();
|
||||
|
@ -317,6 +305,3 @@ index a5566bc..ee35196 100644
|
|||
local_fiq_enable();
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch
Executable file → Normal file
|
@ -7,11 +7,9 @@ Subject: [PATCH 093/114] fiq_fsm: fix build on bcm2708 and bcm2709 platforms
|
|||
drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
index 84618a5..0d2b04e 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
@@ -78,6 +78,7 @@ void notrace _fiq_print(enum fiq_debug_level dbg_lvl, volatile struct fiq_state
|
||||
@@ -78,6 +78,7 @@ void notrace _fiq_print(enum fiq_debug_l
|
||||
* fiq_fsm_spin_lock() - ARMv6+ bare bones spinlock
|
||||
* Must be called with local interrupts and FIQ disabled.
|
||||
*/
|
||||
|
@ -19,7 +17,7 @@ index 84618a5..0d2b04e 100644
|
|||
inline void fiq_fsm_spin_lock(fiq_lock_t *lock)
|
||||
{
|
||||
unsigned long tmp;
|
||||
@@ -103,16 +104,23 @@ inline void fiq_fsm_spin_lock(fiq_lock_t *lock)
|
||||
@@ -103,16 +104,23 @@ inline void fiq_fsm_spin_lock(fiq_lock_t
|
||||
}
|
||||
smp_mb();
|
||||
}
|
||||
|
@ -43,6 +41,3 @@ index 84618a5..0d2b04e 100644
|
|||
|
||||
/**
|
||||
* fiq_fsm_restart_channel() - Poke channel enable bit for a split transaction
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
13
target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
Executable file → Normal file
13
target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
Executable file → Normal file
|
@ -9,11 +9,9 @@ Subject: [PATCH 094/114] dwc_otg: put some barriers back where they should be
|
|||
drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
index 0d2b04e..276ad0c7 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
|
||||
@@ -1280,6 +1280,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_state *state, int num_channels)
|
||||
@@ -1280,6 +1280,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_
|
||||
|
||||
}
|
||||
state->fiq_done++;
|
||||
|
@ -21,18 +19,16 @@ index 0d2b04e..276ad0c7 100644
|
|||
fiq_fsm_spin_unlock(&state->lock);
|
||||
}
|
||||
|
||||
@@ -1340,5 +1341,6 @@ void notrace dwc_otg_fiq_nop(struct fiq_state *state)
|
||||
@@ -1340,5 +1341,6 @@ void notrace dwc_otg_fiq_nop(struct fiq_
|
||||
|
||||
}
|
||||
state->fiq_done++;
|
||||
+ mb();
|
||||
fiq_fsm_spin_unlock(&state->lock);
|
||||
}
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
index 124ac16..ac70f1d 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
|
||||
@@ -1928,6 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
|
||||
@@ -1928,6 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_
|
||||
st->hcchar_copy.b.chen = 1;
|
||||
DWC_WRITE_REG32(&hc_regs->hcchar, st->hcchar_copy.d32);
|
||||
}
|
||||
|
@ -40,6 +36,3 @@ index 124ac16..ac70f1d 100644
|
|||
fiq_fsm_spin_unlock(&hcd->fiq_state->lock);
|
||||
local_fiq_enable();
|
||||
return 0;
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
7
target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch
Executable file → Normal file
7
target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch
Executable file → Normal file
|
@ -7,11 +7,9 @@ Subject: [PATCH 095/114] mach_bcm2709: Add Mailbox resources to USB driver
|
|||
arch/arm/mach-bcm2709/bcm2709.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
index a1058ad..5d73b73 100644
|
||||
--- a/arch/arm/mach-bcm2709/bcm2709.c
|
||||
+++ b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
@@ -338,6 +338,16 @@ static struct resource bcm2708_usb_resources[] = {
|
||||
@@ -338,6 +338,16 @@ static struct resource bcm2708_usb_resou
|
||||
.end = IRQ_USB,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
|
@ -28,6 +26,3 @@ index a1058ad..5d73b73 100644
|
|||
};
|
||||
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch
Executable file → Normal file
|
@ -9,11 +9,9 @@ Subject: [PATCH 096/114] bcm2709/dwc_otg: Setup FIQ on core 1 if >1 core
|
|||
drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 15 +++++++++++----
|
||||
2 files changed, 20 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2709/armctrl.c b/arch/arm/mach-bcm2709/armctrl.c
|
||||
index 8e69a813..6e3f0f2 100644
|
||||
--- a/arch/arm/mach-bcm2709/armctrl.c
|
||||
+++ b/arch/arm/mach-bcm2709/armctrl.c
|
||||
@@ -89,7 +89,15 @@ static void armctrl_unmask_irq(struct irq_data *d)
|
||||
@@ -89,7 +89,15 @@ static void armctrl_unmask_irq(struct ir
|
||||
};
|
||||
int i;
|
||||
if (d->irq >= FIQ_START) {
|
||||
|
@ -30,8 +28,6 @@ index 8e69a813..6e3f0f2 100644
|
|||
writel(0x80 | data, __io_address(ARM_IRQ_FAST));
|
||||
} else if (d->irq >= IRQ_ARM_LOCAL_CNTPSIRQ && d->irq < IRQ_ARM_LOCAL_CNTPSIRQ + 4) {
|
||||
#if 1
|
||||
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
index 4d8dd95..1d28459 100644
|
||||
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
||||
@@ -407,7 +407,9 @@ static void hcd_init_fiq(void *cookie)
|
||||
|
@ -63,6 +59,3 @@ index 4d8dd95..1d28459 100644
|
|||
|
||||
otg_dev->hcd->otg_dev = otg_dev;
|
||||
hcd->self.otg_port = dwc_otg_hcd_otg_port(dwc_otg_hcd);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
9
target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch
Executable file → Normal file
9
target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 097/114] bcm2709: Port pps-gpio and i2c patches
|
|||
arch/arm/mach-bcm2709/bcm2709.c | 41 +++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 39 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
index 5d73b73..f009aeb 100644
|
||||
--- a/arch/arm/mach-bcm2709/bcm2709.c
|
||||
+++ b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
@@ -37,6 +37,7 @@
|
||||
|
@ -28,7 +26,7 @@ index 5d73b73..f009aeb 100644
|
|||
|
||||
static unsigned use_dt = 0;
|
||||
|
||||
@@ -283,6 +286,19 @@ static struct platform_device w1_device = {
|
||||
@@ -283,6 +286,19 @@ static struct platform_device w1_device
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -83,7 +81,7 @@ index 5d73b73..f009aeb 100644
|
|||
|
||||
#if defined(CONFIG_SND_BCM2708_SOC_I2S) || defined(CONFIG_SND_BCM2708_SOC_I2S_MODULE)
|
||||
bcm_register_device_dt(&bcm2708_i2s_device);
|
||||
@@ -1245,3 +1278,7 @@ module_param(disk_led_active_low, uint, 0644);
|
||||
@@ -1245,3 +1278,7 @@ module_param(disk_led_active_low, uint,
|
||||
module_param(reboot_part, uint, 0644);
|
||||
module_param(w1_gpio_pin, uint, 0644);
|
||||
module_param(w1_gpio_pullup, uint, 0644);
|
||||
|
@ -91,6 +89,3 @@ index 5d73b73..f009aeb 100644
|
|||
+MODULE_PARM_DESC(pps_gpio_pin, "Set GPIO pin to reserve for PPS");
|
||||
+module_param(vc_i2c_override, bool, 0644);
|
||||
+MODULE_PARM_DESC(vc_i2c_override, "Allow the use of VC's I2C peripheral.");
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 098/114] bcm2709: Also accept the 2708 machine ID
|
|||
arch/arm/mach-bcm2709/bcm2709.c | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
index f009aeb..7e3affd 100644
|
||||
--- a/arch/arm/mach-bcm2709/bcm2709.c
|
||||
+++ b/arch/arm/mach-bcm2709/bcm2709.c
|
||||
@@ -1270,6 +1270,19 @@ MACHINE_START(BCM2709, "BCM2709")
|
||||
|
@ -31,6 +29,3 @@ index f009aeb..7e3affd 100644
|
|||
module_param(boardrev, uint, 0644);
|
||||
module_param(serial, uint, 0644);
|
||||
module_param(uart_clock, uint, 0644);
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
5
target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch
Executable file → Normal file
5
target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch
Executable file → Normal file
|
@ -7,8 +7,6 @@ Subject: [PATCH 099/114] BCM2709_DT: Fix bad merge
|
|||
arch/arm/boot/dts/Makefile | 25 +++++++++++++------------
|
||||
1 file changed, 13 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 605ed38..8f76444 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -63,18 +63,19 @@ ifeq ($(CONFIG_BCM2709_DT),y)
|
||||
|
@ -43,6 +41,3 @@ index 605ed38..8f76444 100644
|
|||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
11
target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch
Executable file → Normal file
11
target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch
Executable file → Normal file
|
@ -8,11 +8,9 @@ Some code to load the driver based on device-tree-overlays was missing. This is
|
|||
sound/soc/bcm/hifiberry_amp.c | 21 +++++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/bcm/hifiberry_amp.c b/sound/soc/bcm/hifiberry_amp.c
|
||||
index 1e87ee0..5903915 100644
|
||||
--- a/sound/soc/bcm/hifiberry_amp.c
|
||||
+++ b/sound/soc/bcm/hifiberry_amp.c
|
||||
@@ -65,6 +65,12 @@ static struct snd_soc_card snd_rpi_hifiberry_amp = {
|
||||
@@ -65,6 +65,12 @@ static struct snd_soc_card snd_rpi_hifib
|
||||
.num_links = ARRAY_SIZE(snd_rpi_hifiberry_amp_dai),
|
||||
};
|
||||
|
||||
|
@ -25,7 +23,7 @@ index 1e87ee0..5903915 100644
|
|||
|
||||
static int snd_rpi_hifiberry_amp_probe(struct platform_device *pdev)
|
||||
{
|
||||
@@ -72,6 +78,20 @@ static int snd_rpi_hifiberry_amp_probe(struct platform_device *pdev)
|
||||
@@ -72,6 +78,20 @@ static int snd_rpi_hifiberry_amp_probe(s
|
||||
|
||||
snd_rpi_hifiberry_amp.dev = &pdev->dev;
|
||||
|
||||
|
@ -46,7 +44,7 @@ index 1e87ee0..5903915 100644
|
|||
ret = snd_soc_register_card(&snd_rpi_hifiberry_amp);
|
||||
|
||||
if (ret != 0) {
|
||||
@@ -92,6 +112,7 @@ static struct platform_driver snd_rpi_hifiberry_amp_driver = {
|
||||
@@ -92,6 +112,7 @@ static struct platform_driver snd_rpi_hi
|
||||
.driver = {
|
||||
.name = "snd-hifiberry-amp",
|
||||
.owner = THIS_MODULE,
|
||||
|
@ -54,6 +52,3 @@ index 1e87ee0..5903915 100644
|
|||
},
|
||||
.probe = snd_rpi_hifiberry_amp_probe,
|
||||
.remove = snd_rpi_hifiberry_amp_remove,
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue