NFC: nxp-nci: Make firmware GPIO pin optional
authorFrieder Schrempf <frieder.schrempf@kontron.de>
Tue, 1 Dec 2020 11:39:09 +0000 (12:39 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 2 Dec 2020 19:58:19 +0000 (11:58 -0800)
There are other NXP NCI compatible NFC controllers such as the PN7150
that use an integrated firmware and therefore do not have a GPIO to
select firmware downloading mode. To support this kind of controller,
let's make the firmware GPIO optional.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20201201113921.6572-1-frieder.schrempf@kontron.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/devicetree/bindings/net/nfc/nxp-nci.txt
drivers/nfc/nxp-nci/i2c.c

index cfaf889..cb2385c 100644 (file)
@@ -6,11 +6,11 @@ Required properties:
 - reg: address on the bus
 - interrupts: GPIO interrupt to which the chip is connected
 - enable-gpios: Output GPIO pin used for enabling/disabling the chip
-- firmware-gpios: Output GPIO pin used to enter firmware download mode
 
 Optional SoC Specific Properties:
 - pinctrl-names: Contains only one value - "default".
 - pintctrl-0: Specifies the pin control groups used for this controller.
+- firmware-gpios: Output GPIO pin used to enter firmware download mode
 
 Example (for ARM-based BeagleBone with NPC100 NFC controller on I2C2):
 
index 9f60e4d..7e451c1 100644 (file)
@@ -286,7 +286,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client,
                return PTR_ERR(phy->gpiod_en);
        }
 
-       phy->gpiod_fw = devm_gpiod_get(dev, "firmware", GPIOD_OUT_LOW);
+       phy->gpiod_fw = devm_gpiod_get_optional(dev, "firmware", GPIOD_OUT_LOW);
        if (IS_ERR(phy->gpiod_fw)) {
                nfc_err(dev, "Failed to get FW gpio\n");
                return PTR_ERR(phy->gpiod_fw);