ARM: tegra: initial support for Colibri T30
Subsystems (7)
v2 cover ARM: tegra: initial support for Colibri T30
From: Stefan Agner <[email protected]>
This device tree cooked a while in our repository and is now quite complete. All is tested on several Colibri T30 modules and evaluation boards by Marcel and me. The device tree is splitted into a module part and the carrier board. The former is then included by the latter (in this case the evaluation board). The comments "Colibri: " represent the SO-DIMM Pin name as defined in the Colibri standard, and should be helpful for users adopting the device tree for other carrier boards.
The second revision has one new patch which adds Toradex default demo panels to the simple-panel driver. One could argue that those panels are not actually part of the evaluation board, but when customer build something with TFT panels they usually are integrated into one system. Hence I descided to add them to the evaluation board as well to have such a complete system, including TFT panel.
Note: Patch 1 is already applied!
Changes since v1:
- Extended with two TFT LCD panels from EDT
- Removed version specific compatible string and add modules compatible string in the carrier board file
- Removed serial alias and dr_mode property from USB controller
- Removed PMC status since this is enabled in tegra30.dtsi
- Lowered voltage of VDD_CPU to 1.15V again (tests were done with 1.15V)
- Added pinmux for lcd_m1 which makes data enable based panels working
Stefan Agner (3):
ARM: tegra: enable MCP251x CAN controller and DS1307 RTC drm/panel: add support for EDT panels
ARM: tegra: initial add of Colibri T30
.../devicetree/bindings/panel/edt,et057090dhu.txt | 7 + .../devicetree/bindings/panel/edt,et070080dh6.txt | 7 + arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/tegra30-colibri-eval-v3.dts | 205 +++++++++++ arch/arm/boot/dts/tegra30-colibri.dtsi | 377 +++++++++++++++++++++ arch/arm/configs/tegra_defconfig | 6 + drivers/gpu/drm/panel/panel-simple.c | 52 +++ 7 files changed, 655 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/edt,et057090dhu.txt create mode 100644 Documentation/devicetree/bindings/panel/edt,et070080dh6.txt create mode 100644 arch/arm/boot/dts/tegra30-colibri-eval-v3.dts create mode 100644 arch/arm/boot/dts/tegra30-colibri.dtsi
Signature · 1 line
1.9.2
PATCH v2 1/3 ARM: tegra: enable MCP251x CAN controller and DS1307 RTC
From: Stefan Agner <[email protected]>
Toradex Colibri Evaluation Board uses the DS1307 RTC and the MCP251x CAN controller. The NVIDIA Tegra 3 based Colibri T30 module can be used on this carrier board, hence enable those drivers in tegra_defonfig.
Furthermore the NVIDIA Tegra 3 based Apalis T30 module too contains two MCP251x CAN controller.
--- arch/arm/configs/tegra_defconfig | 6 ++++++ 1 file changed, 6 insertions(+)
arch/arm/configs/tegra_defconfig +6 -0
@@ -73,6 +73,11 @@ CONFIG_INET6_IPCOMP=y CONFIG_IPV6_MIP6=y CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_CAN=y +CONFIG_CAN_RAW=y +CONFIG_CAN_BCM=y +CONFIG_CAN_DEV=y +CONFIG_CAN_MCP251X=y CONFIG_BT=y CONFIG_BT_RFCOMM=y CONFIG_BT_BNEP=y
@@ -222,6 +227,7 @@ CONFIG_LEDS_TRIGGER_TRANSIENT=y CONFIG_LEDS_TRIGGER_CAMERA=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_AS3722=y +CONFIG_RTC_DRV_DS1307=y CONFIG_RTC_DRV_MAX8907=y CONFIG_RTC_DRV_PALMAS=y CONFIG_RTC_DRV_TPS6586X=y
Signature · 1 line
1.9.2
Re: [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC
Quoted 9 lines · stefan at agner.ch
From: Stefan Agner <[email protected]>
Toradex Colibri Evaluation Board uses the DS1307 RTC and the MCP251x CAN controller. The NVIDIA Tegra 3 based Colibri T30 module can be used on this carrier board, hence enable those drivers in
tegra_defonfig.Furthermore the NVIDIA Tegra 3 based Apalis T30 module too contains two MCP251x CAN controller.
I already applied v1 of this one patch.
PATCH v2 2/3 drm/panel: add support for EDT panels
In reply to [email protected]From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
--- .../devicetree/bindings/panel/edt,et057090dhu.txt | 7 +++ .../devicetree/bindings/panel/edt,et070080dh6.txt | 7 +++ drivers/gpu/drm/panel/panel-simple.c | 52 ++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/edt,et057090dhu.txt create mode 100644 Documentation/devicetree/bindings/panel/edt,et070080dh6.txt
Documentation/devicetree/bindings/panel/edt,et057090dhu.txt new file +7 -0
@@ -0,0 +1,7 @@ +Emerging Display Technology Corp. 5.7" VGA TFT LCD panel + +Required properties: +- compatible: should be "edt,et057090dhu" + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/edt,et070080dh6.txt new file +7 -0
@@ -0,0 +1,7 @@ +Emerging Display Technology Corp. 7.0" WVGA TFT LCD panel + +Required properties: +- compatible: should be "edt,et070080dh6" + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory.
drivers/gpu/drm/panel/panel-simple.c +52 -0
64 lines not on this page · raw message
Signature · 1 line
1.9.2
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
Quoted 6 lines · stefan at agner.ch
From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
Signed-off-by Stefan Agner <[email protected]>
Panel patches should go to the dri-devel mailing list as well.
Also a patch was posted only yesterday for a panel that seems to be the exact same one as this, even though the name differs minimally, see:
https://patchwork.kernel.org/patch/4175251/
Adding Philipp on Cc so you guys can work together whether this is indeed the same panel. The only differences seem to be in the vertical front and back porches, but I suspect that either settings will work on both Tegra and i.MX.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140515/234b2dad/attachment.sig>
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
Hi Thierry, hi Philipp,
Am 2014-05-15 09:51, schrieb Thierry Reding:
Quoted 13 lines · stefan at agner.ch
Quoted 6 lines
From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
Signed-off-by Stefan Agner <[email protected]>Panel patches should go to the dri-devel mailing list as well.
Also a patch was posted only yesterday for a panel that seems to be the exact same one as this, even though the name differs minimally, see:
Quoted 6 lines
https://patchwork.kernel.org/patch/4175251/Adding Philipp on Cc so you guys can work together whether this is indeed the same panel. The only differences seem to be in the vertical front and back porches, but I suspect that either settings will work on both Tegra and i.MX.
Its etm0700g0dh6 vs. et070080dh6, Philipp's panel is with captive multi touch, (hence the M I guess). The panel itself really looks the same.
I found this overview of EDT displays:
http://www.dmbtechnics.com/scripts/passthru.php?id=7
There seem to be quite a lot variants with the same panel...
Regarding timings, I just checked the documentation, Philipp's timing really matches the documented ones, I miscalculated the vertical back porch.
How do we resolve that?
I would suggest that I split out that patch and remove the et070080dh6 panel and send the other as a single patch to the dri-devel mailing list as well.
Philipp, could you add my display type (et070080dh6) to the compatible list of your mode/panel entry?
Does this sound reasonable?
--
Stefan
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
Quoted 26 lines · Stefan Agner
Hi Thierry, hi Philipp,
Am 2014-05-15 09:51, schrieb Thierry Reding:
Quoted 13 lines · stefan at agner.ch
Quoted 6 lines
From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
Signed-off-by Stefan Agner <[email protected]>Panel patches should go to the dri-devel mailing list as well.
Also a patch was posted only yesterday for a panel that seems to be the exact same one as this, even though the name differs minimally, see:
Quoted 6 lines
https://patchwork.kernel.org/patch/4175251/Adding Philipp on Cc so you guys can work together whether this is indeed the same panel. The only differences seem to be in the vertical front and back porches, but I suspect that either settings will work on both Tegra and i.MX.
Its etm0700g0dh6 vs. et070080dh6, Philipp's panel is with captive multi touch, (hence the M I guess). The panel itself really looks the same.
Quoted 8 lines
I found this overview of EDT displays:
http://www.dmbtechnics.com/scripts/passthru.php?id=7There seem to be quite a lot variants with the same panel...
Regarding timings, I just checked the documentation, Philipp's timing really matches the documented ones, I miscalculated the vertical back porch.
Okay, so that means that the panel works for you with the same timings that Philipp has in the ETM0700G0DH6 patch? If so then I definitely think we should be sharing the timings in the driver by making the two compatible entries point to the same driver data.
Quoted 5 lines
How do we resolve that?
I would suggest that I split out that patch and remove the et070080dh6 panel and send the other as a single patch to the dri-devel mailing list as well.
Yes, that would work.
Quoted 2 lines
Philipp, could you add my display type (et070080dh6) to the compatible list of your mode/panel entry?
I also noticed that Philipp's patch doesn't actually introduce the device tree bindings, so that will have to be added as well.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140515/7d6f0d9b/attachment.sig>
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
Am Donnerstag, den 15.05.2014, 11:12 +0200 schrieb Thierry Reding:
Quoted 47 lines · Stefan Agner
Quoted 26 lines
Hi Thierry, hi Philipp,
Am 2014-05-15 09:51, schrieb Thierry Reding:
Quoted 13 lines · stefan at agner.ch
Quoted 6 lines
From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
Signed-off-by Stefan Agner <[email protected]>Panel patches should go to the dri-devel mailing list as well.
Also a patch was posted only yesterday for a panel that seems to be the exact same one as this, even though the name differs minimally, see:
Quoted 6 lines
https://patchwork.kernel.org/patch/4175251/Adding Philipp on Cc so you guys can work together whether this is indeed the same panel. The only differences seem to be in the vertical front and back porches, but I suspect that either settings will work on both Tegra and i.MX.
Its etm0700g0dh6 vs. et070080dh6, Philipp's panel is with captive multi touch, (hence the M I guess). The panel itself really looks the same.
Quoted 8 lines
I found this overview of EDT displays:
http://www.dmbtechnics.com/scripts/passthru.php?id=7There seem to be quite a lot variants with the same panel...
Regarding timings, I just checked the documentation, Philipp's timing really matches the documented ones, I miscalculated the vertical back porch.
Okay, so that means that the panel works for you with the same timings that Philipp has in the ETM0700G0DH6 patch? If so then I definitely think we should be sharing the timings in the driver by making the two compatible entries point to the same driver data.
Quoted 5 lines
How do we resolve that?
I would suggest that I split out that patch and remove the et070080dh6 panel and send the other as a single patch to the dri-devel mailing list as well.
Quoted 7 lines
Yes, that would work.
Quoted 2 lines
Philipp, could you add my display type (et070080dh6) to the compatible list of your mode/panel entry?
I also noticed that Philipp's patch doesn't actually introduce the device tree bindings, so that will have to be added as well.
Hmm, yes. Should I take over the edt,et070080dh6.txt from Stefan's series and repost all, or can I just hand in the missing edt,etm0700g0dh6.txt separately?
regards
Philipp
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
Am 2014-05-15 11:35, schrieb Philipp Zabel:
Quoted 1 line
Am Donnerstag, den 15.05.2014, 11:12 +0200 schrieb Thierry Reding:
<snip>
Quoted 6 lines
Quoted 2 lines
I also noticed that Philipp's patch doesn't actually introduce the device tree bindings, so that will have to be added as well.
Hmm, yes. Should I take over the edt,et070080dh6.txt from Stefan's series and repost all, or can I just hand in the missing edt,etm0700g0dh6.txt separately?
Just sent a revision of my patch which doesn't contain that text file anymore, hence for me it would be preferable if you can add both files...
--
Stefan
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
In reply to Thierry RedingAm Donnerstag, den 15.05.2014, 09:51 +0200 schrieb Thierry Reding:
Quoted 13 lines · stefan at agner.ch
Quoted 6 lines
From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
Signed-off-by Stefan Agner <[email protected]>Panel patches should go to the dri-devel mailing list as well.
Also a patch was posted only yesterday for a panel that seems to be the exact same one as this, even though the name differs minimally, see:
Quoted 6 lines
https://patchwork.kernel.org/patch/4175251/Adding Philipp on Cc so you guys can work together whether this is indeed the same panel. The only differences seem to be in the vertical front and back porches, but I suspect that either settings will work on both Tegra and i.MX.
The ETM0700G0DH6 Datasheet lists 2 lines as the typical vsync pulse width, 525 lines as the vertical period, and 35 lines as the vsync -de time, which is vsync len + back porch.
So vertical timings 480 + 10 + 2 + 33 = 525 should be valid for the ET0700G0DH6 panel:
I have not seen the data sheet for ET070080DH6.
regards
Philipp
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
Quoted 21 lines · Philipp Zabel
Am Donnerstag, den 15.05.2014, 09:51 +0200 schrieb Thierry Reding:
Quoted 13 lines · stefan at agner.ch
Quoted 6 lines
From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
Signed-off-by Stefan Agner <[email protected]>Panel patches should go to the dri-devel mailing list as well.
Also a patch was posted only yesterday for a panel that seems to be the exact same one as this, even though the name differs minimally, see:
Quoted 6 lines
https://patchwork.kernel.org/patch/4175251/Adding Philipp on Cc so you guys can work together whether this is indeed the same panel. The only differences seem to be in the vertical front and back porches, but I suspect that either settings will work on both Tegra and i.MX.
Quoted 5 lines
The ETM0700G0DH6 Datasheet lists 2 lines as the typical vsync pulse width, 525 lines as the vertical period, and 35 lines as the vsync -de time, which is vsync len + back porch.
So vertical timings 480 + 10 + 2 + 33 = 525 should be valid for the ET0700G0DH6 panel:
Shouldn't that work with 480 + 8 + 2 + 35 too? It seems to me that it should still be safe for that panel. Similarily I'd expect your timings to work on the ET070080DH6.
Irrespective of that they both seem to have different capabilities so two compatible values should be fine. However for the purpose of the simple panel driver they could be made to share the same timings if it works for both panels and devices.
As for the touch panel on the ETM0700G0DH6, do you happen to know how that's usually connected? I suspect it needs external hardware to capture the YU, XL, YD and XR pins and turn that into raw coordinates and pen down interrupts.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140515/98c1de54/attachment-0001.sig>
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
Am Donnerstag, den 15.05.2014, 11:08 +0200 schrieb Thierry Reding:
Quoted 28 lines · Philipp Zabel
Quoted 21 lines
Am Donnerstag, den 15.05.2014, 09:51 +0200 schrieb Thierry Reding:
Quoted 13 lines · stefan at agner.ch
Quoted 6 lines
From: Stefan Agner <[email protected]>
This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits.
Signed-off-by Stefan Agner <[email protected]>Panel patches should go to the dri-devel mailing list as well.
Also a patch was posted only yesterday for a panel that seems to be the exact same one as this, even though the name differs minimally, see:
Quoted 6 lines
https://patchwork.kernel.org/patch/4175251/Adding Philipp on Cc so you guys can work together whether this is indeed the same panel. The only differences seem to be in the vertical front and back porches, but I suspect that either settings will work on both Tegra and i.MX.
Quoted 5 lines
The ETM0700G0DH6 Datasheet lists 2 lines as the typical vsync pulse width, 525 lines as the vertical period, and 35 lines as the vsync -de time, which is vsync len + back porch.
So vertical timings 480 + 10 + 2 + 33 = 525 should be valid for the ET0700G0DH6 panel:
Quoted 8 lines
Shouldn't that work with 480 + 8 + 2 + 35 too? It seems to me that it should still be safe for that panel. Similarily I'd expect your timings to work on the ET070080DH6.
Irrespective of that they both seem to have different capabilities so two compatible values should be fine. However for the purpose of the simple panel driver they could be made to share the same timings if it works for both panels and devices.
Yes. As I understand, the 480 + 10 + 2 + 33 timing should be correct for both panels.
Quoted 4 lines
As for the touch panel on the ETM0700G0DH6, do you happen to know how that's usually connected? I suspect it needs external hardware to capture the YU, XL, YD and XR pins and turn that into raw coordinates and pen down interrupts.
The ETM0700G0DH6 has a capacitive touch screen with an EDT-FT5406 controller connected via I2C, at least on the panels that I have seen.
regards
Philipp
Re: [PATCH v2 2/3] drm/panel: add support for EDT panels
In reply to Thierry RedingAm 2014-05-15 11:08, schrieb Thierry Reding:
Quoted 10 lines · Philipp Zabel
Quoted 5 lines
The ETM0700G0DH6 Datasheet lists 2 lines as the typical vsync pulse width, 525 lines as the vertical period, and 35 lines as the vsync -de time, which is vsync len + back porch.
So vertical timings 480 + 10 + 2 + 33 = 525 should be valid for the ET0700G0DH6 panel:Shouldn't that work with 480 + 8 + 2 + 35 too? It seems to me that it should still be safe for that panel. Similarily I'd expect your timings to work on the ET070080DH6.
Am 2014-05-15 11:12, schrieb Thierry Reding:
Quoted 4 lines
Okay, so that means that the panel works for you with the same timings that Philipp has in the ETM0700G0DH6 patch? If so then I definitely think we should be sharing the timings in the driver by making the two compatible entries point to the same driver data.
FWIW, I checked and it works with both timings. And I bet it is really the same panel its just a different touch on top.
Quoted 9 lines
Irrespective of that they both seem to have different capabilities so two compatible values should be fine. However for the purpose of the simple panel driver they could be made to share the same timings if it works for both panels and devices.
As for the touch panel on the ETM0700G0DH6, do you happen to know how that's usually connected? I suspect it needs external hardware to capture the YU, XL, YD and XR pins and turn that into raw coordinates and pen down interrupts.
For Colibri Evaluation Board, those pins are routed to the generic 4-wire pins of the Colibri SO-DIMM. On the Colibri T30 module, those pins are connected to a STMPE811. I also added that to the device tree once, however it does not work properly atm, I need to debug this and will send a patch at a later time.
--
Stefan
PATCH v2 3/3 ARM: tegra: initial add of Colibri T30
In reply to [email protected]From: Stefan Agner <[email protected]>
This patch adds the device tree to support Toradex Colibri T30, a computer on module which can be used on different carrier boards.
The module consists of a Tegra 30 SoC, two PMIC, DDR3L RAM, eMMC, a LM95245 temperature sensor and an AX88772B USB Ethernet Controller. Furthermore, there is a STMPE811 and SGTL5000 audio codec which are not yet supported. Anything that is not self contained on the module is disabled by default.
The device tree for the Evaluation Board includes the modules device tree and enables the supported pheripherials of the carrier board (the Evaluation Board supports almost all of them).
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/tegra30-colibri-eval-v3.dts | 205 ++++++++++++++ arch/arm/boot/dts/tegra30-colibri.dtsi | 377 ++++++++++++++++++++++++++ 3 files changed, 583 insertions(+) create mode 100644 arch/arm/boot/dts/tegra30-colibri-eval-v3.dts create mode 100644 arch/arm/boot/dts/tegra30-colibri.dtsi
arch/arm/boot/dts/Makefile +1 -0
@@ -367,6 +367,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ tegra30-beaver.dtb \ tegra30-cardhu-a02.dtb \ tegra30-cardhu-a04.dtb \ + tegra30-colibri-eval-v3.dtb \ tegra114-dalmore.dtb \ tegra124-venice2.dtb dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
arch/arm/boot/dts/tegra30-colibri-eval-v3.dts new file +205 -0
205 lines not on this page · raw message
arch/arm/boot/dts/tegra30-colibri.dtsi new file +377 -0
377 lines not on this page · raw message
Signature · 1 line
1.9.2
Stephen Warren
AppliedRe: [PATCH v2 3/3] ARM: tegra: initial add of Colibri T30
Quoted 11 lines · stefan at agner.ch
From: Stefan Agner <[email protected]>
This patch adds the device tree to support Toradex Colibri T30, a computer on module which can be used on different carrier boards.
The module consists of a Tegra 30 SoC, two PMIC, DDR3L RAM, eMMC, a LM95245 temperature sensor and an AX88772B USB Ethernet Controller. Furthermore, there is a STMPE811 and SGTL5000 audio codec which are not yet supported. Anything that is not self contained on the module is disabled by default.
Quoted 3 lines
The device tree for the Evaluation Board includes the modules device tree and enables the supported pheripherials of the carrier board (the Evaluation Board supports almost all of them).
I've applied this to Tegra's for-3.16/dt branch.
A changelog in each individual patch would be useful. Splitting out patches for the DRM tree and the Tegra tree into different series would be useful. In this case, they don't depend on each-other.