[U-Boot] [PATCH v4 00/34] Add support for 1wire protocol and 1wire eeproms

Eugen Hristev eugen.hristev at microchip.com
Tue Sep 18 07:35:23 UTC 2018


Hello Tom,

I rebased this series on the latest u-boot/master, and updated to version4.
Also a small fix in one of the patches.
I did not receive any feedback since v3 (August 20th).
Can you please let me know if there are any more requirements for the features
to be accepted? So I can work on them.

Thanks !

Below is the original + updated cover letter:

This is a patch series originally written by Maxime Ripard,
https://lists.denx.de/pipermail/u-boot/2016-November/272138.html

titled:

[U-Boot] [PATCH RESEND 0/9] sunxi: chip: Enable the DIP auto-detection

and reworked to include support for the EEPROMs on the PDAs connected
to the Microchip/Atmel SAMA Xplained boards.

This is the version 4 of the rework, version 1 was titled:
[PATCH 00/20] Add support for 1wire protocol and 1wire eeproms
and version 2 was titled:
[PATCH v2 00/30] Add support for 1wire protocol and 1wire eeproms
version 3 was titled:
[PATCH v3 00/34] Add support for 1wire protocol and 1wire eeproms

It addresses feedback received in the first version and fixes a few bugs
found in the second version.

Version 4 is just a rebase on latest u-boot with a small fix in one patch.

The patch series adds first a driver for onewire uclass, and onewire over
gpio bitbanging driver. Then it adds a uclass for onewire EEPROMS, and
specific driver for Maxim EEPROMs. I have added some sandbox support,
configuration and device tree for it and for boards sama5d2_xplained,
sama5d3_xplained, sama5d4_xplained, sama5d2_ptc_ek and sama5d27_som1_ek.
Also added common code for PDA detection, as the memory
on the PDAs is connected to the SoC on the onewire bus.

Thanks to everyone for the review and feedback.

Below is a short summary of the commits:

The series adds a w1-uclass driver for the onewire interface u-class.
This is done in patch:
[PATCH v4 01/34] w1: Add 1-Wire uclass

Also, we add a driver for the w1-uclass specific to the onewire over
bitbanged gpio, this is done in patch:
[PATCH v4 02/34] w1: Add 1-Wire gpio driver

Add the bindings documentation in:
[PATCH v4 03/34] dt-bindings: W1: w1-gpio: added bindings for w1-gpio

A uclass driver is added for one wire eeproms, in patch :
[PATCH v4 04/34] W1-EEPROM: Add an W1-EEPROM uclass for 1 wire EEPROMs

Connection between memories and the bus is done in the patch:
[PATCH v4 05/34] w1: identify devices with w1-eeprom uclas

Specific driver for the DS24 Maxim EEPROMs is added in the patch:
[PATCH v4 06/34] W1-EEPROM: add support for Maxim DS24 eeprom families

Bindings for the DS24xxx driver added in the patch:
[PATCH v4 07/34] dt-bindings: w1-eeprom: ds24xxx: create bindings

A sandbox driver for a onewire EEPROM is added in patch:
[PATCH v4 08/34] W1-EEPROM: add sandbox driver

Bindings for the sandbox eeprom driver added in patch:
[PATCH v4 09/34] dt-bindings: w1-eeprom: eep_sandbox: create bindings

A command is added for the onewire protocol in patch:
[PATCH v4 10/34] w1: add command for onewire protocol

Pinctrl driver for sandbox was updated to add a new group and function for w1:
[PATCH v4 11/34] pinctrl: sandbox: add gpio onewire w1 group

Add a node in sandbox DT to have a test node for sandbox.
[PATCH v4 12/34] sandbox: DTS: w1: add node for one wire interface on
 GPIO

The defconfig for sandbox is updated to include the drivers:
[PATCH v4 13/34] configs: sandbox: add onewire w1 and sandbox
 eeprom

Configuration for sama5d2 xplained is updated in patch:
[PATCH v4 14/34] configs: sama5d2_xplained: add onewire and eeprom

Configuration for sama5d3 xplained is updated in patch:
[PATCH v4 15/34] configs: sama5d3_xplained: add onewire and eeprom

Configuration for sama5d27_som1_ek is updated in patch:
[PATCH v4 16/34] configs: sama5d27_som1_ek: add onewire and eeprom
 drivers

Configuration for sama5d2 ptc is updated in patch:
[PATCH v4 17/34] configs: sama5d2_ptc_ek: add onewire and eeprom
 drivers

Configuration for sama5d4 xplained is updated in patch:
[PATCH v4 18/34] configs: sama5d4_xplained: add onewire and eeprom
 drivers

Pda detection is added in the common part for atmel boards:
[PATCH v4 19/34] board: atmel: add support for pda detection

Specifically add it for Sama5d2 xplained board in patch:
[PATCH v4 20/34] board: sama5d2_xplained: add pda detect call at init
 time

Specifically add it for Sama5d3 xplained board in patch:
[PATCH v4 21/34] board: sama5d3_xplained: add pda detect call at init
 time

Specifically add it for Sama5d27 som1 ek board in patch:
[PATCH v4 22/34] board: sama5d27_som1_ek: add pda detect call at init
 time

Specifically add it for Sama5d27 ptc ek board in patch:
[PATCH v4 23/34] board: sama5d2_ptc_ek: add pda detect call at init
 time

Specifically add it for Sama5d4 xplained board in patch:
[PATCH v4 24/34] board: sama5d4_xplained: add pda detect call at init
 time

Add support for overlays for sama5d2 xplained config in patch:
[PATCH v4 25/34] configs: sama5d2_xplained: add fdt overlay support

Add support for overlays for sama5d3 xplained config in patch:
[PATCH v4 26/34] configs: sama5d3_xplained: add fdt overlay support

Add support for overlays for sama5d2 ptc ek config in patch:
[PATCH v4 27/34] configs: sama5d2_ptc_ek: add fdt overlay support

Add support for overlays for sama5d2 som1 ek config in patch:
[PATCH v4 28/34] configs: sama5d27_som1_ek: add fdt overlay support

Add support for overlays for sama5d4 xplained config in patch:
[PATCH v4 29/34] configs: sama5d4_xplained: add fdt overlay support

The DT for the SAMA5D2 Soc and xplained is updated to include a onewire node.
This is done in patch:
[PATCH v4 30/34] ARM: dts: at91: sama5d2_xplained: add onewire connector

The DT for the SAMA5D3 Soc and xplained is updated to include a onewire node.
This is done in patch:
[PATCH v4 31/34] ARM: dts: at91: sama5d3_xplained: add onewire connector

The DT for sama5d27 som1 ek is updated to include a onewire node.
This is done in patch:
[PATCH v4 32/34] ARM: dts: at91: sama5d27_som1_ek: add onewire
 connector for LCD eeprom

The DT for sama5d2 ptc ek is updated to include a onewire node.
This is done in patch:
[PATCH v4 33/34] ARM: dts: at91: sama5d2_ptc: add onewire connector
 for LCD eeprom

The DT for sama5d2 xplained is updated to include a onewire node.
This is done in patch:
[PATCH v4 34/34] ARM: dts: at91: sama5d4_xplained: add onewire connector
 for LCD eeprom

Changes in v4:
- Rebased on latest u-boot/master
- Checked ret value in read function in patch
[PATCH v4 19/34] board: atmel: add support for pda detection

Changes in v3:
- add suport for sama5d4 xplained.
- modified the reset ops for the w1-gpio driver to also check for bus
release by the memory after the presence pulse. This is done to avoid the
case when the bus is being kept indefinitely at low, thus confusing the
detection algorithm.
- fixed issue in w1-uclass when the id for the child node was improperly saved
- fixed issue when the gpio driver was returning only FFs but the read buf
function error code was not checked.

Changes in v2:
- added support for two more boards: the PTC ek and the SOM1 ek.
- modified the enumerate mechanism, to search through devicetree nodes,
the memories are now in device tree, as suggested by Simon Glass.
When a serial number is read from the bus, the driver will match it
with a corresponding node in device tree.
- modified the probe mechanism for the bus, when trying to get the bus
use a different get function that will also probe the driver, regardless
of present aliases in DT.
- added bindings for ds24xxx driver and eep_sandbox, because they are
referenced from devicetree now.

Eugen Hristev (30):
  dt-bindings: W1: w1-gpio: added bindings for w1-gpio
  w1: identify devices with w1-eeprom uclass
  dt-bindings: w1-eeprom: ds24xxx: create bindings
  W1-EEPROM: add sandbox driver
  dt-bindings: w1-eeprom: eep_sandbox: create bindings
  w1: add command for onewire protocol
  pinctrl: sandbox: add gpio onewire w1 group
  sandbox: DTS: w1: add node for one wire interface on GPIO
  configs: sandbox: add onewire w1 and sandbox eeprom
  configs: sama5d2_xplained: add onewire and eeprom drivers
  configs: sama5d3_xplained: add onewire and eeprom drivers
  configs: sama5d27_som1_ek: add onewire and eeprom drivers
  configs: sama5d2_ptc_ek: add onewire and eeprom drivers
  configs: sama5d4_xplained: add onewire and eeprom drivers
  board: atmel: add support for pda detection
  board: sama5d2_xplained: add pda detect call at init time
  board: sama5d3_xplained: add pda detect call at init time
  board: sama5d27_som1_ek: add pda detect call at init time
  board: sama5d2_ptc_ek: add pda detect call at init time
  board: sama5d4_xplained: add pda detect call at init time
  configs: sama5d2_xplained: add fdt overlay support
  configs: sama5d3_xplained: add fdt overlay support
  configs: sama5d2_ptc_ek: add fdt overlay support
  configs: sama5d27_som1_ek: add fdt overlay support
  configs: sama5d4_xplained: add fdt overlay support
  ARM: dts: at91: sama5d2_xplained: add onewire connector for LCD eeprom
  ARM: dts: at91: sama5d3_xplained: add onewire connector for LCD eeprom
  ARM: dts: at91: sama5d27_som1_ek: add onewire connector for LCD eeprom
  ARM: dts: at91: sama5d2_ptc: add onewire connector for LCD eeprom
  ARM: dts: at91: sama5d4_xplained: add onewire connector for LCD eeprom

Maxime Ripard (4):
  w1: Add 1-Wire uclass
  w1: Add 1-Wire gpio driver
  W1-EEPROM: Add an W1-EEPROM uclass for 1 wire EEPROMs
  W1-EEPROM: add support for Maxim DS24 eeprom families

 arch/arm/dts/at91-sama5d27_som1_ek.dts             |  17 ++
 arch/arm/dts/at91-sama5d2_ptc_ek.dts               |  17 ++
 arch/arm/dts/at91-sama5d2_xplained.dts             |  17 ++
 arch/arm/dts/at91-sama5d3_xplained.dts             |  17 ++
 arch/arm/dts/at91-sama5d4_xplained.dts             |  16 ++
 arch/arm/dts/sama5d2.dtsi                          |   5 +
 arch/arm/dts/sama5d3.dtsi                          |   5 +
 arch/arm/dts/sama5d4.dtsi                          |   5 +
 arch/arm/mach-at91/Kconfig                         |   2 +
 arch/sandbox/dts/sandbox.dts                       |  20 ++
 board/atmel/common/board.c                         |  57 +++++
 board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c    |   3 +
 board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c        |  10 +
 board/atmel/sama5d2_xplained/sama5d2_xplained.c    |   3 +
 board/atmel/sama5d3_xplained/sama5d3_xplained.c    |  10 +
 board/atmel/sama5d4_xplained/sama5d4_xplained.c    |   3 +
 cmd/Kconfig                                        |   7 +
 cmd/Makefile                                       |   1 +
 cmd/w1.c                                           | 126 +++++++++++
 configs/sama5d27_som1_ek_mmc_defconfig             |   5 +
 configs/sama5d2_ptc_ek_mmc_defconfig               |   5 +
 configs/sama5d2_ptc_ek_nandflash_defconfig         |   5 +
 configs/sama5d2_xplained_mmc_defconfig             |   5 +
 configs/sama5d2_xplained_spiflash_defconfig        |   5 +
 configs/sama5d3_xplained_mmc_defconfig             |   5 +
 configs/sama5d3_xplained_nandflash_defconfig       |   5 +
 configs/sama5d4_xplained_mmc_defconfig             |   5 +
 configs/sama5d4_xplained_nandflash_defconfig       |   5 +
 configs/sama5d4_xplained_spiflash_defconfig        |   5 +
 configs/sandbox_defconfig                          |   4 +
 doc/device-tree-bindings/w1-eeprom/ds24xxx.txt     |  37 ++++
 doc/device-tree-bindings/w1-eeprom/eep_sandbox.txt |  34 +++
 doc/device-tree-bindings/w1/w1-gpio.txt            |  40 ++++
 drivers/Kconfig                                    |   4 +
 drivers/Makefile                                   |   2 +
 drivers/pinctrl/pinctrl-sandbox.c                  |   3 +
 drivers/w1-eeprom/Kconfig                          |  29 +++
 drivers/w1-eeprom/Makefile                         |   5 +
 drivers/w1-eeprom/ds24xxx.c                        |  55 +++++
 drivers/w1-eeprom/eep_sandbox.c                    |  61 ++++++
 drivers/w1-eeprom/w1-eeprom-uclass.c               | 116 ++++++++++
 drivers/w1/Kconfig                                 |  25 +++
 drivers/w1/Makefile                                |   3 +
 drivers/w1/w1-gpio.c                               | 176 +++++++++++++++
 drivers/w1/w1-uclass.c                             | 240 +++++++++++++++++++++
 include/dm/uclass-id.h                             |   2 +
 include/w1-eeprom.h                                |  33 +++
 include/w1.h                                       |  37 ++++
 48 files changed, 1297 insertions(+)
 create mode 100644 cmd/w1.c
 create mode 100644 doc/device-tree-bindings/w1-eeprom/ds24xxx.txt
 create mode 100644 doc/device-tree-bindings/w1-eeprom/eep_sandbox.txt
 create mode 100644 doc/device-tree-bindings/w1/w1-gpio.txt
 create mode 100644 drivers/w1-eeprom/Kconfig
 create mode 100644 drivers/w1-eeprom/Makefile
 create mode 100644 drivers/w1-eeprom/ds24xxx.c
 create mode 100644 drivers/w1-eeprom/eep_sandbox.c
 create mode 100644 drivers/w1-eeprom/w1-eeprom-uclass.c
 create mode 100644 drivers/w1/Kconfig
 create mode 100644 drivers/w1/Makefile
 create mode 100644 drivers/w1/w1-gpio.c
 create mode 100644 drivers/w1/w1-uclass.c
 create mode 100644 include/w1-eeprom.h
 create mode 100644 include/w1.h

-- 
2.7.4



More information about the U-Boot mailing list