On Tue, Feb 26, 2019 at 2:49 AM Rasmus Villemoes <rasmus.villem...@prevas.dk> wrote: > -----Original Message----- > From: Rasmus Villemoes <rasmus.villem...@prevas.dk> > Sent: 2019年2月26日 16:48 > To: Qiang Zhao <qiang.z...@nxp.com>; Leo Li <leoyang...@nxp.com> > Cc: linux-kernel@vger.kernel.org; Valentin Longchamp > <valentin.longch...@keymile.com>; Scott Wood <o...@buserror.net>; > Rasmus Villemoes <rasmus.villem...@prevas.se> > Subject: [RFC PATCH] soc/fsl/qe: support MPC8309 > > Currently, when device tree specifies fsl,qe-num-snums = 28 (which a number > of in-tree .dts files do, and which is the default when that property is > missing), > qe_snums_init() ends up using the first 28 elements of the snum_init_46[] > array. > > The situation is quite messy. This patch may break existing setups that for > some reason work with specifying fsl,qe-num-snums = 28 and using the > existing snum_init_46 array. OTOH, the current code certainly does not work > for the MPC8309-based board we're working on, since the first 14 of the > elements in snum_init_46 are "Not available on > MPC8306/MPC8306S/MPC8309" according to the QUICC Engine Reference > Manual (Table 4-30) - and indeed, without this patch (or something to the > same effect), we get
According to the QUICC Engine Reference Manual (Table 4-30), the number of snums used for " MPC8306/MPC8306S/MPC8309" should be 14 instead of 28, so maybe we should assign "fsl,qe-num-snums = 14" And define a new snum_init_14 array, meanwhile, modify the minimum value of "num_of_snums" to 14 in function "qe_get_num_of_snums" (I mean: " if ((num_of_snums < 14) || (num_of_snums > QE_NUM_OF_SNUM)) {") Best Regards Qiang Zhao