Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: stm32: Create separate pinmux for qspi cs pin in stm32mp15-pinctrl.dtsi

Create a separate pinmux for qspi chip select in stm32mp15-pinctrl.dtsi.
In the case we want to use transfer_one() API to communicate with a SPI
device, chip select signal must be driven individually.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>

authored by

Patrice Chotard and committed by
Alexandre Torgue
ea99a5a0 a118ba38

+44 -20
+34 -18
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
··· 1261 1261 }; 1262 1262 1263 1263 qspi_bk1_pins_a: qspi-bk1-0 { 1264 - pins1 { 1264 + pins { 1265 1265 pinmux = <STM32_PINMUX('F', 8, AF10)>, /* QSPI_BK1_IO0 */ 1266 1266 <STM32_PINMUX('F', 9, AF10)>, /* QSPI_BK1_IO1 */ 1267 1267 <STM32_PINMUX('F', 7, AF9)>, /* QSPI_BK1_IO2 */ 1268 1268 <STM32_PINMUX('F', 6, AF9)>; /* QSPI_BK1_IO3 */ 1269 1269 bias-disable; 1270 - drive-push-pull; 1271 - slew-rate = <1>; 1272 - }; 1273 - pins2 { 1274 - pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */ 1275 - bias-pull-up; 1276 1270 drive-push-pull; 1277 1271 slew-rate = <1>; 1278 1272 }; ··· 1277 1283 pinmux = <STM32_PINMUX('F', 8, ANALOG)>, /* QSPI_BK1_IO0 */ 1278 1284 <STM32_PINMUX('F', 9, ANALOG)>, /* QSPI_BK1_IO1 */ 1279 1285 <STM32_PINMUX('F', 7, ANALOG)>, /* QSPI_BK1_IO2 */ 1280 - <STM32_PINMUX('F', 6, ANALOG)>, /* QSPI_BK1_IO3 */ 1281 - <STM32_PINMUX('B', 6, ANALOG)>; /* QSPI_BK1_NCS */ 1286 + <STM32_PINMUX('F', 6, ANALOG)>; /* QSPI_BK1_IO3 */ 1282 1287 }; 1283 1288 }; 1284 1289 1285 1290 qspi_bk2_pins_a: qspi-bk2-0 { 1286 - pins1 { 1291 + pins { 1287 1292 pinmux = <STM32_PINMUX('H', 2, AF9)>, /* QSPI_BK2_IO0 */ 1288 1293 <STM32_PINMUX('H', 3, AF9)>, /* QSPI_BK2_IO1 */ 1289 1294 <STM32_PINMUX('G', 10, AF11)>, /* QSPI_BK2_IO2 */ 1290 1295 <STM32_PINMUX('G', 7, AF11)>; /* QSPI_BK2_IO3 */ 1291 1296 bias-disable; 1292 - drive-push-pull; 1293 - slew-rate = <1>; 1294 - }; 1295 - pins2 { 1296 - pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */ 1297 - bias-pull-up; 1298 1297 drive-push-pull; 1299 1298 slew-rate = <1>; 1300 1299 }; ··· 1298 1311 pinmux = <STM32_PINMUX('H', 2, ANALOG)>, /* QSPI_BK2_IO0 */ 1299 1312 <STM32_PINMUX('H', 3, ANALOG)>, /* QSPI_BK2_IO1 */ 1300 1313 <STM32_PINMUX('G', 10, ANALOG)>, /* QSPI_BK2_IO2 */ 1301 - <STM32_PINMUX('G', 7, ANALOG)>, /* QSPI_BK2_IO3 */ 1302 - <STM32_PINMUX('C', 0, ANALOG)>; /* QSPI_BK2_NCS */ 1314 + <STM32_PINMUX('G', 7, ANALOG)>; /* QSPI_BK2_IO3 */ 1315 + }; 1316 + }; 1317 + 1318 + qspi_cs1_pins_a: qspi-cs1-0 { 1319 + pins { 1320 + pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */ 1321 + bias-pull-up; 1322 + drive-push-pull; 1323 + slew-rate = <1>; 1324 + }; 1325 + }; 1326 + 1327 + qspi_cs1_sleep_pins_a: qspi-cs1-sleep-0 { 1328 + pins { 1329 + pinmux = <STM32_PINMUX('B', 6, ANALOG)>; /* QSPI_BK1_NCS */ 1330 + }; 1331 + }; 1332 + 1333 + qspi_cs2_pins_a: qspi-cs2-0 { 1334 + pins { 1335 + pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */ 1336 + bias-pull-up; 1337 + drive-push-pull; 1338 + slew-rate = <1>; 1339 + }; 1340 + }; 1341 + 1342 + qspi_cs2_sleep_pins_a: qspi-cs2-sleep-0 { 1343 + pins { 1344 + pinmux = <STM32_PINMUX('C', 0, ANALOG)>; /* QSPI_BK2_NCS */ 1303 1345 }; 1304 1346 }; 1305 1347
+10 -2
arch/arm/boot/dts/stm32mp157c-ev1.dts
··· 255 255 256 256 &qspi { 257 257 pinctrl-names = "default", "sleep"; 258 - pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>; 259 - pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_bk2_sleep_pins_a>; 258 + pinctrl-0 = <&qspi_clk_pins_a 259 + &qspi_bk1_pins_a 260 + &qspi_cs1_pins_a 261 + &qspi_bk2_pins_a 262 + &qspi_cs2_pins_a>; 263 + pinctrl-1 = <&qspi_clk_sleep_pins_a 264 + &qspi_bk1_sleep_pins_a 265 + &qspi_cs1_sleep_pins_a 266 + &qspi_bk2_sleep_pins_a 267 + &qspi_cs2_sleep_pins_a>; 260 268 reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; 261 269 #address-cells = <1>; 262 270 #size-cells = <0>;