blob: 1dd1c19f18052134895a7eca2179cc6e8cd8b318 [file] [log] [blame]
From b251ab83cbc4eccb7d5a8c001b0b39ea6fd3e288 Mon Sep 17 00:00:00 2001
From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Date: Wed, 3 Feb 2016 14:48:47 -0800
Subject: [PATCH 2/9] FROMLIST: ARM: dts: am33xx: Move the cppi41dma node so
it's probed early
(am from https://www.marc.info/?l=linux-arm-kernel&m=139837405316547)
The DMA controller is needed for the USB controller to be correctly
registered. Therefore, if the DMA node is located at the end an unecessary
probe deferral is produced systematically.
This is easily fixed by moving the node at the beggining of the child list,
so it's probed first.
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
--
v1->v2:
* Added a comment to prevent a future clean-up based on the memory offset.
---
arch/arm/boot/dts/am33xx.dtsi | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 22cb9f9..d3fefd4 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -555,6 +555,26 @@
ti,hwmods = "usb_otg_hs";
status = "disabled";
+ /*
+ * The probe order matches the child ordering so the
+ * dma-controller node must be the first one to prevent
+ * spurious probe deferrals.
+ */
+ cppi41dma: dma-controller@47402000 {
+ compatible = "ti,am3359-cppi41";
+ reg = <0x47400000 0x1000
+ 0x47402000 0x1000
+ 0x47403000 0x1000
+ 0x47404000 0x4000>;
+ reg-names = "glue", "controller", "scheduler", "queuemgr";
+ interrupts = <17>;
+ interrupt-names = "glue";
+ #dma-cells = <2>;
+ #dma-channels = <30>;
+ #dma-requests = <256>;
+ status = "disabled";
+ };
+
usb_ctrl_mod: control@44e10620 {
compatible = "ti,am335x-usb-ctrl-module";
reg = <0x44e10620 0x10
@@ -658,20 +678,6 @@
"tx14", "tx15";
};
- cppi41dma: dma-controller@47402000 {
- compatible = "ti,am3359-cppi41";
- reg = <0x47400000 0x1000
- 0x47402000 0x1000
- 0x47403000 0x1000
- 0x47404000 0x4000>;
- reg-names = "glue", "controller", "scheduler", "queuemgr";
- interrupts = <17>;
- interrupt-names = "glue";
- #dma-cells = <2>;
- #dma-channels = <30>;
- #dma-requests = <256>;
- status = "disabled";
- };
};
epwmss0: epwmss@48300000 {
--
2.8.0.rc3.226.g39d4020