Hi Roger, On Wed, Jun 15, 2016 at 8:59 AM, Roger Quadros <rogerq@xxxxxx> wrote: > On 14/06/16 23:10, H. Nikolaus Schaller wrote: >> Hi, >> >>> Am 14.06.2016 um 20:17 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>: >>> >>> Hi Roger, >>> >>>> Am 08.06.2016 um 12:05 schrieb Roger Quadros <rogerq@xxxxxx>: >>>> >>> >>>> >>>> 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@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@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@280000 { >>>> reg = <0x280000 0x600000>; >>>> }; >>>> >>>> filesystem@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. > > There are two separate issues. > 1) GPIO-irqchip failing on an unrelated GPIO due to a bug in gpio irqchip code. This triggers > when the GPMC CS resource allocation fails. > This is fixed in v4.7-rc3 with the below 2 commits > http://git.kernel.org/cgit/linux/kernel/git/linusw/linux-gpio.git/commit/?h=fixes&id=11f33a6d15bfa397867ac0d7f3481b6dd683286f > http://git.kernel.org/cgit/linux/kernel/git/linusw/linux-gpio.git/commit/?h=fixes&id=f4833b8cc7edab57d3f3033e549111a546c2e02b Gpio issue is fixed by those 2 commits (I verified that) > > 2) GPMC CS resource failing > This is because of the invalid ranges property. This must be fixed in your local patches. Also I fix range property and we have NAND probed again. Thanks. > > -- > cheers, > -roger BR, marek -- as simple and primitive as possible ------------------------------------------------- Marek Belisko - OPEN-NANDRA Freelance Developer Ruska Nova Ves 219 | Presov, 08005 Slovak Republic Tel: +421 915 052 184 skype: marekwhite twitter: #opennandra web: http://open-nandra.com -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html