devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Terje Bergström" <tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Thierry Reding
	<thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
Cc: "linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Colin Cross <ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>,
	Jon Mayo <jmayo-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Lucas Stach <dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org>,
	"dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
	<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	David Airlie <airlied-cv59FeDIM0c@public.gmane.org>,
	"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	Joerg Roedel <joerg.roedel-5C7GfCeVMHo@public.gmane.org>,
	Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	Grant Likely
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Liam Girdwood <lrg-l0cyMroinI0@public.gmane.org>,
	Mark Brown
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>,
	Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [RFC v2 5/5] drm: Add NVIDIA Tegra support
Date: Mon, 7 May 2012 11:50:05 +0300	[thread overview]
Message-ID: <4FA78CBD.5010606@nvidia.com> (raw)
In-Reply-To: <1335347102-14905-6-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>

On 25.04.2012 12:45, Thierry Reding wrote:

> +/ {
> +       ...
> +
> +       /* host1x */
> +       host1x: host1x@50000000 {
> +               compatible = "nvidia,tegra20-host1x";
> +               reg = <0x50000000 0x00024000>;
> +               interrupts = <0 64 0x04   /* cop syncpt */
> +                             0 65 0x04   /* mpcore syncpt */
> +                             0 66 0x04   /* cop general */
> +                             0 67 0x04>; /* mpcore general */
> +       };
> +
> +       /* video-encoding/decoding */
> +       mpe@54040000 {
> +               reg = <0x54040000 0x00040000>;
> +               interrupts = <0 68 0x04>;
> +       };
> +

(...)

Hi Thierry,

I have still lots of questions regarding how device trees work. I'm now
just trying to match the device tree structure with hardware - let me
know if that goes wrong.

There's a hierarchy in the hardware, which should be represented in the
device trees. All of the hardware are client modules for host1x - with
the exception of host1x obviously. CPU has two methods for accessing the
hardware: clients' register aperture and host1x channels. Both of these
operate via host1x hardware.

We should define host1x bus in the device tree, and move all nodes
except host1x under that bus. This will help us in the long run, as we
will have multiple drivers (drm, v4l2) each accessing hardware under
host1x. We will need to model the bus and the bus_type will need to take
over responsibilities of managing the common resources.

When we are clocking hardware, whenever we want to access display's
register aperture, host1x needs to be clocked.

> +       /* graphics host */

> +       graphics@54000000 {
> +               compatible = "nvidia,tegra20-graphics";
> +
> +               #address-cells = <1>;
> +               #size-cells = <1>;
> +               ranges;
> +
> +               display-controllers = <&disp1 &disp2>;
> +               carveout = <0x0e000000 0x02000000>;
> +               host1x = <&host1x>;
> +               gart = <&gart>;
> +
> +               connectors {
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +
> +                       connector@0 {
> +                               reg = <0>;
> +                               edid = /incbin/("machine.edid");
> +                               output = <&lvds>;
> +                       };
> +
> +                       connector@1 {
> +                               reg = <1>;
> +                               output = <&hdmi>;
> +                               ddc = <&i2c2>;
> +
> +                               hpd-gpio = <&gpio 111 0>; /* PN7 */
> +                       };
> +               };
> +       };
> +};


I'm not sure what this node means. The register range from 54000000
onwards is actually the one that you just described in the nodes of the
individual client modules. Why is it represented here again?

Terje

  parent reply	other threads:[~2012-05-07  8:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-25  9:44 [RFC v2 0/5] Add NVIDIA Tegra DRM support Thierry Reding
     [not found] ` <1335347102-14905-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-04-25  9:44   ` [RFC v2 1/5] iommu: Include linux/types.h Thierry Reding
2012-04-25  9:44   ` [RFC v2 2/5] tps6586x: Add device tree support Thierry Reding
     [not found]     ` <1335347102-14905-3-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-04-25 10:10       ` Mark Brown
     [not found]         ` <20120425101031.GH3195-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-04-25 10:14           ` Thierry Reding
     [not found]             ` <20120425101429.GA5085-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-04-25 10:41               ` Thierry Reding
     [not found]                 ` <20120425104147.GB5085-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-04-25 10:47                   ` Mark Brown
     [not found]                     ` <20120425104742.GA20492-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-04-25 11:14                       ` Thierry Reding
2012-04-25  9:45   ` [RFC v2 3/5] i2c: Add of_i2c_get_adapter() function Thierry Reding
     [not found]     ` <1335347102-14905-4-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-04-25 15:36       ` Stephen Warren
     [not found]         ` <4F981A09.2020304-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-04-25 16:39           ` Thierry Reding
2012-04-25  9:45   ` [RFC v2 4/5] drm: fixed: Add dfixed_frac Thierry Reding
2012-04-25  9:45   ` [RFC v2 5/5] drm: Add NVIDIA Tegra support Thierry Reding
     [not found]     ` <1335347102-14905-6-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-05-03 21:22       ` Stephen Warren
     [not found]         ` <4FA2F702.6040701-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-05-21 10:55           ` Thierry Reding
2012-05-07  8:50       ` Terje Bergström [this message]
     [not found]         ` <4FA78CBD.5010606-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-07 16:27           ` Stephen Warren
     [not found]             ` <4FA7F80F.5090002-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-05-21 11:05               ` Thierry Reding
     [not found]                 ` <20120521110514.GC27686-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-05-21 11:37                   ` Terje Bergström
     [not found]                     ` <4FBA28FD.2060504-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-21 13:58                       ` Thierry Reding
     [not found]                         ` <20120521135838.GA15046-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-05-22  6:19                           ` Terje Bergström
2012-05-22  7:01       ` Jon Mayo
2012-04-25 12:27   ` [RFC v2 0/5] Add NVIDIA Tegra DRM support Thierry Reding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FA78CBD.5010606@nvidia.com \
    --to=tbergstrom-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
    --cc=airlied-cv59FeDIM0c@public.gmane.org \
    --cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
    --cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
    --cc=ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org \
    --cc=dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=jmayo-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=joerg.roedel-5C7GfCeVMHo@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lrg-l0cyMroinI0@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org \
    --cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).