ARM: dts: Add LEGO MINDSTORMS EV3 dts
PATCH v3 1/1 ARM: dts: Add LEGO MINDSTORMS EV3 dts
This adds a device tree definition file for LEGO MINDSTORMS EV3.
What is working:
* Pin muxing
* Pinconf
* GPIOs
* MicroSD card reader
* UART on input port 1
* Buttons
* LEDs
* Poweroff/reset
* Flash memory
* EEPROM
* USB host port
* USB peripheral port
What is not working/to be added later:
* Speaker - have patch submitted to get pwm-beeper working - maybe someday it will have a real sound driver that uses PRU
* A/DC chip - have driver submitted and accepted - waiting for ack on device tree bindings
* Display - waiting for "simple DRM" to be mainlined
* Bluetooth - needs new driver for sequencing power/enable/clock
* Input and output ports - need some sort of new phy or extcon driver as well as PRU UART and PRU I2C drivers
* Battery indication - needs new power supply driver
Note on flash partitions:
These partitions are based on the official EV3 firmware from LEGO. It is expected that most users of the mainline kernel on EV3 will be booting from an SD card while retaining the official firmware in the flash memory. Furthermore, the official firmware uses an ancient U-Boot (2009) that has no device tree support. So, it makes sense to have this partition table in the EV3 device tree file. In the unlikely case that anyone does create their own firmware image with different partitioning, they can use a modern U-Boot in their own firmware image that modifies the device tree with the custom partitions.
---
v3 changes:
* required defconfig patches have been picked up in linux-davinci tree, so this is the only patch left in the series
* Added aliases node for consistent naming of serial ports
* Added memory node
* Removed nodes that are not finalized yet
* Renamed button labels to match EV3 users manual
v2 changes:
* Dropped defconfig patches that have already been pick up
* Added some new defconfig patches
* Updated device tree file based on feedback and new available bindings
* Renamed file to include da850- prefix
* Changed button labels
* Fixed LED names
* Added beeper device for sound
* Added regulators for USB and A/DC
* Removed unused pinmux nodes
* Added pinconf for buttons
* Enabled pwms
* Used preferred bindings for flash partitions
* Added A/DC spi device
* Enabled USB
arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/da850-lego-ev3.dts | 313 +++++++++++++++++++++++++++++++++++ 2 files changed, 315 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/da850-lego-ev3.dts
arch/arm/boot/dts/Makefile +2 -1
@@ -130,7 +130,8 @@ dtb-$(CONFIG_ARCH_CLPS711X) += \ dtb-$(CONFIG_ARCH_DAVINCI) += \ da850-lcdk.dtb \ da850-enbw-cmc.dtb \ - da850-evm.dtb + da850-evm.dtb \ + da850-lego-ev3.dtb dtb-$(CONFIG_ARCH_DIGICOLOR) += \ cx92755_equinox.dtb dtb-$(CONFIG_ARCH_EFM32) += \
arch/arm/boot/dts/da850-lego-ev3.dts new file +313 -0
313 lines not on this page · raw message
Signature · 1 line
2.7.4
Quoted 41 lines · David Lechner
This adds a device tree definition file for LEGO MINDSTORMS EV3.
What is working:
* Pin muxing
* Pinconf
* GPIOs
* MicroSD card reader
* UART on input port 1
* Buttons
* LEDs
* Poweroff/reset
* Flash memory
* EEPROM
* USB host port
* USB peripheral portWhat is not working/to be added later:
* Speaker - have patch submitted to get pwm-beeper working - maybe someday it will have a real sound driver that uses PRU
* A/DC chip - have driver submitted and accepted - waiting for ack on device tree bindings
* Display - waiting for "simple DRM" to be mainlined
* Bluetooth - needs new driver for sequencing power/enable/clock
* Input and output ports - need some sort of new phy or extcon driver as well as PRU UART and PRU I2C drivers
* Battery indication - needs new power supply driverNote on flash partitions:
These partitions are based on the official EV3 firmware from LEGO. It is expected that most users of the mainline kernel on EV3 will be booting from an SD card while retaining the official firmware in the flash memory. Furthermore, the official firmware uses an ancient U-Boot (2009) that has no device tree support. So, it makes sense to have this partition table in the EV3 device tree file. In the unlikely case that anyone does create their own firmware image with different partitioning, they can use a modern U-Boot in their own firmware image that modifies the device tree with the custom partitions.
Quoted 1 line
Signed-off-by David Lechner <[email protected]>
There are couple of checkpatch errors that show up. The compatible "lego,ev3" needs to be documented in Documentation/devicetree/bindings/arm/davinci.txt
"at24,24c128" is undocumented. Is that an atmel chip on the EV3? If the manufacturer name is not clear, Documentation/devicetree/bindings/eeprom/eeprom.txt advises using just "24c128"
Finally, lego needs to be added to Documentation/devicetree/bindings/vendor-prefixes.txt
Can you please submit the documentation portions as separate patches in a series along with this patch.
Thanks,
Sekhar
Quoted 3 lines · Sekhar Nori
Quoted 2 lines · David Lechner
This adds a device tree definition file for LEGO MINDSTORMS EV3.
...
Quoted 9 lines
There are couple of checkpatch errors that show up. The compatible "lego,ev3" needs to be documented in
Documentation/devicetree/bindings/arm/davinci.txt"at24,24c128" is undocumented. Is that an atmel chip on the EV3? If the manufacturer name is not clear,
Documentation/devicetree/bindings/eeprom/eeprom.txtadvises using just "24c128"
The mfg is microchip, so I guess I will just go with "24c128"
Quoted 6 lines
Finally, lego needs to be added to
Documentation/devicetree/bindings/vendor-prefixes.txtCan you please submit the documentation portions as separate patches in a series along with this patch.
Yes.
Quoted 4 lines
Thanks,
Sekhar
Quoted 10 lines · David Lechner
Quoted 3 lines · Sekhar Nori
Quoted 2 lines · David Lechner
This adds a device tree definition file for LEGO MINDSTORMS EV3.
...
Quoted 5 lines
There are couple of checkpatch errors that show up. The compatible "lego,ev3" needs to be documented in
Documentation/devicetree/bindings/arm/davinci.txt
Quoted 6 lines
Quoted 4 lines
"at24,24c128" is undocumented. Is that an atmel chip on the EV3? If the manufacturer name is not clear,
Documentation/devicetree/bindings/eeprom/eeprom.txtadvises using just "24c128"The mfg is microchip, so I guess I will just go with "24c128"
I think I have let the device tree bindings doc confuse me. On second though, I think the correct thing is to included the manufacturer.
Quoted 15 lines
Quoted 7 lines
Finally, lego needs to be added to
Documentation/devicetree/bindings/vendor-prefixes.txtCan you please submit the documentation portions as separate patches in a series along with this patch.
Yes.
Quoted 4 lines
Thanks,
Sekhar
kbuild test robot
build botreproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree…
Hi David,
[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.10-rc3 next-20170113]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/David-Lechner/ARM-dts-Add-LEGO-MINDSTORMS-EV3-dts/20170114-145113 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next config: arm-u300_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm
All errors (new ones prefixed by >>):
>> Error: arch/arm/boot/dts/da850-lego-ev3.dts:310.1-6 Label or path usb1 not found
FATAL ERROR: Syntax error parsing input tree
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 12462 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170115/a5b32497/attachment-0001.gz>