brcm2708: update linux 4.4 patches to latest version
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0180-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch
1 From 37896fb199519698fe090107f60013158738ea4a Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Fri, 13 Mar 2015 20:00:21 +0000
4 Subject: [PATCH 180/304] BCM270X_DT: Add a .dtbo target, use for overlays
5
6 Change the filenames and extensions to keep the pre-DDT style of
7 overlay (<name>-overlay.dtb) distinct from new ones that use a
8 different style of local fixups (<name>.dtbo), and to match other
9 platforms.
10
11 The RPi firmware uses the DDTK trailer atom to choose which type of
12 overlay to use for each kernel.
13
14 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
15 ---
16 arch/arm/boot/.gitignore | 2 +-
17 arch/arm/boot/dts/overlays/Makefile | 135 +++++++++++++++++-------------------
18 scripts/Makefile.lib | 10 +++
19 3 files changed, 76 insertions(+), 71 deletions(-)
20
21 --- a/arch/arm/boot/.gitignore
22 +++ b/arch/arm/boot/.gitignore
23 @@ -3,4 +3,4 @@ zImage
24 xipImage
25 bootpImage
26 uImage
27 -*.dtb
28 +*.dtb*
29 --- a/arch/arm/boot/dts/overlays/Makefile
30 +++ b/arch/arm/boot/dts/overlays/Makefile
31 @@ -12,78 +12,73 @@ ifeq ($(CONFIG_ARCH_BCM2835),y)
32 RPI_DT_OVERLAYS=y
33 endif
34
35 -dtb-$(RPI_DT_OVERLAYS) += ads7846-overlay.dtb
36 -dtb-$(RPI_DT_OVERLAYS) += at86rf233-overlay.dtb
37 -dtb-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor-overlay.dtb
38 -dtb-$(RPI_DT_OVERLAYS) += dwc2-overlay.dtb
39 -dtb-$(RPI_DT_OVERLAYS) += dwc-otg-overlay.dtb
40 -dtb-$(RPI_DT_OVERLAYS) += dht11-overlay.dtb
41 -dtb-$(RPI_DT_OVERLAYS) += enc28j60-overlay.dtb
42 -dtb-$(RPI_DT_OVERLAYS) += gpio-ir-overlay.dtb
43 -dtb-$(RPI_DT_OVERLAYS) += gpio-poweroff-overlay.dtb
44 -dtb-$(RPI_DT_OVERLAYS) += hifiberry-amp-overlay.dtb
45 -dtb-$(RPI_DT_OVERLAYS) += hifiberry-dac-overlay.dtb
46 -dtb-$(RPI_DT_OVERLAYS) += hifiberry-dacplus-overlay.dtb
47 -dtb-$(RPI_DT_OVERLAYS) += hifiberry-digi-overlay.dtb
48 -dtb-$(RPI_DT_OVERLAYS) += hy28a-overlay.dtb
49 -dtb-$(RPI_DT_OVERLAYS) += hy28b-overlay.dtb
50 -dtb-$(RPI_DT_OVERLAYS) += i2c-rtc-overlay.dtb
51 -dtb-$(RPI_DT_OVERLAYS) += i2c-gpio-overlay.dtb
52 -dtb-$(RPI_DT_OVERLAYS) += i2c0-bcm2708-overlay.dtb
53 -dtb-$(RPI_DT_OVERLAYS) += i2c1-bcm2708-overlay.dtb
54 -dtb-$(RPI_DT_OVERLAYS) += i2s-mmap-overlay.dtb
55 -dtb-$(RPI_DT_OVERLAYS) += iqaudio-dac-overlay.dtb
56 -dtb-$(RPI_DT_OVERLAYS) += iqaudio-dacplus-overlay.dtb
57 -dtb-$(RPI_DT_OVERLAYS) += lirc-rpi-overlay.dtb
58 -dtb-$(RPI_DT_OVERLAYS) += mcp2515-can0-overlay.dtb
59 -dtb-$(RPI_DT_OVERLAYS) += mcp2515-can1-overlay.dtb
60 -dtb-$(RPI_DT_OVERLAYS) += mmc-overlay.dtb
61 -dtb-$(RPI_DT_OVERLAYS) += mz61581-overlay.dtb
62 -dtb-$(RPI_DT_OVERLAYS) += pi3-disable-bt-overlay.dtb
63 -dtb-$(RPI_DT_OVERLAYS) += pi3-miniuart-bt-overlay.dtb
64 -dtb-$(RPI_DT_OVERLAYS) += piscreen-overlay.dtb
65 -dtb-$(RPI_DT_OVERLAYS) += piscreen2r-overlay.dtb
66 -dtb-$(RPI_DT_OVERLAYS) += pitft28-capacitive-overlay.dtb
67 -dtb-$(RPI_DT_OVERLAYS) += pitft28-resistive-overlay.dtb
68 -dtb-$(RPI_DT_OVERLAYS) += pps-gpio-overlay.dtb
69 -dtb-$(RPI_DT_OVERLAYS) += pwm-overlay.dtb
70 -dtb-$(RPI_DT_OVERLAYS) += pwm-2chan-overlay.dtb
71 -dtb-$(RPI_DT_OVERLAYS) += raspidac3-overlay.dtb
72 -dtb-$(RPI_DT_OVERLAYS) += rpi-backlight-overlay.dtb
73 -dtb-$(RPI_DT_OVERLAYS) += rpi-dac-overlay.dtb
74 -dtb-$(RPI_DT_OVERLAYS) += rpi-display-overlay.dtb
75 -dtb-$(RPI_DT_OVERLAYS) += rpi-ft5406-overlay.dtb
76 -dtb-$(RPI_DT_OVERLAYS) += rpi-proto-overlay.dtb
77 -dtb-$(RPI_DT_OVERLAYS) += rpi-sense-overlay.dtb
78 -dtb-$(RPI_DT_OVERLAYS) += sdhost-overlay.dtb
79 -dtb-$(RPI_DT_OVERLAYS) += sdio-overlay.dtb
80 -dtb-$(RPI_DT_OVERLAYS) += sdtweak-overlay.dtb
81 -dtb-$(RPI_DT_OVERLAYS) += smi-dev-overlay.dtb
82 -dtb-$(RPI_DT_OVERLAYS) += smi-nand-overlay.dtb
83 -dtb-$(RPI_DT_OVERLAYS) += smi-overlay.dtb
84 -dtb-$(RPI_DT_OVERLAYS) += spi1-1cs-overlay.dtb
85 -dtb-$(RPI_DT_OVERLAYS) += spi1-2cs-overlay.dtb
86 -dtb-$(RPI_DT_OVERLAYS) += spi1-3cs-overlay.dtb
87 -dtb-$(RPI_DT_OVERLAYS) += spi2-1cs-overlay.dtb
88 -dtb-$(RPI_DT_OVERLAYS) += spi2-2cs-overlay.dtb
89 -dtb-$(RPI_DT_OVERLAYS) += spi2-3cs-overlay.dtb
90 -dtb-$(RPI_DT_OVERLAYS) += spi-gpio35-39-overlay.dtb
91 -dtb-$(RPI_DT_OVERLAYS) += tinylcd35-overlay.dtb
92 -dtb-$(RPI_DT_OVERLAYS) += uart1-overlay.dtb
93 -dtb-$(RPI_DT_OVERLAYS) += vc4-kms-v3d-overlay.dtb
94 -dtb-$(RPI_DT_OVERLAYS) += vga666-overlay.dtb
95 -dtb-$(RPI_DT_OVERLAYS) += w1-gpio-overlay.dtb
96 -dtb-$(RPI_DT_OVERLAYS) += w1-gpio-pullup-overlay.dtb
97 +dtbo-$(RPI_DT_OVERLAYS) += ads7846.dtbo
98 +dtbo-$(RPI_DT_OVERLAYS) += at86rf233.dtbo
99 +dtbo-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor.dtbo
100 +dtbo-$(RPI_DT_OVERLAYS) += dwc2.dtbo
101 +dtbo-$(RPI_DT_OVERLAYS) += dwc-otg.dtbo
102 +dtbo-$(RPI_DT_OVERLAYS) += dht11.dtbo
103 +dtbo-$(RPI_DT_OVERLAYS) += enc28j60.dtbo
104 +dtbo-$(RPI_DT_OVERLAYS) += gpio-ir.dtbo
105 +dtbo-$(RPI_DT_OVERLAYS) += gpio-poweroff.dtbo
106 +dtbo-$(RPI_DT_OVERLAYS) += hifiberry-amp.dtbo
107 +dtbo-$(RPI_DT_OVERLAYS) += hifiberry-dac.dtbo
108 +dtbo-$(RPI_DT_OVERLAYS) += hifiberry-dacplus.dtbo
109 +dtbo-$(RPI_DT_OVERLAYS) += hifiberry-digi.dtbo
110 +dtbo-$(RPI_DT_OVERLAYS) += hy28a.dtbo
111 +dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo
112 +dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo
113 +dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo
114 +dtbo-$(RPI_DT_OVERLAYS) += i2c0-bcm2708.dtbo
115 +dtbo-$(RPI_DT_OVERLAYS) += i2c1-bcm2708.dtbo
116 +dtbo-$(RPI_DT_OVERLAYS) += i2s-mmap.dtbo
117 +dtbo-$(RPI_DT_OVERLAYS) += iqaudio-dac.dtbo
118 +dtbo-$(RPI_DT_OVERLAYS) += iqaudio-dacplus.dtbo
119 +dtbo-$(RPI_DT_OVERLAYS) += lirc-rpi.dtbo
120 +dtbo-$(RPI_DT_OVERLAYS) += mcp2515-can0.dtbo
121 +dtbo-$(RPI_DT_OVERLAYS) += mcp2515-can1.dtbo
122 +dtbo-$(RPI_DT_OVERLAYS) += mmc.dtbo
123 +dtbo-$(RPI_DT_OVERLAYS) += mz61581.dtbo
124 +dtbo-$(RPI_DT_OVERLAYS) += pi3-disable-bt.dtbo
125 +dtbo-$(RPI_DT_OVERLAYS) += pi3-miniuart-bt.dtbo
126 +dtbo-$(RPI_DT_OVERLAYS) += piscreen.dtbo
127 +dtbo-$(RPI_DT_OVERLAYS) += piscreen2r.dtbo
128 +dtbo-$(RPI_DT_OVERLAYS) += pitft28-capacitive.dtbo
129 +dtbo-$(RPI_DT_OVERLAYS) += pitft28-resistive.dtbo
130 +dtbo-$(RPI_DT_OVERLAYS) += pps-gpio.dtbo
131 +dtbo-$(RPI_DT_OVERLAYS) += pwm.dtbo
132 +dtbo-$(RPI_DT_OVERLAYS) += pwm-2chan.dtbo
133 +dtbo-$(RPI_DT_OVERLAYS) += raspidac3.dtbo
134 +dtbo-$(RPI_DT_OVERLAYS) += rpi-backlight.dtbo
135 +dtbo-$(RPI_DT_OVERLAYS) += rpi-dac.dtbo
136 +dtbo-$(RPI_DT_OVERLAYS) += rpi-display.dtbo
137 +dtbo-$(RPI_DT_OVERLAYS) += rpi-ft5406.dtbo
138 +dtbo-$(RPI_DT_OVERLAYS) += rpi-proto.dtbo
139 +dtbo-$(RPI_DT_OVERLAYS) += rpi-sense.dtbo
140 +dtbo-$(RPI_DT_OVERLAYS) += sdhost.dtbo
141 +dtbo-$(RPI_DT_OVERLAYS) += sdio.dtbo
142 +dtbo-$(RPI_DT_OVERLAYS) += sdtweak.dtbo
143 +dtbo-$(RPI_DT_OVERLAYS) += smi-dev.dtbo
144 +dtbo-$(RPI_DT_OVERLAYS) += smi-nand.dtbo
145 +dtbo-$(RPI_DT_OVERLAYS) += smi.dtbo
146 +dtbo-$(RPI_DT_OVERLAYS) += spi1-1cs.dtbo
147 +dtbo-$(RPI_DT_OVERLAYS) += spi1-2cs.dtbo
148 +dtbo-$(RPI_DT_OVERLAYS) += spi1-3cs.dtbo
149 +dtbo-$(RPI_DT_OVERLAYS) += spi2-1cs.dtbo
150 +dtbo-$(RPI_DT_OVERLAYS) += spi2-2cs.dtbo
151 +dtbo-$(RPI_DT_OVERLAYS) += spi2-3cs.dtbo
152 +dtbo-$(RPI_DT_OVERLAYS) += spi-gpio35-39.dtbo
153 +dtbo-$(RPI_DT_OVERLAYS) += tinylcd35.dtbo
154 +dtbo-$(RPI_DT_OVERLAYS) += uart1.dtbo
155 +dtbo-$(RPI_DT_OVERLAYS) += vc4-kms-v3d.dtbo
156 +dtbo-$(RPI_DT_OVERLAYS) += vga666.dtbo
157 +dtbo-$(RPI_DT_OVERLAYS) += w1-gpio.dtbo
158 +dtbo-$(RPI_DT_OVERLAYS) += w1-gpio-pullup.dtbo
159
160 targets += dtbs dtbs_install
161 -targets += $(dtb-y)
162 +targets += $(dtbo-y)
163
164 endif
165
166 -always := $(dtb-y)
167 -clean-files := *.dtb
168 -
169 -# Enable fixups to support overlays on BCM2708 platforms
170 -ifeq ($(RPI_DT_OVERLAYS),y)
171 - DTC_FLAGS ?= -@
172 -endif
173 +always := $(dtbo-y)
174 +clean-files := *.dtbo
175 --- a/scripts/Makefile.lib
176 +++ b/scripts/Makefile.lib
177 @@ -292,6 +292,16 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
178 $(obj)/%.dtb: $(src)/%.dts FORCE
179 $(call if_changed_dep,dtc)
180
181 +quiet_cmd_dtco = DTCO $@
182 +cmd_dtco = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
183 + $(objtree)/scripts/dtc/dtc -@ -O dtb -o $@ -b 0 \
184 + -i $(dir $<) $(DTC_FLAGS) \
185 + -d $(depfile).dtc.tmp $(dtc-tmp) ; \
186 + cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
187 +
188 +$(obj)/%.dtbo: $(src)/%-overlay.dts FORCE
189 + $(call if_changed_dep,dtco)
190 +
191 dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
192
193 # Bzip2