Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 330376
b: refs/heads/master
c: e8294de
h: refs/heads/master
v: v3
  • Loading branch information
Benjamin Herrenschmidt committed Sep 27, 2012
1 parent b38245e commit 5cf649b
Show file tree
Hide file tree
Showing 15 changed files with 484 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4d56dec5dca496655ef035ef3b80f7c47dc22b77
refs/heads/master: e8294de53bb788b3a6f7c09d143c7cdc60b65753
41 changes: 41 additions & 0 deletions trunk/Documentation/devicetree/bindings/misc/ifm-csi.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
IFM camera sensor interface on mpc5200 LocalPlus bus

Required properties:
- compatible: "ifm,o2d-csi"
- reg: specifies sensor chip select number and associated address range
- interrupts: external interrupt line number and interrupt sense mode
of the interrupt line signaling frame valid events
- gpios: three gpio-specifiers for "capture", "reset" and "master enable"
GPIOs (strictly in this order).
- ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor
clock generator. This node is usually a general purpose timer controller.
- ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25)
- ifm,csi-data-bus-width: data bus width (valid values are 8 and 16)
- ifm,csi-wait-cycles: sensor bus wait cycles

Optional properties:
- ifm,csi-byte-swap: if this property is present, the byte swapping on
the bus will be enabled.

Example:

csi@3,0 {
compatible = "ifm,o2d-csi";
reg = <3 0 0x00100000>; /* CS 3, 1 MiB range */
interrupts = <1 1 2>; /* IRQ1, edge falling */

ifm,csi-clk-handle = <&timer7>;
gpios = <&gpio_simple 23 0 /* image_capture */
&gpio_simple 26 0 /* image_reset */
&gpio_simple 29 0>; /* image_master_en */

ifm,csi-addr-bus-width = <24>;
ifm,csi-data-bus-width = <8>;
ifm,csi-wait-cycles = <0>;
};

The base address of the used chip select is specified in the
ranges property of the parent localbus node, for example:

ranges = <0 0 0xff000000 0x01000000
3 0 0xe3000000 0x00100000>;
47 changes: 47 additions & 0 deletions trunk/arch/powerpc/boot/dts/o2d.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* O2D Device Tree Source
*
* Copyright (C) 2012 DENX Software Engineering
* Anatolij Gustschin <agust@denx.de>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/

/include/ "o2d.dtsi"

/ {
model = "ifm,o2d";
compatible = "ifm,o2d";

memory {
reg = <0x00000000 0x08000000>; // 128MB
};

localbus {
ranges = <0 0 0xfc000000 0x02000000
3 0 0xe3000000 0x00100000>;

flash@0,0 {
compatible = "cfi-flash";
reg = <0 0 0x02000000>;
bank-width = <2>;
device-width = <2>;
#size-cells = <1>;
#address-cells = <1>;

partition@60000 {
label = "kernel";
reg = <0x00060000 0x00260000>;
read-only;
};
/* o2d specific partitions */
partition@2c0000 {
label = "o2d user defined";
reg = <0x002c0000 0x01d40000>;
};
};
};
};
139 changes: 139 additions & 0 deletions trunk/arch/powerpc/boot/dts/o2d.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
/*
* O2D base Device Tree Source
*
* Copyright (C) 2012 DENX Software Engineering
* Anatolij Gustschin <agust@denx.de>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/

/include/ "mpc5200b.dtsi"

/ {
model = "ifm,o2d";
compatible = "ifm,o2d";

memory {
reg = <0x00000000 0x04000000>; // 64MB
};

soc5200@f0000000 {

gpio_simple: gpio@b00 {
};

timer@600 { // General Purpose Timer
#gpio-cells = <2>;
gpio-controller;
fsl,has-wdt;
fsl,wdt-on-boot = <0>;
};

timer@610 {
#gpio-cells = <2>;
gpio-controller;
};

timer7: timer@670 {
};

rtc@800 {
status = "disabled";
};

psc@2000 { // PSC1
compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi";
#address-cells = <1>;
#size-cells = <0>;
cell-index = <0>;

spidev@0 {
compatible = "spidev";
spi-max-frequency = <250000>;
reg = <0>;
};
};

psc@2200 { // PSC2
status = "disabled";
};

psc@2400 { // PSC3
status = "disabled";
};

psc@2600 { // PSC4
compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
};

psc@2800 { // PSC5
compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
};

psc@2c00 { // PSC6
status = "disabled";
};

ethernet@3000 {
phy-handle = <&phy0>;
};

mdio@3000 {
phy0: ethernet-phy@0 {
reg = <0>;
};
};

sclpc@3c00 {
compatible = "fsl,mpc5200-lpbfifo";
reg = <0x3c00 0x60>;
interrupts = <3 23 0>;
};
};

localbus {
ranges = <0 0 0xff000000 0x01000000
3 0 0xe3000000 0x00100000>;

// flash device at LocalPlus Bus CS0
flash@0,0 {
compatible = "cfi-flash";
reg = <0 0 0x01000000>;
bank-width = <1>;
device-width = <2>;
#size-cells = <1>;
#address-cells = <1>;
no-unaligned-direct-access;

/* common layout for all machines */
partition@0 {
label = "u-boot";
reg = <0x00000000 0x00040000>;
read-only;
};
partition@40000 {
label = "env";
reg = <0x00040000 0x00020000>;
read-only;
};
};

csi@3,0 {
compatible = "ifm,o2d-csi";
reg = <3 0 0x00100000>;
ifm,csi-clk-handle = <&timer7>;
gpios = <&gpio_simple 23 0 /* imag_capture */
&gpio_simple 26 0 /* imag_reset */
&gpio_simple 29 0>; /* imag_master_en */

interrupts = <1 1 2>; /* IRQ1, edge falling */

ifm,csi-addr-bus-width = <24>;
ifm,csi-data-bus-width = <8>;
ifm,csi-wait-cycles = <0>;
};
};
};
52 changes: 52 additions & 0 deletions trunk/arch/powerpc/boot/dts/o2d300.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* O2D300 Device Tree Source
*
* Copyright (C) 2012 DENX Software Engineering
* Anatolij Gustschin <agust@denx.de>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/

/include/ "o2d.dtsi"

/ {
model = "ifm,o2d300";
compatible = "ifm,o2d";

localbus {
ranges = <0 0 0xfc000000 0x02000000
3 0 0xe3000000 0x00100000>;
flash@0,0 {
compatible = "cfi-flash";
reg = <0 0 0x02000000>;
bank-width = <2>;
device-width = <2>;
#size-cells = <1>;
#address-cells = <1>;

partition@40000 {
label = "env_1";
reg = <0x00040000 0x00020000>;
read-only;
};
partition@60000 {
label = "env_2";
reg = <0x00060000 0x00020000>;
read-only;
};
partition@80000 {
label = "kernel";
reg = <0x00080000 0x00260000>;
read-only;
};
/* o2d300 specific partitions */
partition@2e0000 {
label = "o2d300 user defined";
reg = <0x002e0000 0x01d20000>;
};
};
};
};
48 changes: 48 additions & 0 deletions trunk/arch/powerpc/boot/dts/o2dnt2.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* O2DNT2 Device Tree Source
*
* Copyright (C) 2012 DENX Software Engineering
* Anatolij Gustschin <agust@denx.de>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/

/include/ "o2d.dtsi"

/ {
model = "ifm,o2dnt2";
compatible = "ifm,o2d";

memory {
reg = <0x00000000 0x08000000>; // 128MB
};

localbus {
ranges = <0 0 0xfc000000 0x02000000
3 0 0xe3000000 0x00100000>;

flash@0,0 {
compatible = "cfi-flash";
reg = <0 0 0x02000000>;
bank-width = <2>;
device-width = <2>;
#size-cells = <1>;
#address-cells = <1>;

partition@60000 {
label = "kernel";
reg = <0x00060000 0x00260000>;
read-only;
};

/* o2dnt2 specific partitions */
partition@2c0000 {
label = "o2dnt2 user defined";
reg = <0x002c0000 0x01d40000>;
};
};
};
};
33 changes: 33 additions & 0 deletions trunk/arch/powerpc/boot/dts/o2i.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* O2I Device Tree Source
*
* Copyright (C) 2012 DENX Software Engineering
* Anatolij Gustschin <agust@denx.de>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/

/include/ "o2d.dtsi"

/ {
model = "ifm,o2i";
compatible = "ifm,o2d";

localbus {
flash@0,0 {
partition@60000 {
label = "kernel";
reg = <0x00060000 0x00260000>;
read-only;
};
/* o2i specific partitions */
partition@2c0000 {
label = "o2i user defined";
reg = <0x002c0000 0x00d40000>;
};
};
};
};
Loading

0 comments on commit 5cf649b

Please sign in to comment.