arm64: dts: ti: k3-am625-verdin: add PCIe reset gpio hog
authorFrancesco Dolcini <francesco.dolcini@toradex.com>
Wed, 27 Mar 2024 18:28:01 +0000 (19:28 +0100)
committerNishanth Menon <nm@ti.com>
Wed, 10 Apr 2024 00:29:15 +0000 (19:29 -0500)
Add a GPIO hog to release PCIe reset on the carrier board, this is
required to use M.2 or mPCIe cards.

Verdin AM62 does not have any PCIe interface, however the Verdin family
has PCIe and normally an M.2 or mPCIe slot is available in the carrier
board that can be used with cards that use only the USB interface toward
the host CPU, for example cellular network modem.

Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240327182801.5997-3-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi
arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi
arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi
arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi
arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi

index e42085aa118fe105230475d8b2e3b3ff074bc206..9202181fbd6528e92f6f440bb0f48dc4fde2674b 100644 (file)
        pinctrl-0 = <&pinctrl_gpio_1>,
                    <&pinctrl_gpio_2>,
                    <&pinctrl_gpio_3>,
-                   <&pinctrl_gpio_4>;
+                   <&pinctrl_gpio_4>,
+                   <&pinctrl_pcie_1_reset>;
 };
 
 /* Verdin I2C_3_HDMI */
        status = "okay";
 };
 
+/* Verdin PCIE_1_RESET# */
+&verdin_pcie_1_reset_hog {
+       status = "okay";
+};
+
 /* Verdin UART_2 */
 &wkup_uart0 {
        status = "okay";
index be62648e7818aeedccbc1942776fff87f69a1f60..74eec1a1abca9f9414e9ed6d6f268101f0b22858 100644 (file)
        pinctrl-0 = <&pinctrl_gpio_1>,
                    <&pinctrl_gpio_2>,
                    <&pinctrl_gpio_3>,
-                   <&pinctrl_gpio_4>;
+                   <&pinctrl_gpio_4>,
+                   <&pinctrl_pcie_1_reset>;
 };
 
 /* Verdin I2C_3_HDMI */
        status = "okay";
 };
 
+/* Verdin PCIE_1_RESET# */
+&verdin_pcie_1_reset_hog {
+       status = "okay";
+};
+
 /* Verdin UART_2 */
 &wkup_uart0 {
        status = "okay";
index cd81a606c435bd7a258341ea5c4112716bdf9fdb..754216d8ac1424deefd30d8094d065ce255ba814 100644 (file)
        pinctrl-0 = <&pinctrl_gpio_1>,
                    <&pinctrl_gpio_2>,
                    <&pinctrl_gpio_3>,
-                   <&pinctrl_gpio_4>;
+                   <&pinctrl_gpio_4>,
+                   <&pinctrl_pcie_1_reset>;
 };
 
 /* Verdin I2C_3_HDMI */
        status = "okay";
 };
 
+/* Verdin PCIE_1_RESET# */
+&verdin_pcie_1_reset_hog {
+       status = "okay";
+};
+
 /* Verdin UART_2 */
 &wkup_uart0 {
        status = "okay";
index 997dfafd27eb463e3d4e8f1867062e1e9f66078e..7372d392ec8a349b97b1787fd0ee0b946e3926e5 100644 (file)
        pinctrl-0 = <&pinctrl_gpio_1>,
                    <&pinctrl_gpio_2>,
                    <&pinctrl_gpio_3>,
-                   <&pinctrl_gpio_4>;
+                   <&pinctrl_gpio_4>,
+                   <&pinctrl_pcie_1_reset>;
 };
 
 /* Verdin I2C_3_HDMI */
        status = "okay";
 };
 
+/* Verdin PCIE_1_RESET# */
+&verdin_pcie_1_reset_hog {
+       status = "okay";
+};
+
 /* Verdin UART_2 */
 &wkup_uart0 {
        status = "okay";
index c5091fa0c2401a80f16bc68e23431308367fccb4..ff7cab0ff76cde598ac4bad10f5734898be8bcf7 100644 (file)
                "",
                "",
                "";
+
+       verdin_pcie_1_reset_hog: pcie-1-reset-hog {
+               gpio-hog;
+               /* Verdin PCIE_1_RESET# (SODIMM 244) */
+               gpios = <0 GPIO_ACTIVE_LOW>;
+               line-name = "PCIE_1_RESET#";
+               output-low;
+               status = "disabled";
+       };
 };
 
 /* Verdin CAN_2 */