The wake-up of the device can be configured as an optional
feature of the device. Move the wake-up gpio from a requried
property to an optional property.
Signed-off-by: Dan Murphy <[email protected]>
CC: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/net/can/tcan4x5x.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
index 27e1b4cebfbd..7cf5ef7acba4 100644
--- a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
+++ b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
@@ -10,7 +10,6 @@ Required properties:
- #size-cells: 0
- spi-max-frequency: Maximum frequency of the SPI bus the chip can
operate at should be less than or equal to 18 MHz.
- - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
- interrupt-parent: the phandle to the interrupt controller which provides
the interrupt.
- interrupts: interrupt specification for data-ready.
@@ -23,6 +22,7 @@ Optional properties:
reset.
- device-state-gpios: Input GPIO that indicates if the device is in
a sleep state or if the device is active.
+ - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
Example:
tcan4x5x: tcan4x5x@0 {
--
2.23.0
The device has the ability to disable the wake-up pin option.
The wake-up pin can be either force to GND or Vsup and does not have to
be tied to a GPIO. In order for the device to not use the wake-up feature
write the register to disable the WAKE_CONFIG option.
Signed-off-by: Dan Murphy <[email protected]>
CC: Sean Nyekjaer <[email protected]>
---
drivers/net/can/m_can/tcan4x5x.c | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/drivers/net/can/m_can/tcan4x5x.c b/drivers/net/can/m_can/tcan4x5x.c
index 3db619209fe1..6e37c3fd87af 100644
--- a/drivers/net/can/m_can/tcan4x5x.c
+++ b/drivers/net/can/m_can/tcan4x5x.c
@@ -101,6 +101,8 @@
#define TCAN4X5X_MODE_STANDBY BIT(6)
#define TCAN4X5X_MODE_NORMAL BIT(7)
+#define TCAN4X5X_DISABLE_WAKE_MSK (BIT(31) | BIT(30))
+
#define TCAN4X5X_SW_RESET BIT(2)
#define TCAN4X5X_MCAN_CONFIGURED BIT(5)
@@ -338,6 +340,15 @@ static int tcan4x5x_init(struct m_can_classdev *cdev)
return ret;
}
+static int tcan4x5x_disable_wake(struct m_can_classdev *cdev)
+{
+ struct tcan4x5x_priv *tcan4x5x = cdev->device_data;
+
+ return regmap_update_bits(tcan4x5x->regmap, TCAN4X5X_CONFIG,
+ TCAN4X5X_DISABLE_WAKE_MSK, 0x00);
+
+}
+
static int tcan4x5x_parse_config(struct m_can_classdev *cdev)
{
struct tcan4x5x_priv *tcan4x5x = cdev->device_data;
@@ -345,8 +356,10 @@ static int tcan4x5x_parse_config(struct m_can_classdev *cdev)
tcan4x5x->device_wake_gpio = devm_gpiod_get(cdev->dev, "device-wake",
GPIOD_OUT_HIGH);
if (IS_ERR(tcan4x5x->device_wake_gpio)) {
- dev_err(cdev->dev, "device-wake gpio not defined\n");
- return -EINVAL;
+ if (PTR_ERR(tcan4x5x->power) == -EPROBE_DEFER)
+ return -EPROBE_DEFER;
+
+ tcan4x5x_disable_wake(cdev);
}
tcan4x5x->reset_gpio = devm_gpiod_get_optional(cdev->dev, "reset",
@@ -428,10 +441,6 @@ static int tcan4x5x_can_probe(struct spi_device *spi)
spi_set_drvdata(spi, priv);
- ret = tcan4x5x_parse_config(mcan_class);
- if (ret)
- goto out_clk;
-
/* Configure the SPI bus */
spi->bits_per_word = 32;
ret = spi_setup(spi);
@@ -441,6 +450,10 @@ static int tcan4x5x_can_probe(struct spi_device *spi)
priv->regmap = devm_regmap_init(&spi->dev, &tcan4x5x_bus,
&spi->dev, &tcan4x5x_regmap);
+ ret = tcan4x5x_parse_config(mcan_class);
+ if (ret)
+ goto out_clk;
+
tcan4x5x_power_enable(priv->power, 1);
ret = m_can_class_register(mcan_class);
--
2.23.0
On 04/12/2019 18.51, Dan Murphy wrote:
> The wake-up of the device can be configured as an optional
> feature of the device. Move the wake-up gpio from a requried
> property to an optional property.
>
> Signed-off-by: Dan Murphy <[email protected]>
> CC: Rob Herring <[email protected]>
Reviewed-by: Sean Nyekjaer <[email protected]>
> ---
> Documentation/devicetree/bindings/net/can/tcan4x5x.txt | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
> index 27e1b4cebfbd..7cf5ef7acba4 100644
> --- a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
> +++ b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
> @@ -10,7 +10,6 @@ Required properties:
> - #size-cells: 0
> - spi-max-frequency: Maximum frequency of the SPI bus the chip can
> operate at should be less than or equal to 18 MHz.
> - - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
> - interrupt-parent: the phandle to the interrupt controller which provides
> the interrupt.
> - interrupts: interrupt specification for data-ready.
> @@ -23,6 +22,7 @@ Optional properties:
> reset.
> - device-state-gpios: Input GPIO that indicates if the device is in
> a sleep state or if the device is active.
> + - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
>
> Example:
> tcan4x5x: tcan4x5x@0 {
>
On 04/12/2019 18.51, Dan Murphy wrote:
> The device has the ability to disable the wake-up pin option.
> The wake-up pin can be either force to GND or Vsup and does not have to
> be tied to a GPIO. In order for the device to not use the wake-up feature
> write the register to disable the WAKE_CONFIG option.
>
> Signed-off-by: Dan Murphy <[email protected]>
> CC: Sean Nyekjaer <[email protected]>
Reviewed-by: Sean Nyekjaer <[email protected]>
> ---
Hi Dan,
I would add tcan4x5x to the subject of this patch ->
"net: m_can: tcan4x5x Make wake-up gpio an optional"
Will be testing this during this or the next week...
/Sean
Marc
On 12/5/19 1:39 AM, Sean Nyekjaer wrote:
>
>
> On 04/12/2019 18.51, Dan Murphy wrote:
>> The device has the ability to disable the wake-up pin option.
>> The wake-up pin can be either force to GND or Vsup and does not have to
>> be tied to a GPIO. In order for the device to not use the wake-up
>> feature
>> write the register to disable the WAKE_CONFIG option.
>>
>> Signed-off-by: Dan Murphy <[email protected]>
>> CC: Sean Nyekjaer <[email protected]>
> Reviewed-by: Sean Nyekjaer <[email protected]>
>> ---
>
>
> Hi Dan,
>
> I would add tcan4x5x to the subject of this patch ->
> "net: m_can: tcan4x5x Make wake-up gpio an optional"
>
Do you want me to submit v2 with the $subject change?
Or would you fix it up when committing it?
Dan
On 12/5/19 2:26 PM, Dan Murphy wrote:
> On 12/5/19 1:39 AM, Sean Nyekjaer wrote:
>>
>>
>> On 04/12/2019 18.51, Dan Murphy wrote:
>>> The device has the ability to disable the wake-up pin option.
>>> The wake-up pin can be either force to GND or Vsup and does not have to
>>> be tied to a GPIO. In order for the device to not use the wake-up
>>> feature
>>> write the register to disable the WAKE_CONFIG option.
>>>
>>> Signed-off-by: Dan Murphy <[email protected]>
>>> CC: Sean Nyekjaer <[email protected]>
>> Reviewed-by: Sean Nyekjaer <[email protected]>
>>> ---
>>
>>
>> Hi Dan,
>>
>> I would add tcan4x5x to the subject of this patch ->
>> "net: m_can: tcan4x5x Make wake-up gpio an optional"
>>
> Do you want me to submit v2 with the $subject change?
>
> Or would you fix it up when committing it?
I'll change the subject while applying.
Dan, what about maintainerchip of the tcan4x5?
regards,
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Marc
On 12/5/19 8:39 AM, Marc Kleine-Budde wrote:
> On 12/5/19 2:26 PM, Dan Murphy wrote:
>> On 12/5/19 1:39 AM, Sean Nyekjaer wrote:
>>>
>>> On 04/12/2019 18.51, Dan Murphy wrote:
>>>> The device has the ability to disable the wake-up pin option.
>>>> The wake-up pin can be either force to GND or Vsup and does not have to
>>>> be tied to a GPIO. In order for the device to not use the wake-up
>>>> feature
>>>> write the register to disable the WAKE_CONFIG option.
>>>>
>>>> Signed-off-by: Dan Murphy <[email protected]>
>>>> CC: Sean Nyekjaer <[email protected]>
>>> Reviewed-by: Sean Nyekjaer <[email protected]>
>>>> ---
>>>
>>> Hi Dan,
>>>
>>> I would add tcan4x5x to the subject of this patch ->
>>> "net: m_can: tcan4x5x Make wake-up gpio an optional"
>>>
>> Do you want me to submit v2 with the $subject change?
>>
>> Or would you fix it up when committing it?
> I'll change the subject while applying.
>
> Dan, what about maintainerchip of the tcan4x5?
Ooops that was buried in my inbox.
It only makes sense for someone from TI to take maintainership of the
TCAN device.
Do I need to submit a patch to the maintainers file or is the authorship
enough?
As far as a device what country do you reside in?
Dan
> regards,
> Marc
>
On 12/5/19 4:01 PM, Dan Murphy wrote:
>> Dan, what about maintainerchip of the tcan4x5?
>
> Ooops that was buried in my inbox.
>
> It only makes sense for someone from TI to take maintainership of the
> TCAN device.
Sriram Dash (Cc'ed) is maintainer of the MMIO driver:
> +F: Documentation/devicetree/bindings/net/can/m_can.txt
> +F: drivers/net/can/m_can/m_can.c
> +F: drivers/net/can/m_can/m_can.h
> +F: drivers/net/can/m_can/m_can_platform.c
See:
> Do I need to submit a patch to the maintainers file or is the authorship
> enough?
Yes, please send a patch, see Sriram's patch as an example:
> https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git/commit/?h=linux-can-fixes-for-5.5-20191203&id=8c2a58568d6d952f7c7f1dac125b33dc8414627b
> As far as a device what country do you reside in?
Germany, I'll drop you the address in a private Mail.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
On 04/12/2019 18.51, Dan Murphy wrote:
> The wake-up of the device can be configured as an optional
> feature of the device. Move the wake-up gpio from a requried
> property to an optional property.
>
> Signed-off-by: Dan Murphy <[email protected]>
> CC: Rob Herring <[email protected]>
Tested-by: Sean Nyekjaer <[email protected]>
> ---
> Documentation/devicetree/bindings/net/can/tcan4x5x.txt | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
> index 27e1b4cebfbd..7cf5ef7acba4 100644
> --- a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
> +++ b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
> @@ -10,7 +10,6 @@ Required properties:
> - #size-cells: 0
> - spi-max-frequency: Maximum frequency of the SPI bus the chip can
> operate at should be less than or equal to 18 MHz.
> - - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
> - interrupt-parent: the phandle to the interrupt controller which provides
> the interrupt.
> - interrupts: interrupt specification for data-ready.
> @@ -23,6 +22,7 @@ Optional properties:
> reset.
> - device-state-gpios: Input GPIO that indicates if the device is in
> a sleep state or if the device is active.
> + - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
>
> Example:
> tcan4x5x: tcan4x5x@0 {
>
On 05/12/2019 08.36, Sean Nyekjaer wrote:
>
>
> On 04/12/2019 18.51, Dan Murphy wrote:
>> The wake-up of the device can be configured as an optional
>> feature of the device. Move the wake-up gpio from a requried
>> property to an optional property.
>>
>> Signed-off-by: Dan Murphy <[email protected]>
>> CC: Rob Herring <[email protected]>
> Reviewed-by: Sean Nyekjaer <[email protected]>
Tested-by: Sean Nyekjaer <[email protected]>
>> ---
>> Documentation/devicetree/bindings/net/can/tcan4x5x.txt | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
>> b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
>> index 27e1b4cebfbd..7cf5ef7acba4 100644
>> --- a/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
>> +++ b/Documentation/devicetree/bindings/net/can/tcan4x5x.txt
>> @@ -10,7 +10,6 @@ Required properties:
>> - #size-cells: 0
>> - spi-max-frequency: Maximum frequency of the SPI bus the chip can
>> operate at should be less than or equal to 18 MHz.
>> - - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
>> - interrupt-parent: the phandle to the interrupt controller
>> which provides
>> the interrupt.
>> - interrupts: interrupt specification for data-ready.
>> @@ -23,6 +22,7 @@ Optional properties:
>> reset.
>> - device-state-gpios: Input GPIO that indicates if the device is in
>> a sleep state or if the device is active.
>> + - device-wake-gpios: Wake up GPIO to wake up the TCAN device.
>> Example:
>> tcan4x5x: tcan4x5x@0 {
>>
Marc
On 12/5/19 8:39 AM, Marc Kleine-Budde wrote:
> On 12/5/19 2:26 PM, Dan Murphy wrote:
>> On 12/5/19 1:39 AM, Sean Nyekjaer wrote:
>>>
>>> On 04/12/2019 18.51, Dan Murphy wrote:
>>>> The device has the ability to disable the wake-up pin option.
>>>> The wake-up pin can be either force to GND or Vsup and does not have to
>>>> be tied to a GPIO. In order for the device to not use the wake-up
>>>> feature
>>>> write the register to disable the WAKE_CONFIG option.
>>>>
>>>> Signed-off-by: Dan Murphy <[email protected]>
>>>> CC: Sean Nyekjaer <[email protected]>
>>> Reviewed-by: Sean Nyekjaer <[email protected]>
>>>> ---
>>>
>>> Hi Dan,
>>>
>>> I would add tcan4x5x to the subject of this patch ->
>>> "net: m_can: tcan4x5x Make wake-up gpio an optional"
>>>
>> Do you want me to submit v2 with the $subject change?
>>
>> Or would you fix it up when committing it?
> I'll change the subject while applying.
>
> Dan, what about maintainerchip of the tcan4x5?
Do you know when you will be applying these?
I have 2 patches I need to put on top.
Dan
> regards,
> Marc
>
On 12/9/19 10:01 PM, Dan Murphy wrote:
>>>> I would add tcan4x5x to the subject of this patch ->
>>>> "net: m_can: tcan4x5x Make wake-up gpio an optional"
>>>>
>>> Do you want me to submit v2 with the $subject change?
>>>
>>> Or would you fix it up when committing it?
>> I'll change the subject while applying.
>>
>> Dan, what about maintainerchip of the tcan4x5?
>
> Do you know when you will be applying these?
The patch is already upstream. See linux-can/mater:
https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git/log/
https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git/commit/?id=2de497356955ce58cd066fb03d2da5235f3c7c23
> I have 2 patches I need to put on top.
Please post them as linux-can/master as base.
regards,
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Marc
On 12/9/19 3:06 PM, Marc Kleine-Budde wrote:
> On 12/9/19 10:01 PM, Dan Murphy wrote:
>>>>> I would add tcan4x5x to the subject of this patch ->
>>>>> "net: m_can: tcan4x5x Make wake-up gpio an optional"
>>>>>
>>>> Do you want me to submit v2 with the $subject change?
>>>>
>>>> Or would you fix it up when committing it?
>>> I'll change the subject while applying.
>>>
>>> Dan, what about maintainerchip of the tcan4x5?
>> Do you know when you will be applying these?
> The patch is already upstream. See linux-can/mater:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git/log/
>
> https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git/commit/?id=2de497356955ce58cd066fb03d2da5235f3c7c23
Ah I was looking here
https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
>
On 12/9/19 10:07 PM, Dan Murphy wrote:
>>> Do you know when you will be applying these?
>> The patch is already upstream. See linux-can/mater:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git/log/
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git/commit/?id=2de497356955ce58cd066fb03d2da5235f3c7c23
>
> Ah I was looking here
>
> https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
Bugfixes go to linux-can. New features to linux-can-next.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |