Skip to content

Commit 42cbaee

Browse files
committed
Merge tag 'soc-arm-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM SoC updates from Arnd Bergmann: "The at91 power management code and the TI AM33 platform each get a few updates for robustness, the other changes are just minor cleanups" * tag 'soc-arm-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: ARM: versatile: clock: convert from round_rate() to determine_rate() ARM: rockchip: remove REGULATOR conditional to PM ARM: at91: pm: Remove 2.5V regulator ARM: OMAP2+: clock: convert from round_rate() to determine_rate() ARM: OMAP1: clock: convert from round_rate() to determine_rate() ARM: mach-hpe: Rework support and directory structure arm: omap2: use string choices helper ARM: OMAP2+: pm33xx-core: ix device node reference leaks in amx3_idle_init ARM: OMAP2+: use IS_ERR_OR_NULL() helper ARM: AM33xx: Implement TI advisory 1.0.36 (EMU0/EMU1 pins state on reset) ARM: at91: pm: save and restore ACR during PLL disable/enable ARM: at91: pm: fix MCKx restore routine ARM: at91: pm: fix .uhp_udp_mask specification for current SoCs ARM: shmobile: rcar-gen2: Use SZ_256K definition
2 parents 38057e3 + 65d2419 commit 42cbaee

File tree

21 files changed

+113
-111
lines changed

21 files changed

+113
-111
lines changed

MAINTAINERS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2737,7 +2737,6 @@ F: Documentation/devicetree/bindings/spi/hpe,gxp-spifi.yaml
27372737
F: Documentation/devicetree/bindings/timer/hpe,gxp-timer.yaml
27382738
F: Documentation/hwmon/gxp-fan-ctrl.rst
27392739
F: arch/arm/boot/dts/hpe/
2740-
F: arch/arm/mach-hpe/
27412740
F: drivers/clocksource/timer-gxp.c
27422741
F: drivers/hwmon/gxp-fan-ctrl.c
27432742
F: drivers/i2c/busses/i2c-gxp.c

arch/arm/Kconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,6 @@ source "arch/arm/mach-highbank/Kconfig"
393393

394394
source "arch/arm/mach-hisi/Kconfig"
395395

396-
source "arch/arm/mach-hpe/Kconfig"
397-
398396
source "arch/arm/mach-imx/Kconfig"
399397

400398
source "arch/arm/mach-ixp4xx/Kconfig"

arch/arm/Kconfig.platforms

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,31 @@ config MACH_ASM9260
8787
help
8888
Support for Alphascale ASM9260 based platform.
8989

90+
menuconfig ARCH_HPE
91+
bool "HPE SoC support"
92+
depends on ARCH_MULTI_V7
93+
help
94+
This enables support for HPE ARM based BMC chips.
95+
96+
if ARCH_HPE
97+
98+
config ARCH_HPE_GXP
99+
bool "HPE GXP SoC"
100+
depends on ARCH_MULTI_V7
101+
select ARM_VIC
102+
select GENERIC_IRQ_CHIP
103+
select CLKSRC_MMIO
104+
help
105+
HPE GXP is the name of the HPE Soc. This SoC is used to implement many
106+
BMC features at HPE. It supports ARMv7 architecture based on the Cortex
107+
A9 core. It is capable of using an AXI bus to which a memory controller
108+
is attached. It has multiple SPI interfaces to connect boot flash and
109+
BIOS flash. It uses a 10/100/1000 MAC for network connectivity. It
110+
has multiple i2c engines to drive connectivity with a host
111+
infrastructure.
112+
113+
endif
114+
90115
menuconfig ARCH_MOXART
91116
bool "MOXA ART SoC"
92117
depends on ARCH_MULTI_V4

arch/arm/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ machine-$(CONFIG_ARCH_FOOTBRIDGE) += footbridge
189189
machine-$(CONFIG_ARCH_GEMINI) += gemini
190190
machine-$(CONFIG_ARCH_HIGHBANK) += highbank
191191
machine-$(CONFIG_ARCH_HISI) += hisi
192-
machine-$(CONFIG_ARCH_HPE) += hpe
193192
machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx
194193
machine-$(CONFIG_ARCH_KEYSTONE) += keystone
195194
machine-$(CONFIG_ARCH_LPC18XX) += lpc18xx

arch/arm/mach-at91/pm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1364,7 +1364,7 @@ static const struct pmc_info pmc_infos[] __initconst = {
13641364
.version = AT91_PMC_V1,
13651365
},
13661366
{
1367-
.uhp_udp_mask = AT91SAM926x_PMC_UHP | AT91SAM926x_PMC_UDP,
1367+
.uhp_udp_mask = AT91SAM926x_PMC_UHP,
13681368
.mckr = 0x28,
13691369
.version = AT91_PMC_V2,
13701370
},

arch/arm/mach-at91/pm_suspend.S

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -87,29 +87,6 @@ tmp3 .req r6
8787

8888
.endm
8989

90-
/**
91-
* Set state for 2.5V low power regulator
92-
* @ena: 0 - disable regulator
93-
* 1 - enable regulator
94-
*
95-
* Side effects: overwrites r7, r8, r9, r10
96-
*/
97-
.macro at91_2_5V_reg_set_low_power ena
98-
#ifdef CONFIG_SOC_SAMA7
99-
ldr r7, .sfrbu
100-
mov r8, #\ena
101-
ldr r9, [r7, #AT91_SFRBU_25LDOCR]
102-
orr r9, r9, #AT91_SFRBU_25LDOCR_LP
103-
cmp r8, #1
104-
beq lp_done_\ena
105-
bic r9, r9, #AT91_SFRBU_25LDOCR_LP
106-
lp_done_\ena:
107-
ldr r10, =AT91_SFRBU_25LDOCR_LDOANAKEY
108-
orr r9, r9, r10
109-
str r9, [r7, #AT91_SFRBU_25LDOCR]
110-
#endif
111-
.endm
112-
11390
.macro at91_backup_set_lpm reg
11491
#ifdef CONFIG_SOC_SAMA7
11592
orr \reg, \reg, #0x200000
@@ -689,6 +666,10 @@ sr_dis_exit:
689666
bic tmp2, tmp2, #AT91_PMC_PLL_UPDT_ID
690667
str tmp2, [pmc, #AT91_PMC_PLL_UPDT]
691668

669+
/* save acr */
670+
ldr tmp2, [pmc, #AT91_PMC_PLL_ACR]
671+
str tmp2, .saved_acr
672+
692673
/* save div. */
693674
mov tmp1, #0
694675
ldr tmp2, [pmc, #AT91_PMC_PLL_CTRL0]
@@ -758,7 +739,7 @@ sr_dis_exit:
758739
str tmp1, [pmc, #AT91_PMC_PLL_UPDT]
759740

760741
/* step 2. */
761-
ldr tmp1, =AT91_PMC_PLL_ACR_DEFAULT_PLLA
742+
ldr tmp1, .saved_acr
762743
str tmp1, [pmc, #AT91_PMC_PLL_ACR]
763744

764745
/* step 3. */
@@ -904,7 +885,7 @@ e_done:
904885
/**
905886
* at91_mckx_ps_restore: restore MCKx settings
906887
*
907-
* Side effects: overwrites tmp1, tmp2
888+
* Side effects: overwrites tmp1, tmp2 and tmp3
908889
*/
909890
.macro at91_mckx_ps_restore
910891
#ifdef CONFIG_SOC_SAMA7
@@ -980,7 +961,7 @@ r_ps:
980961
bic tmp3, tmp3, #AT91_PMC_MCR_V2_ID_MSK
981962
orr tmp3, tmp3, tmp1
982963
orr tmp3, tmp3, #AT91_PMC_MCR_V2_CMD
983-
str tmp2, [pmc, #AT91_PMC_MCR_V2]
964+
str tmp3, [pmc, #AT91_PMC_MCR_V2]
984965

985966
wait_mckrdy tmp1
986967

@@ -1019,9 +1000,6 @@ save_mck:
10191000

10201001
at91_plla_disable
10211002

1022-
/* Enable low power mode for 2.5V regulator. */
1023-
at91_2_5V_reg_set_low_power 1
1024-
10251003
ldr tmp3, .pm_mode
10261004
cmp tmp3, #AT91_PM_ULP1
10271005
beq ulp1_mode
@@ -1034,9 +1012,6 @@ ulp1_mode:
10341012
b ulp_exit
10351013

10361014
ulp_exit:
1037-
/* Disable low power mode for 2.5V regulator. */
1038-
at91_2_5V_reg_set_low_power 0
1039-
10401015
ldr pmc, .pmc_base
10411016

10421017
at91_plla_enable
@@ -1207,6 +1182,8 @@ ENDPROC(at91_pm_suspend_in_sram)
12071182
#endif
12081183
.saved_mckr:
12091184
.word 0
1185+
.saved_acr:
1186+
.word 0
12101187
.saved_pllar:
12111188
.word 0
12121189
.saved_sam9_lpr:

arch/arm/mach-hpe/Kconfig

Lines changed: 0 additions & 23 deletions
This file was deleted.

arch/arm/mach-hpe/Makefile

Lines changed: 0 additions & 1 deletion
This file was deleted.

arch/arm/mach-hpe/gxp.c

Lines changed: 0 additions & 15 deletions
This file was deleted.

arch/arm/mach-omap1/clock.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -705,14 +705,21 @@ static unsigned long omap1_clk_recalc_rate(struct clk_hw *hw, unsigned long p_ra
705705
return clk->rate;
706706
}
707707

708-
static long omap1_clk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *p_rate)
708+
static int omap1_clk_determine_rate(struct clk_hw *hw,
709+
struct clk_rate_request *req)
709710
{
710711
struct omap1_clk *clk = to_omap1_clk(hw);
711712

712-
if (clk->round_rate != NULL)
713-
return clk->round_rate(clk, rate, p_rate);
713+
if (clk->round_rate != NULL) {
714+
req->rate = clk->round_rate(clk, req->rate,
715+
&req->best_parent_rate);
714716

715-
return omap1_clk_recalc_rate(hw, *p_rate);
717+
return 0;
718+
}
719+
720+
req->rate = omap1_clk_recalc_rate(hw, req->best_parent_rate);
721+
722+
return 0;
716723
}
717724

718725
static int omap1_clk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long p_rate)
@@ -771,7 +778,7 @@ const struct clk_ops omap1_clk_gate_ops = {
771778

772779
const struct clk_ops omap1_clk_rate_ops = {
773780
.recalc_rate = omap1_clk_recalc_rate,
774-
.round_rate = omap1_clk_round_rate,
781+
.determine_rate = omap1_clk_determine_rate,
775782
.set_rate = omap1_clk_set_rate,
776783
.init = omap1_clk_init_op,
777784
};
@@ -784,7 +791,7 @@ const struct clk_ops omap1_clk_full_ops = {
784791
.disable_unused = omap1_clk_disable_unused,
785792
#endif
786793
.recalc_rate = omap1_clk_recalc_rate,
787-
.round_rate = omap1_clk_round_rate,
794+
.determine_rate = omap1_clk_determine_rate,
788795
.set_rate = omap1_clk_set_rate,
789796
.init = omap1_clk_init_op,
790797
};

0 commit comments

Comments
 (0)