From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Wed, 5 Apr 2017 16:23:27 -0600 Subject: [U-Boot] [PATCH v6 00/18] arm: rpi: Enable USB, Ethernet, MMC, Video driver model on Raspberry Pi Message-ID: <20170405222345.32288-1-sjg@chromium.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Raspberry Pi uses a DWC2 USB controller and a SMSC USB Ethernet adaptor. Driver model support for these is available. This series does the following: - Enable CONFIG_DM_ETH and CONFIG_DM_USB on Raspberry Pi - Convert the MMC driver to driver model - Convert the video driver to driver model - Fixes a driver model video bug which accessed beyond the frame buffer - Fixes start-up of MMC with driver model (e.g. at present it does not support env_fat) - Clean up a few loose ends 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 [ + ] | |-- serial at 7e215040 mmc [ + ] | |-- sdhci at 7e300000 blk [ + ] | | `-- sdhci at 7e300000.blk video [ + ] | |-- hdmi at 7e902000 vidconsole0 [ + ] | | `-- hdmi at 7e902000.vidconsole0 usb [ + ] | `-- usb at 7e980000 usb_hub [ + ] | `-- usb_hub usb_hub [ + ] | `-- usb_hub eth [ + ] | `-- smsc95xx_eth simple_bus [ ] `-- clocks With version 4 a problem was discovered where tftpboot does not correctly read a file on rpi_2 and rpi_3. The cause is unknown but for now this series includes a work-around in the dwc2 driver. See here for details: https://lists.denx.de/pipermail/u-boot/2017-April/285451.html Changes in v6: - Drop changes to dwc2.c now we have http://patchwork.ozlabs.org/patch/746917/ - Rebase to master Changes in v5: - Add new patch for smsc95xx to correct free_pkt() implementation - Rebase to master Changes in v4: - Add patches to convert video and MMC to driver model also - Rebase to master Changes in v3: - Drop applied patches from series - Drop patch to introduce usbethaddr for driver model Simon Glass (18): net: smsc95xx: Correct free_pkt() implementation dm: mmc: Set up the MMC device when controller is probed dm: video: Correct line clearing code string: Use memcpy() within memmove() when we can arm: rpi: Drop the GPIO device addresses arm: rpi: Drop CONFIG_CONS_INDEX dm: arm: rpi: Move to driver model for USB dm: arm: rpi: Use driver model for Ethernet arm: rpi: Add a file to handle messages arm: rpi: Add a function to obtain the MMC clock dm: mmc: rpi: Convert Raspberry Pi to driver model for MMC dm: arm: rpi: Drop CONFIG_OF_EMBED video: arm: rpi: Move the video query out of the driver video: arm: rpi: Move the video settings out of the driver dm: video: Refactor lcd_simplefb to prepare for driver model dm: video: Add driver-model support to lcd_simplefb dm: video: arm: rpi: Convert to use driver model for video arm: rpi: Add a TODO to move all messages into the msg handler arch/arm/mach-bcm283x/Makefile | 2 +- arch/arm/mach-bcm283x/include/mach/gpio.h | 5 - arch/arm/mach-bcm283x/include/mach/msg.h | 51 ++++++++++ arch/arm/mach-bcm283x/msg.c | 154 ++++++++++++++++++++++++++++++ board/raspberrypi/rpi/rpi.c | 56 +---------- common/lcd_simplefb.c | 47 +++++++-- configs/rpi_2_defconfig | 6 +- configs/rpi_3_32b_defconfig | 6 +- configs/rpi_3_defconfig | 6 +- configs/rpi_defconfig | 6 +- drivers/mmc/bcm2835_sdhci.c | 81 ++++++++++++---- drivers/mmc/mmc-uclass.c | 12 +++ drivers/usb/eth/smsc95xx.c | 4 +- drivers/video/bcm2835.c | 140 +++++++-------------------- drivers/video/console_normal.c | 3 +- include/configs/rpi.h | 17 +--- lib/string.c | 11 +-- 17 files changed, 384 insertions(+), 223 deletions(-) create mode 100644 arch/arm/mach-bcm283x/include/mach/msg.h create mode 100644 arch/arm/mach-bcm283x/msg.c -- 2.12.2.715.g7642488e1d-goog