linux: update RPi patches

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-09-25 19:28:52 +02:00
parent 70ba4be08d
commit 2a2f37bd4c

View File

@ -2674,10 +2674,10 @@ index 0000000..0aa916e
+#endif
diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
new file mode 100644
index 0000000..72dcf31
index 0000000..c9d6bd1
--- /dev/null
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -0,0 +1,867 @@
@@ -0,0 +1,897 @@
+/*
+ * linux/arch/arm/mach-bcm2708/bcm2708.c
+ *
@ -3539,6 +3539,36 @@ index 0000000..72dcf31
+}
+#endif
+
+
+/* The assembly versions in delay.S don't account for core freq changing in cpufreq driver */
+/* Use 1MHz system timer for busy waiting */
+void __udelay(unsigned long usecs)
+{
+ unsigned long start = readl(__io_address(ST_BASE + 0x04));
+ unsigned long now;
+ do {
+ now = readl(__io_address(ST_BASE + 0x04));
+ } while ((long)(now - start) <= usecs);
+}
+
+
+void __const_udelay(unsigned long scaled_usecs)
+{
+ /* want /107374, this is about 3% bigger. We know usecs is less than 2000, so shouldn't overflow */
+ const unsigned long usecs = scaled_usecs * 10 >> 20;
+ unsigned long start = readl(__io_address(ST_BASE + 0x04));
+ unsigned long now;
+ do {
+ now = readl(__io_address(ST_BASE + 0x04));
+ } while ((long)(now - start) <= usecs);
+}
+
+void __delay(int loops)
+{
+ while (--loops > 0)
+ nop();
+}
+
+MACHINE_START(BCM2708, "BCM2708")
+ /* Maintainer: Broadcom Europe Ltd. */
+ .map_io = bcm2708_map_io,.init_irq = bcm2708_init_irq,.timer =