Adding device tree entry for CPSW to make it work in Dual EMAC mode.
These patches were tested with DRA7 hwmod patches on top of linux-next.
Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
my tree to [2].
Did a boot test with CPSW and ping test with suspend/resume, the boot logs
on DRA7xx EVM are posted at [3]
[1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
[2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
[3] http://pastebin.ubuntu.com/8613072/
Changes from v2:
* Changed pinctrl comments to hold mode0-name.mode-selected-name
* Changes slave numbers in the pinctrl comments
* Added cpsw and cpts clocks
Changes from initial version:
* Dropped patch for pinoff states
* Changed pinoff state to mode15
Mugunthan V N (2):
ARM: dts: dra7: Add CPSW and MDIO module nodes for dra7
ARM: dts: dra7-evm: Enable CPSW and MDIO for dra7xx EVM
arch/arm/boot/dts/dra7-evm.dts | 106 +++++++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/dra7.dtsi | 61 ++++++++++++++++++++++++
2 files changed, 167 insertions(+)
--
2.1.2.484.g13da0fc
Add CPSW and MDIO related device tree data for DRA7XX and made as status
disabled. Phy-id, pinmux for active and sleep state needs to be added in
board dts files and enable the CPSW device.
Signed-off-by: Mugunthan V N <[email protected]>
---
arch/arm/boot/dts/dra7.dtsi | 61 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index 9cc9843..56f5275 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -34,6 +34,8 @@
serial3 = &uart4;
serial4 = &uart5;
serial5 = &uart6;
+ ethernet0 = &cpsw_emac0;
+ ethernet1 = &cpsw_emac1;
};
timer {
@@ -1265,6 +1267,65 @@
ti,irqs-skip = <10 133 139 140>;
ti,irqs-safe-map = <0>;
};
+
+ mac: ethernet@4a100000 {
+ compatible = "ti,cpsw";
+ ti,hwmods = "gmac";
+ clocks = <&dpll_gmac_ck>, <&gmac_gmii_ref_clk_div>;
+ clock-names = "fck", "cpts";
+ cpdma_channels = <8>;
+ ale_entries = <1024>;
+ bd_ram_size = <0x2000>;
+ no_bd_ram = <0>;
+ rx_descs = <64>;
+ mac_control = <0x20>;
+ slaves = <2>;
+ active_slave = <0>;
+ cpts_clock_mult = <0x80000000>;
+ cpts_clock_shift = <29>;
+ reg = <0x48484000 0x1000
+ 0x48485200 0x2E00>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ /*
+ * rx_thresh_pend
+ * rx_pend
+ * tx_pend
+ * misc_pend
+ */
+ interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
+ ranges;
+ status = "disabled";
+
+ davinci_mdio: mdio@48485000 {
+ compatible = "ti,davinci_mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ti,hwmods = "davinci_mdio";
+ bus_freq = <1000000>;
+ reg = <0x48485000 0x100>;
+ };
+
+ cpsw_emac0: slave@48480200 {
+ /* Filled in by U-Boot */
+ mac-address = [ 00 00 00 00 00 00 ];
+ };
+
+ cpsw_emac1: slave@48480300 {
+ /* Filled in by U-Boot */
+ mac-address = [ 00 00 00 00 00 00 ];
+ };
+
+ phy_sel: cpsw-phy-sel@4a002554 {
+ compatible = "ti,dra7xx-cpsw-phy-sel";
+ reg= <0x4a002554 0x4>;
+ reg-names = "gmii-sel";
+ };
+ };
+
};
};
--
2.1.2.484.g13da0fc
Adding CPSW phy-id, CPSW and MDIO pinmux configuration for active and
sleep states and enable them in board evm dts file.
Signed-off-by: Mugunthan V N <[email protected]>
---
arch/arm/boot/dts/dra7-evm.dts | 106 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 106 insertions(+)
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index 518a6c0..3be2630 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -171,6 +171,86 @@
0xd0 (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */
>;
};
+
+ cpsw_default: cpsw_default {
+ pinctrl-single,pins = <
+ /* Slave 1 */
+ 0x250 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txc.rgmii0_txc */
+ 0x254 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txctl.rgmii0_txctl */
+ 0x258 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_td3.rgmii0_txd3 */
+ 0x25c (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd2.rgmii0_txd2 */
+ 0x260 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd1.rgmii0_txd1 */
+ 0x264 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd0.rgmii0_txd0 */
+ 0x268 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxc.rgmii0_rxc */
+ 0x26c (PIN_INPUT | MUX_MODE0) /* rgmii0_rxctl.rgmii0_rxctl */
+ 0x270 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd3.rgmii0_rxd3 */
+ 0x274 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd2.rgmii0_rxd2 */
+ 0x278 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd1.rgmii0_rxd1 */
+ 0x27c (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd0.rgmii0_rxd0 */
+
+ /* Slave 2 */
+ 0x198 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */
+ 0x19c (PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */
+ 0x1a0 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */
+ 0x1a4 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */
+ 0x1a8 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */
+ 0x1ac (PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */
+ 0x1b0 (PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
+ 0x1b4 (PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
+ 0x1b8 (PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
+ 0x1bc (PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
+ 0x1c0 (PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
+ 0x1c4 (PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
+ >;
+
+ };
+
+ cpsw_sleep: cpsw_sleep {
+ pinctrl-single,pins = <
+ /* Slave 1 */
+ 0x250 (MUX_MODE15)
+ 0x254 (MUX_MODE15)
+ 0x258 (MUX_MODE15)
+ 0x25c (MUX_MODE15)
+ 0x260 (MUX_MODE15)
+ 0x264 (MUX_MODE15)
+ 0x268 (MUX_MODE15)
+ 0x26c (MUX_MODE15)
+ 0x270 (MUX_MODE15)
+ 0x274 (MUX_MODE15)
+ 0x278 (MUX_MODE15)
+ 0x27c (MUX_MODE15)
+
+ /* Slave 2 */
+ 0x198 (MUX_MODE15)
+ 0x19c (MUX_MODE15)
+ 0x1a0 (MUX_MODE15)
+ 0x1a4 (MUX_MODE15)
+ 0x1a8 (MUX_MODE15)
+ 0x1ac (MUX_MODE15)
+ 0x1b0 (MUX_MODE15)
+ 0x1b4 (MUX_MODE15)
+ 0x1b8 (MUX_MODE15)
+ 0x1bc (MUX_MODE15)
+ 0x1c0 (MUX_MODE15)
+ 0x1c4 (MUX_MODE15)
+ >;
+ };
+
+ davinci_mdio_default: davinci_mdio_default {
+ pinctrl-single,pins = <
+ 0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */
+ 0x240 (PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
+ >;
+ };
+
+ davinci_mdio_sleep: davinci_mdio_sleep {
+ pinctrl-single,pins = <
+ 0x23c (MUX_MODE15)
+ 0x240 (MUX_MODE15)
+ >;
+ };
+
};
&i2c1 {
@@ -528,3 +608,29 @@
ti,no-reset-on-init;
ti,no-idle-on-init;
};
+
+&mac {
+ status = "okay";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&cpsw_default>;
+ pinctrl-1 = <&cpsw_sleep>;
+ dual_emac;
+};
+
+&cpsw_emac0 {
+ phy_id = <&davinci_mdio>, <2>;
+ phy-mode = "rgmii";
+ dual_emac_res_vlan = <1>;
+};
+
+&cpsw_emac1 {
+ phy_id = <&davinci_mdio>, <3>;
+ phy-mode = "rgmii";
+ dual_emac_res_vlan = <2>;
+};
+
+&davinci_mdio {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&davinci_mdio_default>;
+ pinctrl-1 = <&davinci_mdio_sleep>;
+};
--
2.1.2.484.g13da0fc
Nishanth
On Tuesday 21 October 2014 03:30 PM, Mugunthan V N wrote:
> Adding device tree entry for CPSW to make it work in Dual EMAC mode.
> These patches were tested with DRA7 hwmod patches on top of linux-next.
> Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
> my tree to [2].
>
> Did a boot test with CPSW and ping test with suspend/resume, the boot logs
> on DRA7xx EVM are posted at [3]
>
> [1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
> [2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
> [3] http://pastebin.ubuntu.com/8613072/
>
> Changes from v2:
> * Changed pinctrl comments to hold mode0-name.mode-selected-name
> * Changes slave numbers in the pinctrl comments
> * Added cpsw and cpts clocks
>
I have not added support for dra72x-evm as it has only slave no 2 pinned
out and having issues with bringing up the interface, need some more
time to submit the patch, in the mean time I have submitted dra7-evm
support only so that people can use dra7-evm on linux-next.
Regards
Mugunthan V N
On 15:37-20141021, Mugunthan V N wrote:
> Nishanth
>
> On Tuesday 21 October 2014 03:30 PM, Mugunthan V N wrote:
> > Adding device tree entry for CPSW to make it work in Dual EMAC mode.
> > These patches were tested with DRA7 hwmod patches on top of linux-next.
> > Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
> > my tree to [2].
> >
> > Did a boot test with CPSW and ping test with suspend/resume, the boot logs
> > on DRA7xx EVM are posted at [3]
> >
> > [1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
> > [2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
> > [3] http://pastebin.ubuntu.com/8613072/
> >
> > Changes from v2:
> > * Changed pinctrl comments to hold mode0-name.mode-selected-name
> > * Changes slave numbers in the pinctrl comments
> > * Added cpsw and cpts clocks
> >
>
> I have not added support for dra72x-evm as it has only slave no 2 pinned
> out and having issues with bringing up the interface, need some more
> time to submit the patch, in the mean time I have submitted dra7-evm
> support only so that people can use dra7-evm on linux-next.
Quickly tested as well:
http://slexy.org/raw/s2vISJxYrR
Please feel free to add:
Tested-by: Nishanth Menon <[email protected]>
Acked-by: Nishanth Menon <[email protected]>
--
Regards,
Nishanth Menon
On Tue, Oct 21, 2014 at 12:22:23PM -0500, Nishanth Menon wrote:
> On 15:37-20141021, Mugunthan V N wrote:
> > Nishanth
> >
> > On Tuesday 21 October 2014 03:30 PM, Mugunthan V N wrote:
> > > Adding device tree entry for CPSW to make it work in Dual EMAC mode.
> > > These patches were tested with DRA7 hwmod patches on top of linux-next.
> > > Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
> > > my tree to [2].
> > >
> > > Did a boot test with CPSW and ping test with suspend/resume, the boot logs
> > > on DRA7xx EVM are posted at [3]
> > >
> > > [1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
> > > [2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
> > > [3] http://pastebin.ubuntu.com/8613072/
> > >
> > > Changes from v2:
> > > * Changed pinctrl comments to hold mode0-name.mode-selected-name
> > > * Changes slave numbers in the pinctrl comments
> > > * Added cpsw and cpts clocks
> > >
> >
> > I have not added support for dra72x-evm as it has only slave no 2 pinned
> > out and having issues with bringing up the interface, need some more
> > time to submit the patch, in the mean time I have submitted dra7-evm
> > support only so that people can use dra7-evm on linux-next.
>
> Quickly tested as well:
> http://slexy.org/raw/s2vISJxYrR
>
> Please feel free to add:
> Tested-by: Nishanth Menon <[email protected]>
> Acked-by: Nishanth Menon <[email protected]>
I've used these patches with X15 (DRA7xx-based yet-to-be-released board)
with v3.18-rc2.
Tested-by: Felipe Balbi <[email protected]>
--
balbi
Tony
On Monday 03 November 2014 09:57 PM, Felipe Balbi wrote:
> On Tue, Oct 21, 2014 at 12:22:23PM -0500, Nishanth Menon wrote:
>> On 15:37-20141021, Mugunthan V N wrote:
>>> Nishanth
>>>
>>> On Tuesday 21 October 2014 03:30 PM, Mugunthan V N wrote:
>>>> Adding device tree entry for CPSW to make it work in Dual EMAC mode.
>>>> These patches were tested with DRA7 hwmod patches on top of linux-next.
>>>> Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
>>>> my tree to [2].
>>>>
>>>> Did a boot test with CPSW and ping test with suspend/resume, the boot logs
>>>> on DRA7xx EVM are posted at [3]
>>>>
>>>> [1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
>>>> [2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
>>>> [3] http://pastebin.ubuntu.com/8613072/
>>>>
>>>> Changes from v2:
>>>> * Changed pinctrl comments to hold mode0-name.mode-selected-name
>>>> * Changes slave numbers in the pinctrl comments
>>>> * Added cpsw and cpts clocks
>>>>
>>>
>>> I have not added support for dra72x-evm as it has only slave no 2 pinned
>>> out and having issues with bringing up the interface, need some more
>>> time to submit the patch, in the mean time I have submitted dra7-evm
>>> support only so that people can use dra7-evm on linux-next.
>>
>> Quickly tested as well:
>> http://slexy.org/raw/s2vISJxYrR
>>
>> Please feel free to add:
>> Tested-by: Nishanth Menon <[email protected]>
>> Acked-by: Nishanth Menon <[email protected]>
>
> I've used these patches with X15 (DRA7xx-based yet-to-be-released board)
> with v3.18-rc2.
>
> Tested-by: Felipe Balbi <[email protected]>
>
Ping on this
Regards
Mugunthan V N
* Mugunthan V N <[email protected]> [141021 03:02]:
> Adding device tree entry for CPSW to make it work in Dual EMAC mode.
> These patches were tested with DRA7 hwmod patches on top of linux-next.
> Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
> my tree to [2].
>
> Did a boot test with CPSW and ping test with suspend/resume, the boot logs
> on DRA7xx EVM are posted at [3]
Thanks applying into omap-for-v3.19/dt.
Tony
> [1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
> [2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
> [3] http://pastebin.ubuntu.com/8613072/
>
> Changes from v2:
> * Changed pinctrl comments to hold mode0-name.mode-selected-name
> * Changes slave numbers in the pinctrl comments
> * Added cpsw and cpts clocks
>
> Changes from initial version:
> * Dropped patch for pinoff states
> * Changed pinoff state to mode15
>
> Mugunthan V N (2):
> ARM: dts: dra7: Add CPSW and MDIO module nodes for dra7
> ARM: dts: dra7-evm: Enable CPSW and MDIO for dra7xx EVM
>
> arch/arm/boot/dts/dra7-evm.dts | 106 +++++++++++++++++++++++++++++++++++++++++
> arch/arm/boot/dts/dra7.dtsi | 61 ++++++++++++++++++++++++
> 2 files changed, 167 insertions(+)
>
> --
> 2.1.2.484.g13da0fc
>
On Thu, Nov 06, 2014 at 10:33:42PM +0530, Mugunthan V N wrote:
> Tony
>
> On Monday 03 November 2014 09:57 PM, Felipe Balbi wrote:
> > On Tue, Oct 21, 2014 at 12:22:23PM -0500, Nishanth Menon wrote:
> >> On 15:37-20141021, Mugunthan V N wrote:
> >>> Nishanth
> >>>
> >>> On Tuesday 21 October 2014 03:30 PM, Mugunthan V N wrote:
> >>>> Adding device tree entry for CPSW to make it work in Dual EMAC mode.
> >>>> These patches were tested with DRA7 hwmod patches on top of linux-next.
> >>>> Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
> >>>> my tree to [2].
> >>>>
> >>>> Did a boot test with CPSW and ping test with suspend/resume, the boot logs
> >>>> on DRA7xx EVM are posted at [3]
> >>>>
> >>>> [1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
> >>>> [2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
> >>>> [3] http://pastebin.ubuntu.com/8613072/
> >>>>
> >>>> Changes from v2:
> >>>> * Changed pinctrl comments to hold mode0-name.mode-selected-name
> >>>> * Changes slave numbers in the pinctrl comments
> >>>> * Added cpsw and cpts clocks
> >>>>
> >>>
> >>> I have not added support for dra72x-evm as it has only slave no 2 pinned
> >>> out and having issues with bringing up the interface, need some more
> >>> time to submit the patch, in the mean time I have submitted dra7-evm
> >>> support only so that people can use dra7-evm on linux-next.
> >>
> >> Quickly tested as well:
> >> http://slexy.org/raw/s2vISJxYrR
> >>
> >> Please feel free to add:
> >> Tested-by: Nishanth Menon <[email protected]>
> >> Acked-by: Nishanth Menon <[email protected]>
> >
> > I've used these patches with X15 (DRA7xx-based yet-to-be-released board)
> > with v3.18-rc2.
> >
> > Tested-by: Felipe Balbi <[email protected]>
> >
>
> Ping on this
another ping on this
--
balbi
On Thu, Dec 04, 2014 at 02:14:01PM -0600, Felipe Balbi wrote:
> On Thu, Nov 06, 2014 at 10:33:42PM +0530, Mugunthan V N wrote:
> > Tony
> >
> > On Monday 03 November 2014 09:57 PM, Felipe Balbi wrote:
> > > On Tue, Oct 21, 2014 at 12:22:23PM -0500, Nishanth Menon wrote:
> > >> On 15:37-20141021, Mugunthan V N wrote:
> > >>> Nishanth
> > >>>
> > >>> On Tuesday 21 October 2014 03:30 PM, Mugunthan V N wrote:
> > >>>> Adding device tree entry for CPSW to make it work in Dual EMAC mode.
> > >>>> These patches were tested with DRA7 hwmod patches on top of linux-next.
> > >>>> Patches are tested on top of Nishanth's PM tree for v3.17 [1] and pushed
> > >>>> my tree to [2].
> > >>>>
> > >>>> Did a boot test with CPSW and ping test with suspend/resume, the boot logs
> > >>>> on DRA7xx EVM are posted at [3]
> > >>>>
> > >>>> [1] git://github.com/nmenon/linux-2.6-playground.git testing/v3.17/cpu-idle-suspend-dra7-omap5-framework
> > >>>> [2] git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git v3.17/dra7-evm-cpsw-v3
> > >>>> [3] http://pastebin.ubuntu.com/8613072/
> > >>>>
> > >>>> Changes from v2:
> > >>>> * Changed pinctrl comments to hold mode0-name.mode-selected-name
> > >>>> * Changes slave numbers in the pinctrl comments
> > >>>> * Added cpsw and cpts clocks
> > >>>>
> > >>>
> > >>> I have not added support for dra72x-evm as it has only slave no 2 pinned
> > >>> out and having issues with bringing up the interface, need some more
> > >>> time to submit the patch, in the mean time I have submitted dra7-evm
> > >>> support only so that people can use dra7-evm on linux-next.
> > >>
> > >> Quickly tested as well:
> > >> http://slexy.org/raw/s2vISJxYrR
> > >>
> > >> Please feel free to add:
> > >> Tested-by: Nishanth Menon <[email protected]>
> > >> Acked-by: Nishanth Menon <[email protected]>
> > >
> > > I've used these patches with X15 (DRA7xx-based yet-to-be-released board)
> > > with v3.18-rc2.
> > >
> > > Tested-by: Felipe Balbi <[email protected]>
> > >
> >
> > Ping on this
>
> another ping on this
oh my bad, it's already queued for v3.19. sorry
--
balbi