* [PATCH v2 0/4] ARM: tegra: initial support for Colibri T30 @ 2014-05-14 21:45 stefan 2014-05-14 21:45 ` [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC stefan ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: stefan @ 2014-05-14 21:45 UTC (permalink / raw) To: swarren, thierry.reding Cc: linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel, stefan From: Stefan Agner <stefan@agner.ch> 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 -- 1.9.2 ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC 2014-05-14 21:45 [PATCH v2 0/4] ARM: tegra: initial support for Colibri T30 stefan @ 2014-05-14 21:45 ` stefan 2014-05-15 18:15 ` Stephen Warren 2014-05-14 21:45 ` [PATCH v2 2/3] drm/panel: add support for EDT panels stefan 2014-05-14 21:45 ` [PATCH v2 3/3] ARM: tegra: initial add of Colibri T30 stefan 2 siblings, 1 reply; 15+ messages in thread From: stefan @ 2014-05-14 21:45 UTC (permalink / raw) To: swarren, thierry.reding Cc: linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel, stefan From: Stefan Agner <stefan@agner.ch> 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. Signed-off-by: Stefan Agner <stefan@agner.ch> --- arch/arm/configs/tegra_defconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig index 2926281..6329632 100644 --- a/arch/arm/configs/tegra_defconfig +++ b/arch/arm/configs/tegra_defconfig @@ -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 -- 1.9.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC 2014-05-14 21:45 ` [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC stefan @ 2014-05-15 18:15 ` Stephen Warren 0 siblings, 0 replies; 15+ messages in thread From: Stephen Warren @ 2014-05-15 18:15 UTC (permalink / raw) To: stefan, thierry.reding Cc: linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel On 05/14/2014 03:45 PM, stefan@agner.ch wrote: > From: Stefan Agner <stefan@agner.ch> > > 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. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-14 21:45 [PATCH v2 0/4] ARM: tegra: initial support for Colibri T30 stefan 2014-05-14 21:45 ` [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC stefan @ 2014-05-14 21:45 ` stefan 2014-05-15 7:51 ` Thierry Reding 2014-05-14 21:45 ` [PATCH v2 3/3] ARM: tegra: initial add of Colibri T30 stefan 2 siblings, 1 reply; 15+ messages in thread From: stefan @ 2014-05-14 21:45 UTC (permalink / raw) To: swarren, thierry.reding Cc: linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel, stefan From: Stefan Agner <stefan@agner.ch> This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 evaluation kits. Signed-off-by: Stefan Agner <stefan@agner.ch> --- .../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 diff --git a/Documentation/devicetree/bindings/panel/edt,et057090dhu.txt b/Documentation/devicetree/bindings/panel/edt,et057090dhu.txt new file mode 100644 index 0000000..4903d7b --- /dev/null +++ b/Documentation/devicetree/bindings/panel/edt,et057090dhu.txt @@ -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. diff --git a/Documentation/devicetree/bindings/panel/edt,et070080dh6.txt b/Documentation/devicetree/bindings/panel/edt,et070080dh6.txt new file mode 100644 index 0000000..64986b1 --- /dev/null +++ b/Documentation/devicetree/bindings/panel/edt,et070080dh6.txt @@ -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. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 309f29e..7e4103f 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -306,6 +306,52 @@ static const struct panel_desc chunghwa_claa101wa01a = { }, }; +static const struct drm_display_mode edt_et057090dhu_mode = { + .clock = 25175, + .hdisplay = 640, + .hsync_start = 640 + 16, + .hsync_end = 640 + 16 + 30, + .htotal = 640 + 16 + 30 + 114, + .vdisplay = 480, + .vsync_start = 480 + 10, + .vsync_end = 480 + 10 + 3, + .vtotal = 480 + 10 + 3 + 32, + .vrefresh = 60, + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +}; + +static const struct panel_desc edt_et057090dhu = { + .modes = &edt_et057090dhu_mode, + .num_modes = 1, + .size = { + .width = 115, + .height = 86, + }, +}; + +static const struct drm_display_mode edt_et070080dh6_mode = { + .clock = 33260, + .hdisplay = 800, + .hsync_start = 800 + 40, + .hsync_end = 800 + 40 + 128, + .htotal = 800 + 40 + 128 + 88, + .vdisplay = 480, + .vsync_start = 480 + 8, + .vsync_end = 480 + 8 + 2, + .vtotal = 480 + 8 + 2 + 35, + .vrefresh = 60, + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +}; + +static const struct panel_desc edt_et070080dh6 = { + .modes = &edt_et070080dh6_mode, + .num_modes = 1, + .size = { + .width = 152, + .height = 91, + }, +}; + static const struct drm_display_mode chunghwa_claa101wb01_mode = { .clock = 69300, .hdisplay = 1366, @@ -383,6 +429,12 @@ static const struct of_device_id platform_of_match[] = { .compatible = "chunghwa,claa101wb01", .data = &chunghwa_claa101wb01 }, { + .compatible = "edt,et057090dhu", + .data = &edt_et057090dhu, + }, { + .compatible = "edt,et070080dh6", + .data = &edt_et070080dh6, + }, { .compatible = "lg,lp129qe", .data = &lg_lp129qe, }, { -- 1.9.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-14 21:45 ` [PATCH v2 2/3] drm/panel: add support for EDT panels stefan @ 2014-05-15 7:51 ` Thierry Reding 2014-05-15 8:24 ` Stefan Agner 2014-05-15 8:27 ` Philipp Zabel 0 siblings, 2 replies; 15+ messages in thread From: Thierry Reding @ 2014-05-15 7:51 UTC (permalink / raw) To: stefan Cc: swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel, Philipp Zabel [-- Attachment #1: Type: text/plain, Size: 760 bytes --] On Wed, May 14, 2014 at 11:45:57PM +0200, stefan@agner.ch wrote: > From: Stefan Agner <stefan@agner.ch> > > This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 > evaluation kits. > > Signed-off-by: Stefan Agner <stefan@agner.ch> 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 [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 7:51 ` Thierry Reding @ 2014-05-15 8:24 ` Stefan Agner 2014-05-15 9:12 ` Thierry Reding 2014-05-15 8:27 ` Philipp Zabel 1 sibling, 1 reply; 15+ messages in thread From: Stefan Agner @ 2014-05-15 8:24 UTC (permalink / raw) To: Thierry Reding, Philipp Zabel Cc: swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel Hi Thierry, hi Philipp, Am 2014-05-15 09:51, schrieb Thierry Reding: > On Wed, May 14, 2014 at 11:45:57PM +0200, stefan@agner.ch wrote: >> From: Stefan Agner <stefan@agner.ch> >> >> This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 >> evaluation kits. >> >> Signed-off-by: Stefan Agner <stefan@agner.ch> > > 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. 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 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 8:24 ` Stefan Agner @ 2014-05-15 9:12 ` Thierry Reding 2014-05-15 9:35 ` Philipp Zabel 0 siblings, 1 reply; 15+ messages in thread From: Thierry Reding @ 2014-05-15 9:12 UTC (permalink / raw) To: Stefan Agner Cc: Philipp Zabel, swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel [-- Attachment #1: Type: text/plain, Size: 2180 bytes --] On Thu, May 15, 2014 at 10:24:39AM +0200, Stefan Agner wrote: > Hi Thierry, hi Philipp, > > Am 2014-05-15 09:51, schrieb Thierry Reding: > > On Wed, May 14, 2014 at 11:45:57PM +0200, stefan@agner.ch wrote: > >> From: Stefan Agner <stefan@agner.ch> > >> > >> This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 > >> evaluation kits. > >> > >> Signed-off-by: Stefan Agner <stefan@agner.ch> > > > > 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. > > 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. 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. > 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. > 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 [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 9:12 ` Thierry Reding @ 2014-05-15 9:35 ` Philipp Zabel 2014-05-15 9:39 ` Stefan Agner 0 siblings, 1 reply; 15+ messages in thread From: Philipp Zabel @ 2014-05-15 9:35 UTC (permalink / raw) To: Thierry Reding Cc: Stefan Agner, swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel Am Donnerstag, den 15.05.2014, 11:12 +0200 schrieb Thierry Reding: > On Thu, May 15, 2014 at 10:24:39AM +0200, Stefan Agner wrote: > > Hi Thierry, hi Philipp, > > > > Am 2014-05-15 09:51, schrieb Thierry Reding: > > > On Wed, May 14, 2014 at 11:45:57PM +0200, stefan@agner.ch wrote: > > >> From: Stefan Agner <stefan@agner.ch> > > >> > > >> This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 > > >> evaluation kits. > > >> > > >> Signed-off-by: Stefan Agner <stefan@agner.ch> > > > > > > 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. > > > > 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. > > 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. > > > 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. > > > 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 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 9:35 ` Philipp Zabel @ 2014-05-15 9:39 ` Stefan Agner 0 siblings, 0 replies; 15+ messages in thread From: Stefan Agner @ 2014-05-15 9:39 UTC (permalink / raw) To: Philipp Zabel Cc: Thierry Reding, swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel Am 2014-05-15 11:35, schrieb Philipp Zabel: > Am Donnerstag, den 15.05.2014, 11:12 +0200 schrieb Thierry Reding: <snip> >> 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 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 7:51 ` Thierry Reding 2014-05-15 8:24 ` Stefan Agner @ 2014-05-15 8:27 ` Philipp Zabel 2014-05-15 9:08 ` Thierry Reding 1 sibling, 1 reply; 15+ messages in thread From: Philipp Zabel @ 2014-05-15 8:27 UTC (permalink / raw) To: Thierry Reding Cc: stefan, swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel Am Donnerstag, den 15.05.2014, 09:51 +0200 schrieb Thierry Reding: > On Wed, May 14, 2014 at 11:45:57PM +0200, stefan@agner.ch wrote: > > From: Stefan Agner <stefan@agner.ch> > > > > This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 > > evaluation kits. > > > > Signed-off-by: Stefan Agner <stefan@agner.ch> > > 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. 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: https://www.glynshop.com/erp/owweb/Daten/DSS/EDT/Products/Specifications/Active%20Displays/ET0700G0DH6.pdf et070080dh6 I have not seen the data sheet for ET070080DH6. regards Philipp ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 8:27 ` Philipp Zabel @ 2014-05-15 9:08 ` Thierry Reding 2014-05-15 9:30 ` Philipp Zabel 2014-05-15 9:36 ` Stefan Agner 0 siblings, 2 replies; 15+ messages in thread From: Thierry Reding @ 2014-05-15 9:08 UTC (permalink / raw) To: Philipp Zabel Cc: stefan, swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel [-- Attachment #1: Type: text/plain, Size: 1917 bytes --] On Thu, May 15, 2014 at 10:27:29AM +0200, Philipp Zabel wrote: > Am Donnerstag, den 15.05.2014, 09:51 +0200 schrieb Thierry Reding: > > On Wed, May 14, 2014 at 11:45:57PM +0200, stefan@agner.ch wrote: > > > From: Stefan Agner <stefan@agner.ch> > > > > > > This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 > > > evaluation kits. > > > > > > Signed-off-by: Stefan Agner <stefan@agner.ch> > > > > 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. > > 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 [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 9:08 ` Thierry Reding @ 2014-05-15 9:30 ` Philipp Zabel 2014-05-15 9:36 ` Stefan Agner 1 sibling, 0 replies; 15+ messages in thread From: Philipp Zabel @ 2014-05-15 9:30 UTC (permalink / raw) To: Thierry Reding Cc: stefan, swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel Am Donnerstag, den 15.05.2014, 11:08 +0200 schrieb Thierry Reding: > On Thu, May 15, 2014 at 10:27:29AM +0200, Philipp Zabel wrote: > > Am Donnerstag, den 15.05.2014, 09:51 +0200 schrieb Thierry Reding: > > > On Wed, May 14, 2014 at 11:45:57PM +0200, stefan@agner.ch wrote: > > > > From: Stefan Agner <stefan@agner.ch> > > > > > > > > This panels are sold by Toradex for Colibri T20/T30 and Apalis T30 > > > > evaluation kits. > > > > > > > > Signed-off-by: Stefan Agner <stefan@agner.ch> > > > > > > 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. > > > > 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. Yes. As I understand, the 480 + 10 + 2 + 33 timing should be correct for both panels. > 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 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/3] drm/panel: add support for EDT panels 2014-05-15 9:08 ` Thierry Reding 2014-05-15 9:30 ` Philipp Zabel @ 2014-05-15 9:36 ` Stefan Agner 1 sibling, 0 replies; 15+ messages in thread From: Stefan Agner @ 2014-05-15 9:36 UTC (permalink / raw) To: Thierry Reding Cc: Philipp Zabel, swarren, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel Am 2014-05-15 11:08, schrieb Thierry Reding: > On Thu, May 15, 2014 at 10:27:29AM +0200, Philipp Zabel wrote: >> 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: > 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. > 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 ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 3/3] ARM: tegra: initial add of Colibri T30 2014-05-14 21:45 [PATCH v2 0/4] ARM: tegra: initial support for Colibri T30 stefan 2014-05-14 21:45 ` [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC stefan 2014-05-14 21:45 ` [PATCH v2 2/3] drm/panel: add support for EDT panels stefan @ 2014-05-14 21:45 ` stefan 2014-05-15 18:37 ` Stephen Warren 2 siblings, 1 reply; 15+ messages in thread From: stefan @ 2014-05-14 21:45 UTC (permalink / raw) To: swarren, thierry.reding Cc: linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel, stefan From: Stefan Agner <stefan@agner.ch> 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). Signed-off-by: Stefan Agner <stefan@agner.ch> --- 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 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 35c146f..9e9669c 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -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 \ diff --git a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts new file mode 100644 index 0000000..7793abd --- /dev/null +++ b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts @@ -0,0 +1,205 @@ +/dts-v1/; + +#include "tegra30-colibri.dtsi" + +/ { + model = "Toradex Colibri T30 on Colibri Evaluation Board"; + compatible = "toradex,colibri_t30-eval-v3", "toradex,colibri_t30", "nvidia,tegra30"; + + aliases { + rtc0 = "/i2c@7000c000/rtc@68"; + rtc1 = "/i2c@7000d000/tps65911@2d"; + rtc2 = "/rtc@7000e000"; + }; + + host1x@50000000 { + dc@54200000 { + rgb { + status = "okay"; + nvidia,panel = <&panel>; + }; + }; + hdmi@54280000 { + status = "okay"; + }; + }; + + serial@70006000 { + status = "okay"; + }; + + serial@70006040 { + compatible = "nvidia,tegra30-hsuart"; + status = "okay"; + }; + + serial@70006300 { + compatible = "nvidia,tegra30-hsuart"; + status = "okay"; + }; + + pwm@7000a000 { + status = "okay"; + }; + + /* + * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier + * board) + */ + i2c@7000c000 { + status = "okay"; + clock-frequency = <100000>; + + /* M41T0M6 real time clock on carrier board */ + rtc@68 { + compatible = "stm,m41t00"; + reg = <0x68>; + }; + }; + + /* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */ + hdmiddc: i2c@7000c700 { + status = "okay"; + }; + + /* SPI1: Colibri SSP */ + spi@7000d400 { + status = "okay"; + spi-max-frequency = <25000000>; + can0: can@0 { + compatible = "microchip,mcp2515"; + reg = <0>; + clocks = <&clk16m>; + interrupt-parent = <&gpio>; + interrupts = <TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>; + spi-max-frequency = <10000000>; + }; + spidev0: spi@1 { + compatible = "spidev"; + reg = <1>; + spi-max-frequency = <25000000>; + }; + }; + + sdhci@78000200 { + status = "okay"; + bus-width = <4>; + cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>; + no-1-8-v; + }; + + /* EHCI instance 0: USB1_DP/N -> USBC_P/N */ + usb@7d000000 { + status = "okay"; + }; + + usb-phy@7d000000 { + status = "okay"; + dr_mode = "otg"; + vbus-supply = <&usbc_vbus_reg>; + }; + + /* EHCI instance 2: USB3_DP/N -> USBH_P/N */ + usb@7d008000 { + status = "okay"; + }; + + usb-phy@7d008000 { + status = "okay"; + vbus-supply = <&usbh_vbus_reg>; + }; + + backlight: backlight { + compatible = "pwm-backlight"; + + /* PWM<A> */ + pwms = <&pwm 0 5000000>; + brightness-levels = <255 128 64 32 16 8 4 0>; + default-brightness-level = <6>; + /* BL_ON */ + enable-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>; + }; + + clocks { + clk16m: clk@1 { + compatible = "fixed-clock"; + reg=<1>; + #clock-cells = <0>; + clock-frequency = <16000000>; + clock-output-names = "clk16m"; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + + power { + label = "Power"; + gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>; + linux,code = <KEY_POWER>; + debounce-interval = <10>; + gpio-key,wakeup; + }; + }; + + panel: panel { + /* + * edt,et057090dhu: EDT 5.7" LCD TFT + * edt,et070080dh6: EDT 7.0" LCD TFT + */ + compatible = "edt,et057090dhu", "simple-panel"; + + backlight = <&backlight>; + }; + + pwmleds { + compatible = "pwm-leds"; + + pwmb { + label = "PWM<B>"; + pwms = <&pwm 1 19600>; + max-brightness = <255>; + }; + pwmc { + label = "PWM<C>"; + pwms = <&pwm 2 19600>; + max-brightness = <255>; + }; + pwmd { + label = "PWM<D>"; + pwms = <&pwm 3 19600>; + max-brightness = <255>; + }; + }; + + regulators { + sys_5v0_reg: regulator@1 { + compatible = "regulator-fixed"; + reg = <1>; + regulator-name = "5v0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + usbc_vbus_reg: regulator@2 { + compatible = "regulator-fixed"; + reg = <2>; + regulator-name = "usbc_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&sys_5v0_reg>; + }; + + /* USBH_PEN */ + usbh_vbus_reg: regulator@3 { + compatible = "regulator-fixed"; + reg = <3>; + regulator-name = "usbh_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>; + vin-supply = <&sys_5v0_reg>; + }; + }; +}; diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi new file mode 100644 index 0000000..bf16f8e --- /dev/null +++ b/arch/arm/boot/dts/tegra30-colibri.dtsi @@ -0,0 +1,377 @@ +#include <dt-bindings/input/input.h> +#include "tegra30.dtsi" + +/* + * Toradex Colibri T30 Device Tree + * Compatible for Revisions 1.1B/1.1C/1.1D + */ +/ { + model = "Toradex Colibri T30"; + compatible = "toradex,colibri_t30", "nvidia,tegra30"; + + memory { + reg = <0x80000000 0x40000000>; + }; + + host1x@50000000 { + hdmi@54280000 { + vdd-supply = <&sys_3v3_reg>; + pll-supply = <&vio_reg>; + + nvidia,hpd-gpio = + <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; + nvidia,ddc-i2c-bus = <&hdmiddc>; + }; + }; + + pinmux@70000868 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + /* Colibri BL_ON */ + pv2 { + nvidia,pins = "pv2"; + nvidia,function = "rsvd4"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + + /* Colibri Backlight PWM<A> */ + sdmmc3_dat3_pb4 { + nvidia,pins = "sdmmc3_dat3_pb4"; + nvidia,function = "pwm0"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + + /* Colibri CAN_INT */ + kb_row8_ps0 { + nvidia,pins = "kb_row8_ps0"; + nvidia,function = "kbc"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_ENABLE>; + }; + + /* + * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE + * todays display need DE, disable LCD_M1 + */ + lcd_m1_pw1 { + nvidia,pins = "lcd_m1_pw1"; + nvidia,function = "rsvd3"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_ENABLE>; + }; + + /* Thermal alert, need to be disabled */ + lcd_dc1_pd2 { + nvidia,pins = "lcd_dc1_pd2"; + nvidia,function = "rsvd3"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_ENABLE>; + }; + + /* Colibri MMC */ + kb_row10_ps2 { + nvidia,pins = "kb_row10_ps2"; + nvidia,function = "sdmmc2"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + kb_row11_ps3 { + nvidia,pins = "kb_row11_ps3", + "kb_row12_ps4", + "kb_row13_ps5", + "kb_row14_ps6", + "kb_row15_ps7"; + nvidia,function = "sdmmc2"; + nvidia,pull = <TEGRA_PIN_PULL_UP>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + + /* Colibri SSP */ + ulpi_clk_py0 { + nvidia,pins = "ulpi_clk_py0", + "ulpi_dir_py1", + "ulpi_nxt_py2", + "ulpi_stp_py3"; + nvidia,function = "spi1"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + sdmmc3_dat6_pd3 { + nvidia,pins = "sdmmc3_dat6_pd3", + "sdmmc3_dat7_pd4"; + nvidia,function = "spdif"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_ENABLE>; + }; + + /* Colibri UART_A */ + ulpi_data0 { + nvidia,pins = "ulpi_data0_po1", + "ulpi_data1_po2", + "ulpi_data2_po3", + "ulpi_data3_po4", + "ulpi_data4_po5", + "ulpi_data5_po6", + "ulpi_data6_po7", + "ulpi_data7_po0"; + nvidia,function = "uarta"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + + /* Colibri UART_B */ + gmi_a16_pj7 { + nvidia,pins = "gmi_a16_pj7", + "gmi_a17_pb0", + "gmi_a18_pb1", + "gmi_a19_pk7"; + nvidia,function = "uartd"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + + /* Colibri UART_C */ + uart2_rxd { + nvidia,pins = "uart2_rxd_pc3", + "uart2_txd_pc2"; + nvidia,function = "uartb"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + + /* eMMC */ + sdmmc4_clk_pcc4 { + nvidia,pins = "sdmmc4_clk_pcc4", + "sdmmc4_rst_n_pcc3"; + nvidia,function = "sdmmc4"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + sdmmc4_dat0_paa0 { + nvidia,pins = "sdmmc4_dat0_paa0", + "sdmmc4_dat1_paa1", + "sdmmc4_dat2_paa2", + "sdmmc4_dat3_paa3", + "sdmmc4_dat4_paa4", + "sdmmc4_dat5_paa5", + "sdmmc4_dat6_paa6", + "sdmmc4_dat7_paa7"; + nvidia,function = "sdmmc4"; + nvidia,pull = <TEGRA_PIN_PULL_UP>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + }; + }; + }; + + hdmiddc: i2c@7000c700 { + clock-frequency = <100000>; + }; + + /* + * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and + * touch screen controller + */ + i2c@7000d000 { + status = "okay"; + clock-frequency = <100000>; + + pmic: tps65911@2d { + compatible = "ti,tps65911"; + reg = <0x2d>; + + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller; + + #gpio-cells = <2>; + gpio-controller; + + vcc1-supply = <&sys_3v3_reg>; + vcc2-supply = <&sys_3v3_reg>; + vcc3-supply = <&vio_reg>; + vcc4-supply = <&sys_3v3_reg>; + vcc5-supply = <&sys_3v3_reg>; + vcc6-supply = <&vio_reg>; + vcc7-supply = <&sys_5v0_reg>; + vccio-supply = <&sys_3v3_reg>; + + regulators { + /* SW1: +V1.35_VDDIO_DDR */ + vdd1_reg: vdd1 { + regulator-name = "vddio_ddr_1v35"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + }; + + /* SW2: unused */ + + /* SW CTRL: +V1.0_VDD_CPU */ + vddctrl_reg: vddctrl { + regulator-name = "vdd_cpu,vdd_sys"; + regulator-min-microvolt = <1150000>; + regulator-max-microvolt = <1150000>; + regulator-always-on; + }; + + /* SWIO: +V1.8 */ + vio_reg: vio { + regulator-name = "vdd_1v8_gen"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + /* LDO1: unused */ + + /* + * EN_+V3.3 switching via FET: + * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN + * see also v3_3 fixed supply + */ + ldo2_reg: ldo2 { + regulator-name = "en_3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + /* LDO3: unused */ + + /* +V1.2_VDD_RTC */ + ldo4_reg: ldo4 { + regulator-name = "vdd_rtc"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + }; + + /* + * +V2.8_AVDD_VDAC: + * only required for analog RGB + */ + ldo5_reg: ldo5 { + regulator-name = "avdd_vdac"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + }; + + /* + * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V + * but LDO6 can't set voltage in 50mV + * granularity + */ + ldo6_reg: ldo6 { + regulator-name = "avdd_plle"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + }; + + /* +V1.2_AVDD_PLL */ + ldo7_reg: ldo7 { + regulator-name = "avdd_pll"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + }; + + /* +V1.0_VDD_DDR_HS */ + ldo8_reg: ldo8 { + regulator-name = "vdd_ddr_hs"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + }; + }; + + /* + * LM95245 temperature sensor + * Note: OVERT_N directly connected to PMIC PWRDN + */ + temp-sensor@4c { + compatible = "national,lm95245"; + reg = <0x4c>; + }; + + /* SW: +V1.2_VDD_CORE */ + tps62362@60 { + compatible = "ti,tps62362"; + reg = <0x60>; + + regulator-name = "tps62362-vout"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1400000>; + regulator-boot-on; + regulator-always-on; + ti,vsel0-state-low; + /* VSEL1: EN_CORE_DVFS_N low for DVFS */ + ti,vsel1-state-low; + }; + }; + + pmc@7000e400 { + nvidia,invert-interrupt; + nvidia,suspend-mode = <1>; + nvidia,cpu-pwr-good-time = <5000>; + nvidia,cpu-pwr-off-time = <5000>; + nvidia,core-pwr-good-time = <3845 3845>; + nvidia,core-pwr-off-time = <0>; + nvidia,core-power-req-active-high; + nvidia,sys-clock-req-active-high; + }; + + emmc: sdhci@78000600 { + status = "okay"; + bus-width = <8>; + non-removable; + }; + + /* EHCI instance 1: USB2_DP/N -> AX88772B */ + usb@7d004000 { + status = "okay"; + }; + + usb-phy@7d004000 { + status = "okay"; + nvidia,is-wired = <1>; + }; + + clocks { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + clk32k_in: clk@0 { + compatible = "fixed-clock"; + reg=<0>; + #clock-cells = <0>; + clock-frequency = <32768>; + }; + }; + + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + sys_3v3_reg: regulator@100 { + compatible = "regulator-fixed"; + reg = <100>; + regulator-name = "3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + }; +}; -- 1.9.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v2 3/3] ARM: tegra: initial add of Colibri T30 2014-05-14 21:45 ` [PATCH v2 3/3] ARM: tegra: initial add of Colibri T30 stefan @ 2014-05-15 18:37 ` Stephen Warren 0 siblings, 0 replies; 15+ messages in thread From: Stephen Warren @ 2014-05-15 18:37 UTC (permalink / raw) To: stefan Cc: thierry.reding, linux, devicetree, linux-arm-kernel, linux-kernel, linux-tegra, marcel On 05/14/2014 03:45 PM, stefan@agner.ch wrote: > From: Stefan Agner <stefan@agner.ch> > > 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). 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. ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-05-15 18:38 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-05-14 21:45 [PATCH v2 0/4] ARM: tegra: initial support for Colibri T30 stefan 2014-05-14 21:45 ` [PATCH v2 1/3] ARM: tegra: enable MCP251x CAN controller and DS1307 RTC stefan 2014-05-15 18:15 ` Stephen Warren 2014-05-14 21:45 ` [PATCH v2 2/3] drm/panel: add support for EDT panels stefan 2014-05-15 7:51 ` Thierry Reding 2014-05-15 8:24 ` Stefan Agner 2014-05-15 9:12 ` Thierry Reding 2014-05-15 9:35 ` Philipp Zabel 2014-05-15 9:39 ` Stefan Agner 2014-05-15 8:27 ` Philipp Zabel 2014-05-15 9:08 ` Thierry Reding 2014-05-15 9:30 ` Philipp Zabel 2014-05-15 9:36 ` Stefan Agner 2014-05-14 21:45 ` [PATCH v2 3/3] ARM: tegra: initial add of Colibri T30 stefan 2014-05-15 18:37 ` Stephen Warren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).