Re: [PATCH 37/61] cpm2: Rework 8272ads initialization, and eliminate init_fcc_ioports().
From: Scott Wood <hidden>
Date: 2007-07-19 15:03:10
Arnd Bergmann wrote:
On Wednesday 18 July 2007, Scott Wood wrote:quoted
+static struct cpm_pin mpc8272ads_pins[] = { + /* SCC1 */ + {3, 30, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, + {3, 31, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + + /* SCC4 */ + {3, 21, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, + {3, 22, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + + /* FCC1 */ + {0, 14, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + {0, 15, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + {0, 16, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, + {0, 17, CPM_PIN_INPUT | CPM_PIN_PRIMARY},I guess you considered moving such tables into the device tree at some point, which doesn't seem that difficult at all to an ignorant reviewer like me. What's the reasoning for putting it into the platform code after all?
Ideally, this would be done by u-boot, and neither the kernel nor the device tree would need to care. However, u-boot's setting up of the pins was lacking on all of the boards I tested on, so I had to fix it up in the platform code. I considered putting it in the device tree as the qe code does; if there are many boards like these that need the kernel to set up the pins, it may be worthwhile. We just need to come up with a good binding (e.g. no using arbitrary enums defined in the kernel). -Scott