Skip to content

Commit

Permalink
dt-bindings: nvmem: new optional property wp-gpios
Browse files Browse the repository at this point in the history
Several memories have a write-protect pin, that when pulled high, it
blocks the write operation.

On some boards, this pin is connected to a GPIO and pulled high by
default, which forces the user to manually change its state before
writing.

Instead of modifying all the memory drivers to check this pin, make
the NVMEM subsystem check if the write-protect GPIO being passed
through the nvmem_config or defined in the device tree and pull it
low whenever writing to the memory.

Add a new optional property to the device tree binding document, which
allows to specify the GPIO line to which the write-protect pin is
connected.

Signed-off-by: Khouloud Touil <ktouil@baylibre.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
  • Loading branch information
Khouloud Touil authored and Bartosz Golaszewski committed Jan 9, 2020
1 parent 69afc4b commit 14f4957
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions Documentation/devicetree/bindings/nvmem/nvmem.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,14 @@ properties:
description:
Mark the provider as read only.

wp-gpios:
description:
GPIO to which the write-protect pin of the chip is connected.
The write-protect GPIO is asserted, when it's driven high
(logical '1') to block the write operation. It's deasserted,
when it's driven low (logical '0') to allow writing.
maxItems: 1

patternProperties:
"^.*@[0-9a-f]+$":
type: object
Expand Down Expand Up @@ -63,9 +71,12 @@ patternProperties:

examples:
- |
#include <dt-bindings/gpio/gpio.h>
qfprom: eeprom@700000 {
#address-cells = <1>;
#size-cells = <1>;
wp-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
/* ... */
Expand Down

0 comments on commit 14f4957

Please sign in to comment.