[U-Boot] [PATCH 00/20] arm: rpi: Enable USB and Ethernet driver model Raspberry Pi

Simon Glass sjg at chromium.org
Wed Jul 8 04:53:32 CEST 2015


Raspberry Pi uses a DWC2 USB controller and a SMSC USB Ethernet adaptor.
Neither of these currently support driver model.

This series does the following:
- Move Raspberry Pi to use device tree control (u-boot-dtb.bin instead of
     u-boot.bin)
- Remove GPIO platform data (now uses device tree)
- Remove serial platform data (now uses device tree)
- Add 'ranges' support to simple-bus
- Convert the DWC2 USB driver to support driver model
- Convert the SMSC95XX USB Ethernet driver to support driver model
- Enable CONFIG_DM_ETH and CONFIG_DM_USB on Raspberry Pi

With Ethernet active the device list looks something like this:

U-Boot> dm tree
 Class       Probed   Name
----------------------------------------
 root        [ + ]    root_driver
 simple_bus  [ + ]    |-- soc
 gpio        [   ]    |   |-- gpio at 7e200000
 serial      [ + ]    |   |-- uart at 7e201000
 usb         [ + ]    |   `-- usb at 7e980000
 usb_hub     [ + ]    |       `-- usb_hub
 usb_hub     [ + ]    |           `-- usb_hub
 eth         [ + ]    |               `-- smsc95xx_eth
 simple_bus  [   ]    `-- clocks

Raspberry Pi 2 is not converted as I do not have one to test at present.



Simon Glass (20):
  dm: net: Support usbethaddr environment variable
  dm: usb: Allow USB Ethernet whenever CONFIG_DM_ETH is not defined
  dm: usb: Add an errno.h header to usb_ether.c
  dm: usb: Prepare dwc2 driver for driver-model conversion
  dm: usb: Add driver-model support to dwc2
  net: smsc95xx: Sort the include files
  net: smsc95xx: Rename AX_RX_URB_SIZE to RX_URB_SIZE
  net: smsc95xx: Correct the error numbers
  net: smsc95xx: Prepare for conversion to driver model
  net: smsc95xx: Add driver-model support
  dm: serial: Update binding for PL01x serial UART
  dm: Support address translation for simple-bus
  arm: rpi: Define CONFIG_TFTP_TSIZE to show tftp size info
  arm: rpi: Bring in kernel device tree files
  arm: rpi: Device tree modifications for U-Boot
  arm: rpi: Enable device tree control for Rasberry Pi
  arm: rpi: Drop the UART console platform data
  arm: rpi: Drop the GPIO platform data
  arm: rpi: Move to driver model for USB
  arm: rpi: Use driver model for Ethernet

 arch/arm/dts/Makefile                     |   2 +
 arch/arm/dts/bcm2835-rpi-b.dts            |  23 ++
 arch/arm/dts/bcm2835-rpi.dtsi             |  51 ++++
 arch/arm/dts/bcm2835.dtsi                 | 194 ++++++++++++
 arch/arm/dts/stv0991.dts                  |   2 +-
 arch/arm/mach-bcm283x/include/mach/gpio.h |   2 -
 board/raspberrypi/rpi/rpi.c               |  24 --
 common/cmd_usb.c                          |   7 +-
 configs/rpi_defconfig                     |   5 +
 doc/device-tree-bindings/serial/pl011.txt |  53 ++++
 doc/device-tree-bindings/serial/pl01x.txt |   7 -
 drivers/core/device.c                     |  17 +-
 drivers/core/simple-bus.c                 |  30 ++
 drivers/gpio/bcm2835_gpio.c               |  20 ++
 drivers/serial/serial_pl01x.c             |   6 +-
 drivers/usb/eth/smsc95xx.c                | 469 ++++++++++++++++++++----------
 drivers/usb/eth/usb_ether.c               |   1 +
 drivers/usb/host/dwc2.c                   | 247 ++++++++++++----
 include/configs/rpi-common.h              |   3 +-
 include/dm/device-internal.h              |  12 +
 include/dt-bindings/pinctrl/bcm2835.h     |  27 ++
 net/eth.c                                 |   7 +-
 22 files changed, 966 insertions(+), 243 deletions(-)
 create mode 100644 arch/arm/dts/bcm2835-rpi-b.dts
 create mode 100644 arch/arm/dts/bcm2835-rpi.dtsi
 create mode 100644 arch/arm/dts/bcm2835.dtsi
 create mode 100644 doc/device-tree-bindings/serial/pl011.txt
 delete mode 100644 doc/device-tree-bindings/serial/pl01x.txt
 create mode 100644 include/dt-bindings/pinctrl/bcm2835.h

-- 
2.4.3.573.g4eafbef



More information about the U-Boot mailing list