On Wed, Nov 29, 2017 at 6:50 PM, Stephen Boyd <sboyd@xxxxxxxxxxxxxx> wrote: Hi Stephen, >> I'm looking at building a product using an msm8909 SoC and been >> somewhat disappointed with the choice of kernels available - Qualcomm >> I believe are only shipping 3.10, AOSP has some code on 3.18 but both >> of these kernel releases are end of life. >> >> I was looking at the work done to support the Dragonboard on the basis >> that the msm8916 doesn't look that dissimilar to the msm8909 in terms >> of the peripherals on the SoC and I was considering forward porting >> the msm8909 support from 3.10/3.18 to 4.9 (probably Linaro qcomlt >> tree). Does anyone have a feel for how much work this would be? Would >> I be completely insane to attempt that? >> > > It can take quite some time to do a git rebase of the 3.10 or 3.18 tree > to a newer kernel version. Even if you have knowledge of the SoC and > have been working in the kernel for quite a while it can still take > weeks if not months to move all the code over and have it all work > correctly. Copying whole drivers is not really the issue. It's teasing > out the core framework changes and porting those over that takes time. Yeah that does seem to be where the main issues lie. Forward porting the drivers is hard due to their reliance on a bunch of out of tree code or modified generic code that has changed considerably in the intervening years. > It's not completely insane to support this SoC upstream though. You'd > have to bring in the pinctrl and clk drivers, which may be a bit of > effort. After that it should mostly be enabling various devices by > adding DT nodes and testing things out. It looks like this is 32-bit, so > getting SMP support may require some tweaks to the smp_ops code for qcom > platforms. You're right that it isn't too different from msm8916, so it > may be that most of the driver support for that SoC transfers over > nicely to this one. I've started from the 8916 drivers and started to port in the changes from the 3.18 tree that seem relevant. I have a kernel that boots and talks over the serial. I've done a bunch of pinctrl although it is not complete yet. I've had a look at the clocks and got the PLL working but I think I'm probably missing a document that describes the clocking architecture in more detail (I have the register reference but that's a bit of a worm's eye view). The current issue I am experiencing is the first write to an SPMI channel causes the board to reset. I suspect this means that I have not setup clocks correctly somewhere? -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html