mvebu dt64 for 6.19 (part 1)

pinctrl node names cleanup from Rob on Marvell device tree files
 Proper fix for pci errors on armada cp11x based platforms
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCaSB2DwAKCRALBhiOFHI7
 1dgRAJ9lXm+/GSlipN7bq0sf1dl4YMcvCgCfaRrTl+Y7cnoBglsLJH8TtIwhYZA=
 =mH8x
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkgxg8ACgkQmmx57+YA
 GNkrPQ//SwFIOxD0hlk+mqNYESn5zwAxdYGW1kysW2p6WrZ7UFk7EF8jdK/8/Cs9
 fbqAxhaWloHYlDQNvS7LAv3U4PHHTV4XrPxcrMMvkaiTqrs+DZfKNm24juf426bZ
 kTFkq/+NWakwab/gX8u5g9hFzZP0lMwq6VEmqEZkKxudEBDQ9ngtGtJKDQR2lHJC
 QKt9r/J8FHGA8s5otNGqSOIPP68uic1HGT1Ap6+J6vmvs7S8AY5PFr75Y6Lt2gCE
 idFIqB908b/r8t6PhhO1/u/L8cPfsHLRPqlBO9Sk1xW+ubdLhPjVhohGy0ClV8xr
 SckTdULGdVJ0zlpebKXFUkTw1hyKs2JWZpdRzi5t/BY1U/sjV2JfRHiHWX63jJWi
 xJRBLVb0tGbiaAiyPUZgm0LuPPKZs4XZu+mrvbp5rpLG6elRC4SeBa4R4pXPeaJw
 Mi7+lnu0aGCfElq1OvncHGtYa6nbScaTKDPAIp6ueSJXJTatMT8dw7pkbq/e2wVg
 Oc3C+DWV7kv+tM8w+Le89F2uHjfxYCXAyjKhcup0CEibxJwam+hwNc5dao0y4wWQ
 +VSzK6Ocd9QAH3qbbZmYWh6pRq//Ti5E1oz4lg6IjGPEYx7MfJfAO8kKijSziokd
 vyFcZwrdjLdeKwfG0a9cBay1OYSL/aWt+I+fNlNqB2dlMFcRsJw=
 =pF2I
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-6.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt64 for 6.19 (part 1)

pinctrl node names cleanup from Rob on Marvell device tree files
Proper fix for pci errors on armada cp11x based platforms

* tag 'mvebu-dt64-6.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4
  Revert "arm64: dts: marvell: cn9132-clearfog: fix multi-lane pci x2 and x4 ports"
  arm64/arm: dts: marvell: Rename "nand-rb" pinctrl node names

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-11-21 21:05:33 +01:00
commit 887bc88163
7 changed files with 27 additions and 19 deletions

View File

@ -247,7 +247,7 @@ nand_pins: nand-pins {
marvell,function = "dev";
};
nand_rb: nand-rb {
nand_rb: nand-rb-pins {
marvell,pins = "mpp41";
marvell,function = "nand";
};

View File

@ -322,7 +322,7 @@ nand_pins: nand-pins {
marvell,function = "dev";
};
nand_rb: nand-rb {
nand_rb: nand-rb-pins {
marvell,pins = "mpp19";
marvell,function = "nand";
};

View File

@ -56,7 +56,7 @@ nand_pins: nand-pins {
marvell,function = "dev";
};
nand_rb: nand-rb {
nand_rb: nand-rb-pins {
marvell,pins = "mpp13";
marvell,function = "nf";
};

View File

@ -89,7 +89,7 @@ nand_pins: nand-pins {
marvell,function = "dev";
};
nand_rb: nand-rb {
nand_rb: nand-rb-pins {
marvell,pins = "mpp13", "mpp12";
marvell,function = "nf";
};

View File

@ -379,7 +379,7 @@ nand_pins: nand-pins {
"mpp27";
marvell,function = "dev";
};
nand_rb: nand-rb {
nand_rb: nand-rb-pins {
marvell,pins = "mpp13";
marvell,function = "nf";
};

View File

@ -413,13 +413,7 @@ fixed-link {
/* SRDS #0,#1,#2,#3 - PCIe */
&cp0_pcie0 {
num-lanes = <4>;
/*
* The mvebu-comphy driver does not currently know how to pass correct
* lane-count to ATF while configuring the serdes lanes.
* Rely on bootloader configuration only.
*
* phys = <&cp0_comphy0 0>, <&cp0_comphy1 0>, <&cp0_comphy2 0>, <&cp0_comphy3 0>;
*/
phys = <&cp0_comphy0 0>, <&cp0_comphy1 0>, <&cp0_comphy2 0>, <&cp0_comphy3 0>;
status = "okay";
};
@ -481,13 +475,7 @@ &cp1_eth0 {
/* SRDS #0,#1 - PCIe */
&cp1_pcie0 {
num-lanes = <2>;
/*
* The mvebu-comphy driver does not currently know how to pass correct
* lane-count to ATF while configuring the serdes lanes.
* Rely on bootloader configuration only.
*
* phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>;
*/
phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>;
status = "okay";
};

View File

@ -110,6 +110,25 @@ static const char * const gate_base_names[] = {
[CP110_GATE_EIP197] = "eip197"
};
static unsigned long gate_flags(const u8 bit_idx)
{
switch (bit_idx) {
case CP110_GATE_PCIE_X1_0:
case CP110_GATE_PCIE_X1_1:
case CP110_GATE_PCIE_X4:
/*
* If a port had an active link at boot time, stopping
* the clock creates a failed state from which controller
* driver can not recover.
* Prevent stopping this clock till after a driver has taken
* ownership.
*/
return CLK_IGNORE_UNUSED;
default:
return 0;
}
};
struct cp110_gate_clk {
struct clk_hw hw;
struct regmap *regmap;
@ -171,6 +190,7 @@ static struct clk_hw *cp110_register_gate(const char *name,
init.ops = &cp110_gate_ops;
init.parent_names = &parent_name;
init.num_parents = 1;
init.flags = gate_flags(bit_idx);
gate->regmap = regmap;
gate->bit_idx = bit_idx;