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: 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>
This commit is contained in:
parent
6b4f503186
commit
59f96cf6ba
|
@ -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,
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue