Skip to content

Commit ce5bc4e

Browse files
committed
2 parents 5510c5f + a8bf86a commit ce5bc4e

136 files changed

Lines changed: 6414 additions & 5896 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 4
33
PATCHLEVEL = 19
4-
SUBLEVEL = 324
4+
SUBLEVEL = 325
55
EXTRAVERSION =
66
NAME = "People's Front"
77

arch/arm/boot/dts/sun9i-a80-cubieboard4.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,8 @@
253253

254254
reg_dcdc5: dcdc5 {
255255
regulator-always-on;
256-
regulator-min-microvolt = <1425000>;
257-
regulator-max-microvolt = <1575000>;
256+
regulator-min-microvolt = <1450000>;
257+
regulator-max-microvolt = <1550000>;
258258
regulator-name = "vcc-dram";
259259
};
260260

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/adi,axi-clkgen.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Binding for Analog Devices AXI clkgen pcore clock generator
8+
9+
maintainers:
10+
- Lars-Peter Clausen <lars@metafoo.de>
11+
- Michael Hennerich <michael.hennerich@analog.com>
12+
13+
description: |
14+
The axi_clkgen IP core is a software programmable clock generator,
15+
that can be synthesized on various FPGA platforms.
16+
17+
Link: https://wiki.analog.com/resources/fpga/docs/axi_clkgen
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- adi,axi-clkgen-2.00.a
23+
24+
clocks:
25+
description:
26+
Specifies the reference clock(s) from which the output frequency is
27+
derived. This must either reference one clock if only the first clock
28+
input is connected or two if both clock inputs are connected. The last
29+
clock is the AXI bus clock that needs to be enabled so we can access the
30+
core registers.
31+
minItems: 2
32+
maxItems: 3
33+
34+
clock-names:
35+
oneOf:
36+
- items:
37+
- const: clkin1
38+
- const: s_axi_aclk
39+
- items:
40+
- const: clkin1
41+
- const: clkin2
42+
- const: s_axi_aclk
43+
44+
'#clock-cells':
45+
const: 0
46+
47+
reg:
48+
maxItems: 1
49+
50+
required:
51+
- compatible
52+
- reg
53+
- clocks
54+
- clock-names
55+
- '#clock-cells'
56+
57+
additionalProperties: false
58+
59+
examples:
60+
- |
61+
clock-controller@ff000000 {
62+
compatible = "adi,axi-clkgen-2.00.a";
63+
#clock-cells = <0>;
64+
reg = <0xff000000 0x1000>;
65+
clocks = <&osc 1>, <&clkc 15>;
66+
clock-names = "clkin1", "s_axi_aclk";
67+
};

arch/arm64/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ static void tls_thread_switch(struct task_struct *next)
466466

467467
if (is_compat_thread(task_thread_info(next)))
468468
write_sysreg(next->thread.uw.tp_value, tpidrro_el0);
469-
else if (!arm64_kernel_unmapped_at_el0())
469+
else
470470
write_sysreg(0, tpidrro_el0);
471471

472472
write_sysreg(*task_user_tls(next), tpidr_el0);

arch/m68k/coldfire/device.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ static struct platform_device mcf_uart = {
8989
.dev.platform_data = mcf_uart_platform_data,
9090
};
9191

92-
#if IS_ENABLED(CONFIG_FEC)
92+
#ifdef MCFFEC_BASE0
9393

9494
#ifdef CONFIG_M5441x
9595
#define FEC_NAME "enet-fec"
@@ -141,6 +141,7 @@ static struct platform_device mcf_fec0 = {
141141
.platform_data = FEC_PDATA,
142142
}
143143
};
144+
#endif /* MCFFEC_BASE0 */
144145

145146
#ifdef MCFFEC_BASE1
146147
static struct resource mcf_fec1_resources[] = {
@@ -178,7 +179,6 @@ static struct platform_device mcf_fec1 = {
178179
}
179180
};
180181
#endif /* MCFFEC_BASE1 */
181-
#endif /* CONFIG_FEC */
182182

183183
#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)
184184
/*
@@ -478,12 +478,12 @@ static struct platform_device mcf_i2c5 = {
478478

479479
static struct platform_device *mcf_devices[] __initdata = {
480480
&mcf_uart,
481-
#if IS_ENABLED(CONFIG_FEC)
481+
#ifdef MCFFEC_BASE0
482482
&mcf_fec0,
483+
#endif
483484
#ifdef MCFFEC_BASE1
484485
&mcf_fec1,
485486
#endif
486-
#endif
487487
#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)
488488
&mcf_qspi,
489489
#endif

arch/m68k/include/asm/mcfgpio.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ static inline void gpio_free(unsigned gpio)
152152
* read-modify-write as well as those controlled by the EPORT and GPIO modules.
153153
*/
154154
#define MCFGPIO_SCR_START 40
155-
#elif defined(CONFIGM5441x)
155+
#elif defined(CONFIG_M5441x)
156156
/* The m5441x EPORT doesn't have its own GPIO port, uses PORT C */
157157
#define MCFGPIO_SCR_START 0
158158
#else

arch/m68k/include/asm/mvme147hw.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ struct pcc_regs {
9090
#define M147_SCC_B_ADDR 0xfffe3000
9191
#define M147_SCC_PCLK 5000000
9292

93-
#define MVME147_IRQ_SCSI_PORT (IRQ_USER+0x45)
94-
#define MVME147_IRQ_SCSI_DMA (IRQ_USER+0x46)
93+
#define MVME147_IRQ_SCSI_PORT (IRQ_USER + 5)
94+
#define MVME147_IRQ_SCSI_DMA (IRQ_USER + 6)
9595

9696
/* SCC interrupts, for MVME147 */
9797

arch/m68k/kernel/early_printk.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
#include <linux/string.h>
1313
#include <asm/setup.h>
1414

15-
extern void mvme16x_cons_write(struct console *co,
16-
const char *str, unsigned count);
15+
16+
#include "../mvme147/mvme147.h"
17+
#include "../mvme16x/mvme16x.h"
1718

1819
asmlinkage void __init debug_cons_nputs(const char *s, unsigned n);
1920

@@ -22,7 +23,9 @@ static void __ref debug_cons_write(struct console *c,
2223
{
2324
#if !(defined(CONFIG_SUN3) || defined(CONFIG_M68000) || \
2425
defined(CONFIG_COLDFIRE))
25-
if (MACH_IS_MVME16x)
26+
if (MACH_IS_MVME147)
27+
mvme147_scc_write(c, s, n);
28+
else if (MACH_IS_MVME16x)
2629
mvme16x_cons_write(c, s, n);
2730
else
2831
debug_cons_nputs(s, n);

arch/m68k/mvme147/config.c

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <asm/machdep.h>
3636
#include <asm/mvme147hw.h>
3737

38+
#include "mvme147.h"
3839

3940
static void mvme147_get_model(char *model);
4041
extern void mvme147_sched_init(irq_handler_t handler);
@@ -164,3 +165,32 @@ int mvme147_hwclk(int op, struct rtc_time *t)
164165
}
165166
return 0;
166167
}
168+
169+
static void scc_delay(void)
170+
{
171+
__asm__ __volatile__ ("nop; nop;");
172+
}
173+
174+
static void scc_write(char ch)
175+
{
176+
do {
177+
scc_delay();
178+
} while (!(in_8(M147_SCC_A_ADDR) & BIT(2)));
179+
scc_delay();
180+
out_8(M147_SCC_A_ADDR, 8);
181+
scc_delay();
182+
out_8(M147_SCC_A_ADDR, ch);
183+
}
184+
185+
void mvme147_scc_write(struct console *co, const char *str, unsigned int count)
186+
{
187+
unsigned long flags;
188+
189+
local_irq_save(flags);
190+
while (count--) {
191+
if (*str == '\n')
192+
scc_write('\r');
193+
scc_write(*str++);
194+
}
195+
local_irq_restore(flags);
196+
}

arch/m68k/mvme147/mvme147.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/* SPDX-License-Identifier: GPL-2.0-only */
2+
3+
struct console;
4+
5+
/* config.c */
6+
void mvme147_scc_write(struct console *co, const char *str, unsigned int count);

0 commit comments

Comments
 (0)