[Letux-kernel] omap-gpmc gta04 regression 4.7-rc1

H. Nikolaus Schaller hns at goldelico.com
Tue Jun 14 22:10:36 CEST 2016


Hi,

> Am 14.06.2016 um 20:17 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi Roger,
> 
>> Am 08.06.2016 um 12:05 schrieb Roger Quadros <rogerq at ti.com>:
>> 
> 
>> 
>> one at https://github.com/goldelico/gta04-kernel/blob/letux-4.7-rc1/arch/arm/boot/dts/omap3-gta04.dtsi#L602
>> &gpmc {
>> 	ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
>> 
>> 	nand at 0,0 {
>> 		compatible = "ti,omap2-nand";
>> 		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
>> 
>> and again at https://github.com/goldelico/gta04-kernel/blob/letux-4.7-rc1/arch/arm/boot/dts/omap3-gta04.dtsi#L1122
> 
> Therefore we merge on top of linus/master a private patch which - for simplicity (it is very difficult to track changes
> in the middle of a DT) it appends a second &gmpc node and relies on the DTC to do what should have been (will
> have been) merged in source code.
> 
> Without these patches (introduced on our private kernel in 3.19) NAND did not work.
> 
>> &gpmc {
>> 	ranges = <0 0 0x30000000 0x04>; /* CS0: NAND */
>> 
>> 	nand at 0,0 {
>> 		reg = <0 0 0>; /* CS0, offset 0 */
>> 		ti,nand-ecc-opt = "sw"; /* stay compatible with our old u-boot (does not support bch8) */
>> 
>> 		kernel at 280000 {
>> 			reg = <0x280000 0x600000>;
>> 		};
>> 
>> 		filesystem at a80000 {
>> 			reg = <0x880000 0>;     /* 0 = MTDPART_SIZ_FULL */
>> 		};
>> 	};
>> };
>> 
>> 
>> In the latter part ranges and reg property is wrong. Just get rid of it.
> 
> No, they work on our setup. The original ranges / reg setting did not work.

I have found what went wrong.

There was upstream commit e2c5eb78a3cc9b0d69ae924c33da50a4cd6d1fa4 which
did fix these ranges, but we didn't get really aware of this change.

Almost at the same time we rearranged the device tree file as described - starting with
our local copy which we thought to be correct.

During rearrangement we found a discrepancy between what we had been working on
before and what we did find in linux/master. So we did falsely assume that we were right
and not linus/master and need to upstream this diff later on (which never happened). Hence
the diff was added to the second &gpmc node starting to make problems in 4.7-rc1.

So you are right that we should try to get rid of the ranges / reg modification, if it passes tests.
And hopefully the gpio problem disappears with this.

BR and thanks for pinpointing us to this code location,
Nikolaus



More information about the Letux-kernel mailing list