From: David Gibson <david@gibson.dropbear.id.au>
To: Scott Wood <scottwood@freescale.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 2/3] Introduce new CPM device bindings.
Date: Wed, 29 Aug 2007 15:39:41 +1000 [thread overview]
Message-ID: <20070829053941.GC3206@localhost.localdomain> (raw)
In-Reply-To: <20070828201619.GB24210@ld0162-tx32.am.freescale.net>
On Tue, Aug 28, 2007 at 03:16:19PM -0500, Scott Wood wrote:
> This introduces a new device binding for the CPM and other devices on
> these boards. Some of the changes include:
>
> 1. Proper namespace scoping for Freescale compatibles and properties.
>
> 2. Use compatible rather than things like device_type and model
> to determine which particular variant of a device is present.
>
> 3. Give the drivers the relevant CPM command word directly, rather than
> requiring it to have a lookup table based on device-id, SCC v. SMC, and
> CPM version.
>
> 4. Specify the CPCR and the usable DPRAM region in the CPM's reg property.
>
> Boards that do not require the legacy bindings should select
> CONFIG_PPC_CPM_NEW_BINDING to enable the of_platform CPM devices. Once
> all existing boards are converted and tested, the config option can
> become default y to prevent new boards from using the old model. Once
> arch/ppc is gone, the config option can be removed altogether.
I think it would be better to change the name and reverse the sense of
this config option, since what it actually does is disable the old
binding, not enable the new one.
[snip]
> @@ -1824,6 +1827,170 @@ platforms are moved over to use the flattened-device-tree model.
> fsl,has-rstcr;
> };
>
> + l) Freescale Communications Processor Module
> +
> + NOTE: This is an interim binding, and will likely change slightly,
> + as more devices are supported. The QE bindings especially are
> + incomplete.
> +
> + i) Root CPM node
> +
> + Properties:
> + - compatible : "fsl,cpm1", "fsl,cpm2", or "fsl,qe".
> + - reg : The first resource is a 48-byte region beginning with
> + CPCR. The second is the available general-purpose
> + DPRAM.
> + - fsl,brg-frequency : the internal clock source frequency for baud-rate
> + generators in Hz.
> +
> + Example:
> + cpm@119c0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + #interrupt-cells = <2>;
> + compatible = "fsl,mpc8272-cpm", "fsl,cpm2";
> + reg = <119c0 30 0 2000>;
> + bus-frequency = <d#25000000>;
> + }
Your example has bus-frequency, but lacks fsl,brg-frequency, in
contrast to the description above.
Since you have a separate brg node defined below, maybe
fsl,brg-frequency should just be replaced with a 'clock-frequency'
property in that subnode.
> + ii) Properties common to mulitple CPM/QE devices
> +
> + - fsl,cpm-command : This value is ORed with the opcode and command flag
> + to specify the device on which a CPM command operates.
> +
> + - fsl,cpm-brg : Indicates which baud rate generator the device
> + is associated with. If absent, an unused BRG
> + should be dynamically allocated.
Maybe a property with the brg node's phandle could be included as
well, to avoid having to hop up to the CPM node, then back down to the
brg-compatible node to find it?
Or maybe even have a separate subnode for each brg, and just have a
phandle to reference it from the other devices, rather than using this
index.
> +
> + - reg : Unless otherwise specified, the first resource represents the
> + scc/fcc/ucc registers, and the second represents the device's
> + parameter RAM region (if it has one).
> +
> + iii) Serial
> +
> + Currently defined compatibles:
> + - fsl,cpm1-smc-uart
> + - fsl,cpm2-smc-uart
> + - fsl,cpm1-scc-uart
> + - fsl,cpm2-scc-uart
> + - fsl,qe-uart
> +
> + Example:
> +
> + serial@11a00 {
> + device_type = "serial";
> + compatible = "fsl,mpc8272-scc-uart",
> + "fsl,cpm2-scc-uart";
> + reg = <11a00 20 8000 100>;
> + interrupts = <28 8>;
> + interrupt-parent = <&PIC>;
> + fsl,cpm-brg = <1>;
> + fsl,cpm-command = <00800000>;
> + };
> +
> + iii) Network
> +
> + Currently defined compatibles:
> + - fsl,cpm1-scc-enet
> + - fsl,cpm2-scc-enet
> + - fsl,cpm1-fec-enet
> + - fsl,cpm2-fcc-enet (third resource is GFEMR)
> + - fsl,qe-enet
> +
> + Example:
> +
> + ethernet@11300 {
> + device_type = "network";
> + compatible = "fsl,mpc8272-fcc-enet",
> + "fsl,cpm2-fcc-enet";
> + reg = <11300 20 8400 100 11390 1>;
> + local-mac-address = [ 00 00 00 00 00 00 ];
> + interrupts = <20 8>;
> + interrupt-parent = <&PIC>;
> + phy-handle = <&PHY0>;
> + linux,network-index = <0>;
> + fsl,cpm-command = <12000300>;
> + };
Should this also have a phandle pointer to the mdio node?
> + iv) MDIO
> +
> + Currently defined compatibles:
> + fsl,pq1-fec-mdio (reg is same as first resource of FEC device)
> + fsl,cpm2-mdio-bitbang (reg is port C registers)
> +
> + Properties for fsl,cpm2-mdio-bitbang:
> + fsl,mdio-pin : pin of port C controlling mdio data
> + fsl,mdc-pin : pin of port C controlling mdio clock
> +
> + Example:
> +
> + mdio@10d40 {
> + device_type = "mdio";
> + compatible = "fsl,mpc8272ads-mdio-bitbang",
> + "fsl,mpc8272-mdio-bitbang",
> + "fsl,cpm2-mdio-bitbang";
> + reg = <10d40 14>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + fsl,mdio-pin = <12>;
> + fsl,mdc-pin = <13>;
> + };
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
next prev parent reply other threads:[~2007-08-29 5:39 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-28 20:11 [PATCH v3 1/8] Generic bitbanged MDIO library Scott Wood
2007-08-28 20:14 ` [PATCH v3 2/8] fs_enet: Whitespace cleanup Scott Wood
2007-08-28 20:14 ` [PATCH v3 3/8] fs_enet: Include linux/string.h from linux/fs_enet_pd.h Scott Wood
2007-08-28 20:14 ` [PATCH v3 4/8] fs_enet: Don't share the interrupt Scott Wood
2007-08-28 20:14 ` [PATCH v3 5/8] fs_enet: mac-fcc: Eliminate __fcc-* macros Scott Wood
2007-08-28 20:14 ` [PATCH v3 6/8] fs_enet: Align receive buffers Scott Wood
2007-08-28 20:14 ` [PATCH v3 7/8] fs_enet: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set Scott Wood
2007-08-28 20:14 ` [PATCH v3 8/8] fs_enet: sparse fixes Scott Wood
2007-08-28 20:16 ` [PATCH 1/3] fsl_soc.c cleanup Scott Wood
2007-08-29 5:30 ` David Gibson
2007-09-11 5:35 ` Kumar Gala
2007-09-11 13:57 ` Scott Wood
2007-09-11 15:48 ` Kumar Gala
2007-09-11 15:51 ` Scott Wood
2007-09-11 16:22 ` Kumar Gala
2007-09-11 16:24 ` Scott Wood
2007-09-11 16:45 ` SOC registers/immr determination from device tree (was Re: [PATCH 1/3] fsl_soc.c cleanup) Kumar Gala
2007-09-11 17:03 ` Scott Wood
2007-09-11 17:08 ` Josh Boyer
2007-09-11 17:54 ` Kumar Gala
2007-08-28 20:16 ` [PATCH 2/3] Introduce new CPM device bindings Scott Wood
2007-08-29 5:39 ` David Gibson [this message]
2007-08-29 13:58 ` Scott Wood
2007-08-30 0:55 ` David Gibson
2007-08-30 5:48 ` Scott Wood
2007-08-30 5:58 ` David Gibson
2007-08-30 14:10 ` Scott Wood
2007-08-31 2:48 ` David Gibson
2007-08-28 20:16 ` [PATCH 3/3] Add early debug console for CPM serial ports Scott Wood
2007-08-29 5:45 ` David Gibson
2007-08-29 14:02 ` Scott Wood
2007-08-29 19:58 ` Scott Wood
2007-08-30 0:58 ` David Gibson
2007-08-30 0:57 ` David Gibson
2007-08-28 20:16 ` [PATCH 1/4] ppc: Add clrbits8 and setbits8 Scott Wood
2007-08-28 20:16 ` [PATCH 2/4] cpm_uart: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set Scott Wood
2007-08-28 20:16 ` [PATCH 3/4] cpm_uart: sparse fixes Scott Wood
2007-08-28 20:16 ` [PATCH 4/4] cpm_uart: Issue STOP_TX command before initializing console Scott Wood
2007-08-28 20:17 ` [PATCH 1/9] 8xx: Fix CONFIG_PIN_TLB Scott Wood
2007-08-29 21:09 ` Vitaly Bordug
2007-08-28 20:17 ` [PATCH 2/9] 8xx: Infrastructure code cleanup Scott Wood
2007-09-13 7:11 ` David Gibson
2007-09-13 8:16 ` Vitaly Bordug
2007-09-14 4:09 ` David Gibson
2007-09-14 8:21 ` Vitaly Bordug
2007-09-15 2:25 ` David Gibson
2007-09-13 14:40 ` Scott Wood
2007-08-28 20:17 ` [PATCH 3/9] 8xx: Add pin and clock setting functions Scott Wood
2007-08-29 21:38 ` Vitaly Bordug
2007-08-31 20:44 ` Scott Wood
2007-09-05 7:39 ` Vitaly Bordug
2007-09-05 17:37 ` Scott Wood
2007-08-28 20:17 ` [PATCH 4/9] 8xx: Work around CPU15 erratum Scott Wood
2007-08-28 20:17 ` [PATCH 5/9] 8xx: Don't call non-existent Soft_emulate_8xx from SoftwareEmulation Scott Wood
2007-08-28 20:17 ` [PATCH 6/9] 8xx: Set initial memory limit John Traill
2007-08-28 20:19 ` Scott Wood
2007-08-28 20:19 ` [PATCH 7/9] 8xx: mpc885ads cleanup Scott Wood
2007-08-29 22:03 ` Vitaly Bordug
2007-08-28 20:19 ` [PATCH 8/9] 8xx: Embedded Planet EP88xC support Scott Wood
2007-08-28 20:19 ` [PATCH 9/9] 8xx: Adder 875 support Scott Wood
2007-08-28 20:19 ` [PATCH 1/9] cpm2: Infrastructure code cleanup Scott Wood
2007-08-28 20:19 ` [PATCH 2/9] cpm2: Fix off-by-one error in setbrg() Scott Wood
2007-08-29 22:09 ` Vitaly Bordug
2007-08-30 20:13 ` Scott Wood
2007-08-30 21:52 ` Vitaly Bordug
2007-08-28 20:19 ` [PATCH 3/9] cpm2: Add SCCs to cpm2_clk_setup(), and cpm2_smc_clk_setup() Scott Wood
2007-08-29 22:25 ` Vitaly Bordug
2007-08-30 20:15 ` Scott Wood
2007-09-04 20:43 ` Vitaly Bordug
2007-08-28 20:19 ` [PATCH 4/9] cpm2: Add cpm2_set_pin() Scott Wood
2007-09-04 20:51 ` Vitaly Bordug
2007-08-28 20:19 ` [PATCH 5/9] mpc82xx: Remove a bunch of cruft that duplicates generic functionality Scott Wood
2007-08-28 20:19 ` [PATCH 6/9] mpc82xx: Rename mpc82xx_ads to mpc8272_ads Scott Wood
2007-08-29 5:55 ` David Gibson
2007-08-28 20:19 ` [PATCH 7/9] mpc8272ads: Change references from 82xx_ADS to 8272_ADS Scott Wood
2007-08-28 20:19 ` [PATCH 8/9] mpc82xx: Update mpc8272ads, and factor out PCI and reset Scott Wood
2007-08-29 22:41 ` Kumar Gala
2007-08-30 5:56 ` Scott Wood
2007-08-30 14:56 ` Kumar Gala
2007-08-30 15:17 ` Scott Wood
2007-08-28 20:19 ` [PATCH 9/9] mpc82xx: Add pq2fads board support Scott Wood
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=20070829053941.GC3206@localhost.localdomain \
--to=david@gibson.dropbear.id.au \
--cc=linuxppc-dev@ozlabs.org \
--cc=scottwood@freescale.com \
/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).