Skip to content

Commit 52af010

Browse files
committed
Merge branch 'master' into next
Merge in v2022.07-rc5.
2 parents 78533a1 + 568a226 commit 52af010

File tree

86 files changed

+2051
-216
lines changed

Some content is hidden

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

86 files changed

+2051
-216
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*.asn1.[ch]
1111
*.bin
1212
*.cfgout
13+
*.cover
1314
*.dtb
1415
*.dtbo
1516
*.dtb.S
@@ -22,6 +23,7 @@
2223
*.lex.c
2324
*.lst
2425
*.mod.c
26+
*.mbx
2527
*.o
2628
*.o.*
2729
*.order

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
VERSION = 2022
44
PATCHLEVEL = 07
55
SUBLEVEL =
6-
EXTRAVERSION = -rc4
6+
EXTRAVERSION = -rc5
77
NAME =
88

99
# *DOCUMENTATION*

arch/arm/cpu/armv8/cache_v8.c

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,28 @@ DECLARE_GLOBAL_DATA_PTR;
3939
* off: FFF
4040
*/
4141

42-
u64 get_tcr(int el, u64 *pips, u64 *pva_bits)
42+
static int get_effective_el(void)
4343
{
44+
int el = current_el();
45+
46+
if (el == 2) {
47+
u64 hcr_el2;
48+
49+
/*
50+
* If we are using the EL2&0 translation regime, the TCR_EL2
51+
* looks like the EL1 version, even though we are in EL2.
52+
*/
53+
__asm__ ("mrs %0, HCR_EL2\n" : "=r" (hcr_el2));
54+
if (hcr_el2 & BIT(HCR_EL2_E2H_BIT))
55+
return 1;
56+
}
57+
58+
return el;
59+
}
60+
61+
u64 get_tcr(u64 *pips, u64 *pva_bits)
62+
{
63+
int el = get_effective_el();
4464
u64 max_addr = 0;
4565
u64 ips, va_bits;
4666
u64 tcr;
@@ -115,7 +135,7 @@ static u64 *find_pte(u64 addr, int level)
115135

116136
debug("addr=%llx level=%d\n", addr, level);
117137

118-
get_tcr(0, NULL, &va_bits);
138+
get_tcr(NULL, &va_bits);
119139
if (va_bits < 39)
120140
start_level = 1;
121141

@@ -343,7 +363,7 @@ __weak u64 get_page_table_size(void)
343363
u64 va_bits;
344364
int start_level = 0;
345365

346-
get_tcr(0, NULL, &va_bits);
366+
get_tcr(NULL, &va_bits);
347367
if (va_bits < 39)
348368
start_level = 1;
349369

@@ -415,7 +435,7 @@ __weak void mmu_setup(void)
415435
setup_all_pgtables();
416436

417437
el = current_el();
418-
set_ttbr_tcr_mair(el, gd->arch.tlb_addr, get_tcr(el, NULL, NULL),
438+
set_ttbr_tcr_mair(el, gd->arch.tlb_addr, get_tcr(NULL, NULL),
419439
MEMORY_ATTRIBUTES);
420440

421441
/* enable the mmu */

arch/arm/cpu/armv8/fsl-layerscape/cpu.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ static inline void early_mmu_setup(void)
454454

455455
/* point TTBR to the new table */
456456
set_ttbr_tcr_mair(el, gd->arch.tlb_addr,
457-
get_tcr(el, NULL, NULL) &
457+
get_tcr(NULL, NULL) &
458458
~(TCR_ORGN_MASK | TCR_IRGN_MASK),
459459
MEMORY_ATTRIBUTES);
460460

@@ -609,7 +609,7 @@ static inline void final_mmu_setup(void)
609609
invalidate_icache_all();
610610

611611
/* point TTBR to the new table */
612-
set_ttbr_tcr_mair(el, gd->arch.tlb_addr, get_tcr(el, NULL, NULL),
612+
set_ttbr_tcr_mair(el, gd->arch.tlb_addr, get_tcr(NULL, NULL),
613613
MEMORY_ATTRIBUTES);
614614

615615
set_sctlr(get_sctlr() | CR_M);

arch/arm/cpu/armv8/start.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ pie_fixup_done:
125125
msr cptr_el3, xzr /* Enable FP/SIMD */
126126
b 0f
127127
2: mrs x1, hcr_el2
128-
tbnz x1, #34, 1f /* HCR_EL2.E2H */
128+
tbnz x1, #HCR_EL2_E2H_BIT, 1f /* HCR_EL2.E2H */
129129
orr x1, x1, #HCR_EL2_AMO_EL2 /* Route SErrors to EL2 */
130130
msr hcr_el2, x1
131131
set_vbar vbar_el2, x0

arch/arm/dts/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1178,7 +1178,8 @@ dtb-$(CONFIG_STM32MP15x) += \
11781178
stm32mp15xx-dhcom-drc02.dtb \
11791179
stm32mp15xx-dhcom-pdk2.dtb \
11801180
stm32mp15xx-dhcom-picoitx.dtb \
1181-
stm32mp15xx-dhcor-avenger96.dtb
1181+
stm32mp15xx-dhcor-avenger96.dtb \
1182+
stm32mp15xx-dhcor-drc-compact.dtb
11821183

11831184
dtb-$(CONFIG_SOC_K3_AM6) += \
11841185
k3-am654-base-board.dtb \

arch/arm/dts/imx6qdl-sr-som.dtsi

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,13 @@
5555
pinctrl-0 = <&pinctrl_microsom_enet_ar8035>;
5656
phy-handle = <&phy>;
5757
phy-mode = "rgmii-id";
58-
phy-reset-duration = <2>;
58+
59+
/*
60+
* The PHY seems to require a long-enough reset duration to avoid
61+
* some rare issues where the PHY gets stuck in an inconsistent and
62+
* non-functional state at boot-up. 10ms proved to be fine .
63+
*/
64+
phy-reset-duration = <10>;
5965
phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
6066
status = "okay";
6167

@@ -64,8 +70,15 @@
6470
#size-cells = <0>;
6571

6672
phy: ethernet-phy@0 {
67-
reg = <0>;
73+
/*
74+
* The PHY can appear either:
75+
* - AR8035: at address 0 or 4
76+
* - ADIN1300: at address 1
77+
* Actual address being detected at runtime.
78+
*/
79+
reg = <0xffffffff>;
6880
qca,clk-out-frequency = <125000000>;
81+
adi,phy-output-clock = "125mhz-free-running";
6982
};
7083
};
7184
};

arch/arm/dts/imx8mn-evk-u-boot.dtsi

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@
5858
};
5959

6060

61-
flash {
61+
spl {
62+
filename = "spl.bin";
63+
6264
mkimage {
6365
args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x912000";
6466

arch/arm/dts/imx8mq-kontron-pitx-imx8m-u-boot.dtsi

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,18 @@
1010
sd-uhs-sdr104;
1111
sd-uhs-ddr50;
1212
};
13+
14+
&uart1 {
15+
/delete-property/ assigned-clocks;
16+
/delete-property/ assigned-clock-parents;
17+
};
18+
19+
&uart2 {
20+
/delete-property/ assigned-clocks;
21+
/delete-property/ assigned-clock-parents;
22+
};
23+
24+
&uart3 {
25+
/delete-property/ assigned-clocks;
26+
/delete-property/ assigned-clock-parents;
27+
};

arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/*
33
* U-Boot additions
44
*
5-
* Copyright (C) 2019 Intel Corporation <www.intel.com>
5+
* Copyright (C) 2019-2022 Intel Corporation <www.intel.com>
66
*/
77

88
#include "socfpga_agilex-u-boot.dtsi"
@@ -11,6 +11,15 @@
1111
aliases {
1212
spi0 = &qspi;
1313
i2c0 = &i2c1;
14+
freeze_br0 = &freeze_controller;
15+
};
16+
17+
soc {
18+
freeze_controller: freeze_controller@f9000450 {
19+
compatible = "altr,freeze-bridge-controller";
20+
reg = <0xf9000450 0x00000010>;
21+
status = "disabled";
22+
};
1423
};
1524

1625
memory {

0 commit comments

Comments
 (0)