Skip to content

Commit e9d64dd

Browse files
committed
BCM2709: Use upstream interrupt driver
1 parent b49158f commit e9d64dd

File tree

13 files changed

+119
-1448
lines changed

13 files changed

+119
-1448
lines changed

arch/arm/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,9 @@ config ARCH_BCM2709
351351
select ARCH_HAS_CPUFREQ
352352
select GENERIC_CLOCKEVENTS
353353
select MACH_BCM2709
354+
select MULTI_IRQ_HANDLER
355+
select SPARSE_IRQ
356+
select MFD_SYSCON
354357
select VC4
355358
select FIQ
356359
select USE_OF

arch/arm/boot/dts/bcm2709.dtsi

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,44 @@
1010
};
1111

1212
soc {
13-
ranges = <0x7e000000 0x3f000000 0x01000000>;
13+
ranges = <0x7e000000 0x3f000000 0x01000000>,
14+
<0x40000000 0x40000000 0x00040000>;
15+
16+
local_intc: local_intc {
17+
compatible = "brcm,bcm2836-l1-intc";
18+
reg = <0x40000000 0x100>;
19+
interrupt-controller;
20+
#interrupt-cells = <1>;
21+
interrupt-parent = <&local_intc>;
22+
};
1423

1524
arm-pmu {
1625
compatible = "arm,cortex-a7-pmu";
17-
interrupts = <3 9>;
26+
interrupt-parent = <&local_intc>;
27+
interrupts = <9>;
1828
};
1929

2030
gpiomem {
2131
compatible = "brcm,bcm2835-gpiomem";
2232
reg = <0x7e200000 0x1000>;
2333
status = "okay";
2434
};
25-
};
2635

27-
timer {
28-
compatible = "arm,armv7-timer";
29-
clock-frequency = <19200000>;
30-
interrupts = <3 0>, // PHYS_SECURE_PPI
31-
<3 1>, // PHYS_NONSECURE_PPI
32-
<3 3>, // VIRT_PPI
33-
<3 2>; // HYP_PPI
34-
always-on;
36+
timer {
37+
compatible = "arm,armv7-timer";
38+
clock-frequency = <19200000>;
39+
interrupt-parent = <&local_intc>;
40+
interrupts = <0>, // PHYS_SECURE_PPI
41+
<1>, // PHYS_NONSECURE_PPI
42+
<3>, // VIRT_PPI
43+
<2>; // HYP_PPI
44+
always-on;
45+
};
46+
47+
syscon@40000000 {
48+
compatible = "brcm,bcm2836-arm-local", "syscon";
49+
reg = <0x40000000 0x100>;
50+
};
3551
};
3652

3753
cpus: cpus {
@@ -78,3 +94,9 @@
7894
&watchdog {
7995
status = "okay";
8096
};
97+
98+
&intc {
99+
compatible = "brcm,bcm2836-armctrl-ic";
100+
interrupt-parent = <&local_intc>;
101+
interrupts = <8>;
102+
};

arch/arm/mach-bcm2709/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# Makefile for the linux kernel.
33
#
44

5-
obj-$(CONFIG_MACH_BCM2709) += bcm2709.o armctrl.o
5+
obj-$(CONFIG_MACH_BCM2709) += bcm2709.o

0 commit comments

Comments
 (0)