Skip to content

Commit 54c4901

Browse files
committed
Merge tag 'arc-5.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
Pull ARC updates from Vineet Gupta: - unaligned access support for HS cores - Removed extra memory barrier around spinlock code - HSDK platform updates: enable dmac, reset - some more boot logging updates - misc minor fixes * tag 'arc-5.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: arch: arc: Kconfig: pedantic formatting ARCv2: spinlock: remove the extra smp_mb before lock, after unlock ARC: unaligned: relax the check for gcc supporting -mno-unaligned-access ARC: boot log: cut down on verbosity ARCv2: boot log: refurbish HS core/release identification arc: hsdk_defconfig: Enable CONFIG_BLK_DEV_RAM ARC: u-boot args: check that magic number is correct ARC: perf: bpok condition only exists for ARCompact ARCv2: Add explcit unaligned access support (and ability to disable too) ARCv2: lib: introduce memcpy optimized for unaligned access ARC: [plat-hsdk]: Enable AXI DW DMAC support ARC: [plat-hsdk]: Add reset controller handle to manage USB reset ARC: DTB: [scripted] fix node name and address spelling
2 parents babf09c + 9a18b5a commit 54c4901

27 files changed

+399
-314
lines changed

arch/arc/Kconfig

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,11 @@ config ARC_CPU_770
144144
Support for ARC770 core introduced with Rel 4.10 (Summer 2011)
145145
This core has a bunch of cool new features:
146146
-MMU-v3: Variable Page Sz (4k, 8k, 16k), bigger J-TLB (128x4)
147-
Shared Address Spaces (for sharing TLB entries in MMU)
147+
Shared Address Spaces (for sharing TLB entries in MMU)
148148
-Caches: New Prog Model, Region Flush
149149
-Insns: endian swap, load-locked/store-conditional, time-stamp-ctr
150150

151-
endif #ISA_ARCOMPACT
151+
endif #ISA_ARCOMPACT
152152

153153
config ARC_CPU_HS
154154
bool "ARC-HS"
@@ -198,7 +198,7 @@ config ARC_SMP_HALT_ON_RESET
198198
at designated entry point. For other case, all jump to common
199199
entry point and spin wait for Master's signal.
200200

201-
endif #SMP
201+
endif #SMP
202202

203203
config ARC_MCIP
204204
bool "ARConnect Multicore IP (MCIP) Support "
@@ -249,7 +249,7 @@ config ARC_CACHE_VIPT_ALIASING
249249
bool "Support VIPT Aliasing D$"
250250
depends on ARC_HAS_DCACHE && ISA_ARCOMPACT
251251

252-
endif #ARC_CACHE
252+
endif #ARC_CACHE
253253

254254
config ARC_HAS_ICCM
255255
bool "Use ICCM"
@@ -370,7 +370,7 @@ config ARC_FPU_SAVE_RESTORE
370370
based on actual usage of FPU by a task. Thus our implemn does
371371
this for all tasks in system.
372372

373-
endif #ISA_ARCOMPACT
373+
endif #ISA_ARCOMPACT
374374

375375
config ARC_CANT_LLSC
376376
def_bool n
@@ -386,6 +386,15 @@ config ARC_HAS_SWAPE
386386

387387
if ISA_ARCV2
388388

389+
config ARC_USE_UNALIGNED_MEM_ACCESS
390+
bool "Enable unaligned access in HW"
391+
default y
392+
select HAVE_EFFICIENT_UNALIGNED_ACCESS
393+
help
394+
The ARC HS architecture supports unaligned memory access
395+
which is disabled by default. Enable unaligned access in
396+
hardware and use software to use it
397+
389398
config ARC_HAS_LL64
390399
bool "Insn: 64bit LDD/STD"
391400
help
@@ -414,7 +423,7 @@ config ARC_IRQ_NO_AUTOSAVE
414423
This is programmable and can be optionally disabled in which case
415424
software INTERRUPT_PROLOGUE/EPILGUE do the needed work
416425

417-
endif # ISA_ARCV2
426+
endif # ISA_ARCV2
418427

419428
endmenu # "ARC CPU Configuration"
420429

arch/arc/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ cflags-$(CONFIG_ARC_HAS_SWAPE) += -mswape
2828

2929
ifdef CONFIG_ISA_ARCV2
3030

31+
ifdef CONFIG_ARC_USE_UNALIGNED_MEM_ACCESS
32+
cflags-y += -munaligned-access
33+
else
34+
cflags-y += -mno-unaligned-access
35+
endif
36+
3137
ifndef CONFIG_ARC_HAS_LL64
3238
cflags-y += -mno-ll64
3339
endif

arch/arc/boot/dts/abilis_tb100.dtsi

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
clock-div = <6>;
3939
};
4040

41-
iomux: iomux@FF10601c {
41+
iomux: iomux@ff10601c {
4242
/* Port 1 */
4343
pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */
4444
abilis,function = "mis0";
@@ -162,182 +162,182 @@
162162
};
163163
};
164164

165-
gpioa: gpio@FF140000 {
165+
gpioa: gpio@ff140000 {
166166
compatible = "abilis,tb10x-gpio";
167167
interrupt-controller;
168168
#interrupt-cells = <1>;
169169
interrupt-parent = <&tb10x_ictl>;
170170
interrupts = <27 2>;
171-
reg = <0xFF140000 0x1000>;
171+
reg = <0xff140000 0x1000>;
172172
gpio-controller;
173173
#gpio-cells = <2>;
174174
abilis,ngpio = <3>;
175175
gpio-ranges = <&iomux 0 0 0>;
176176
gpio-ranges-group-names = "gpioa";
177177
};
178-
gpiob: gpio@FF141000 {
178+
gpiob: gpio@ff141000 {
179179
compatible = "abilis,tb10x-gpio";
180180
interrupt-controller;
181181
#interrupt-cells = <1>;
182182
interrupt-parent = <&tb10x_ictl>;
183183
interrupts = <27 2>;
184-
reg = <0xFF141000 0x1000>;
184+
reg = <0xff141000 0x1000>;
185185
gpio-controller;
186186
#gpio-cells = <2>;
187187
abilis,ngpio = <2>;
188188
gpio-ranges = <&iomux 0 0 0>;
189189
gpio-ranges-group-names = "gpiob";
190190
};
191-
gpioc: gpio@FF142000 {
191+
gpioc: gpio@ff142000 {
192192
compatible = "abilis,tb10x-gpio";
193193
interrupt-controller;
194194
#interrupt-cells = <1>;
195195
interrupt-parent = <&tb10x_ictl>;
196196
interrupts = <27 2>;
197-
reg = <0xFF142000 0x1000>;
197+
reg = <0xff142000 0x1000>;
198198
gpio-controller;
199199
#gpio-cells = <2>;
200200
abilis,ngpio = <3>;
201201
gpio-ranges = <&iomux 0 0 0>;
202202
gpio-ranges-group-names = "gpioc";
203203
};
204-
gpiod: gpio@FF143000 {
204+
gpiod: gpio@ff143000 {
205205
compatible = "abilis,tb10x-gpio";
206206
interrupt-controller;
207207
#interrupt-cells = <1>;
208208
interrupt-parent = <&tb10x_ictl>;
209209
interrupts = <27 2>;
210-
reg = <0xFF143000 0x1000>;
210+
reg = <0xff143000 0x1000>;
211211
gpio-controller;
212212
#gpio-cells = <2>;
213213
abilis,ngpio = <2>;
214214
gpio-ranges = <&iomux 0 0 0>;
215215
gpio-ranges-group-names = "gpiod";
216216
};
217-
gpioe: gpio@FF144000 {
217+
gpioe: gpio@ff144000 {
218218
compatible = "abilis,tb10x-gpio";
219219
interrupt-controller;
220220
#interrupt-cells = <1>;
221221
interrupt-parent = <&tb10x_ictl>;
222222
interrupts = <27 2>;
223-
reg = <0xFF144000 0x1000>;
223+
reg = <0xff144000 0x1000>;
224224
gpio-controller;
225225
#gpio-cells = <2>;
226226
abilis,ngpio = <3>;
227227
gpio-ranges = <&iomux 0 0 0>;
228228
gpio-ranges-group-names = "gpioe";
229229
};
230-
gpiof: gpio@FF145000 {
230+
gpiof: gpio@ff145000 {
231231
compatible = "abilis,tb10x-gpio";
232232
interrupt-controller;
233233
#interrupt-cells = <1>;
234234
interrupt-parent = <&tb10x_ictl>;
235235
interrupts = <27 2>;
236-
reg = <0xFF145000 0x1000>;
236+
reg = <0xff145000 0x1000>;
237237
gpio-controller;
238238
#gpio-cells = <2>;
239239
abilis,ngpio = <2>;
240240
gpio-ranges = <&iomux 0 0 0>;
241241
gpio-ranges-group-names = "gpiof";
242242
};
243-
gpiog: gpio@FF146000 {
243+
gpiog: gpio@ff146000 {
244244
compatible = "abilis,tb10x-gpio";
245245
interrupt-controller;
246246
#interrupt-cells = <1>;
247247
interrupt-parent = <&tb10x_ictl>;
248248
interrupts = <27 2>;
249-
reg = <0xFF146000 0x1000>;
249+
reg = <0xff146000 0x1000>;
250250
gpio-controller;
251251
#gpio-cells = <2>;
252252
abilis,ngpio = <3>;
253253
gpio-ranges = <&iomux 0 0 0>;
254254
gpio-ranges-group-names = "gpiog";
255255
};
256-
gpioh: gpio@FF147000 {
256+
gpioh: gpio@ff147000 {
257257
compatible = "abilis,tb10x-gpio";
258258
interrupt-controller;
259259
#interrupt-cells = <1>;
260260
interrupt-parent = <&tb10x_ictl>;
261261
interrupts = <27 2>;
262-
reg = <0xFF147000 0x1000>;
262+
reg = <0xff147000 0x1000>;
263263
gpio-controller;
264264
#gpio-cells = <2>;
265265
abilis,ngpio = <2>;
266266
gpio-ranges = <&iomux 0 0 0>;
267267
gpio-ranges-group-names = "gpioh";
268268
};
269-
gpioi: gpio@FF148000 {
269+
gpioi: gpio@ff148000 {
270270
compatible = "abilis,tb10x-gpio";
271271
interrupt-controller;
272272
#interrupt-cells = <1>;
273273
interrupt-parent = <&tb10x_ictl>;
274274
interrupts = <27 2>;
275-
reg = <0xFF148000 0x1000>;
275+
reg = <0xff148000 0x1000>;
276276
gpio-controller;
277277
#gpio-cells = <2>;
278278
abilis,ngpio = <12>;
279279
gpio-ranges = <&iomux 0 0 0>;
280280
gpio-ranges-group-names = "gpioi";
281281
};
282-
gpioj: gpio@FF149000 {
282+
gpioj: gpio@ff149000 {
283283
compatible = "abilis,tb10x-gpio";
284284
interrupt-controller;
285285
#interrupt-cells = <1>;
286286
interrupt-parent = <&tb10x_ictl>;
287287
interrupts = <27 2>;
288-
reg = <0xFF149000 0x1000>;
288+
reg = <0xff149000 0x1000>;
289289
gpio-controller;
290290
#gpio-cells = <2>;
291291
abilis,ngpio = <32>;
292292
gpio-ranges = <&iomux 0 0 0>;
293293
gpio-ranges-group-names = "gpioj";
294294
};
295-
gpiok: gpio@FF14a000 {
295+
gpiok: gpio@ff14a000 {
296296
compatible = "abilis,tb10x-gpio";
297297
interrupt-controller;
298298
#interrupt-cells = <1>;
299299
interrupt-parent = <&tb10x_ictl>;
300300
interrupts = <27 2>;
301-
reg = <0xFF14A000 0x1000>;
301+
reg = <0xff14a000 0x1000>;
302302
gpio-controller;
303303
#gpio-cells = <2>;
304304
abilis,ngpio = <22>;
305305
gpio-ranges = <&iomux 0 0 0>;
306306
gpio-ranges-group-names = "gpiok";
307307
};
308-
gpiol: gpio@FF14b000 {
308+
gpiol: gpio@ff14b000 {
309309
compatible = "abilis,tb10x-gpio";
310310
interrupt-controller;
311311
#interrupt-cells = <1>;
312312
interrupt-parent = <&tb10x_ictl>;
313313
interrupts = <27 2>;
314-
reg = <0xFF14B000 0x1000>;
314+
reg = <0xff14b000 0x1000>;
315315
gpio-controller;
316316
#gpio-cells = <2>;
317317
abilis,ngpio = <4>;
318318
gpio-ranges = <&iomux 0 0 0>;
319319
gpio-ranges-group-names = "gpiol";
320320
};
321-
gpiom: gpio@FF14c000 {
321+
gpiom: gpio@ff14c000 {
322322
compatible = "abilis,tb10x-gpio";
323323
interrupt-controller;
324324
#interrupt-cells = <1>;
325325
interrupt-parent = <&tb10x_ictl>;
326326
interrupts = <27 2>;
327-
reg = <0xFF14C000 0x1000>;
327+
reg = <0xff14c000 0x1000>;
328328
gpio-controller;
329329
#gpio-cells = <2>;
330330
abilis,ngpio = <4>;
331331
gpio-ranges = <&iomux 0 0 0>;
332332
gpio-ranges-group-names = "gpiom";
333333
};
334-
gpion: gpio@FF14d000 {
334+
gpion: gpio@ff14d000 {
335335
compatible = "abilis,tb10x-gpio";
336336
interrupt-controller;
337337
#interrupt-cells = <1>;
338338
interrupt-parent = <&tb10x_ictl>;
339339
interrupts = <27 2>;
340-
reg = <0xFF14D000 0x1000>;
340+
reg = <0xff14d000 0x1000>;
341341
gpio-controller;
342342
#gpio-cells = <2>;
343343
abilis,ngpio = <5>;

arch/arc/boot/dts/abilis_tb100_dvk.dts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,27 +37,27 @@
3737
};
3838

3939
soc100 {
40-
uart@FF100000 {
40+
uart@ff100000 {
4141
pinctrl-names = "default";
4242
pinctrl-0 = <&pctl_uart0>;
4343
};
44-
ethernet@FE100000 {
44+
ethernet@fe100000 {
4545
phy-mode = "rgmii";
4646
};
4747

48-
i2c0: i2c@FF120000 {
48+
i2c0: i2c@ff120000 {
4949
i2c-sda-hold-time-ns = <432>;
5050
};
51-
i2c1: i2c@FF121000 {
51+
i2c1: i2c@ff121000 {
5252
i2c-sda-hold-time-ns = <432>;
5353
};
54-
i2c2: i2c@FF122000 {
54+
i2c2: i2c@ff122000 {
5555
i2c-sda-hold-time-ns = <432>;
5656
};
57-
i2c3: i2c@FF123000 {
57+
i2c3: i2c@ff123000 {
5858
i2c-sda-hold-time-ns = <432>;
5959
};
60-
i2c4: i2c@FF124000 {
60+
i2c4: i2c@ff124000 {
6161
i2c-sda-hold-time-ns = <432>;
6262
};
6363

0 commit comments

Comments
 (0)