Commit 59f96cf6 authored by Frieder Schrempf's avatar Frieder Schrempf Committed by Jakub Kicinski

NFC: nxp-nci: Make firmware GPIO pin optional

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: default avatarFrieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20201201113921.6572-1-frieder.schrempf@kontron.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6b4f5031
...@@ -6,11 +6,11 @@ Required properties: ...@@ -6,11 +6,11 @@ Required properties:
- reg: address on the bus - reg: address on the bus
- interrupts: GPIO interrupt to which the chip is connected - interrupts: GPIO interrupt to which the chip is connected
- enable-gpios: Output GPIO pin used for enabling/disabling the chip - 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: Optional SoC Specific Properties:
- pinctrl-names: Contains only one value - "default". - pinctrl-names: Contains only one value - "default".
- pintctrl-0: Specifies the pin control groups used for this controller. - 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): Example (for ARM-based BeagleBone with NPC100 NFC controller on I2C2):
......
...@@ -286,7 +286,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client, ...@@ -286,7 +286,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client,
return PTR_ERR(phy->gpiod_en); 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)) { if (IS_ERR(phy->gpiod_fw)) {
nfc_err(dev, "Failed to get FW gpio\n"); nfc_err(dev, "Failed to get FW gpio\n");
return PTR_ERR(phy->gpiod_fw); return PTR_ERR(phy->gpiod_fw);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment