Mention the new ILI9338. Removed the instructions to change the kernel command line for 64 MB RAM on A330, since that is autodetected now if the 64 MB boot loader is used.
On the microswitch buttons of the Dingoo A320 (L/R/select/start), it often happens that multiple presses are detected for one actual button press. Specifying a 5 ms debounce interval fixes that issue. I am not sure what the optimum interval length would be, but 5 ms is short enough to not cause problems for gamers and long enough to filter out the glitches.
In hibernation mode only the wakeup logic and the RTC are left running, so this is what users perceive as power down. If the counters are not initialized, the corresponding pin (typically connected to the power button) has to be asserted for two seconds before the device wakes up. Most users expect a shorter wakeup time. I took the timing values of 100 ms and 60 ms from BouKiCHi's patch for the Dingoo A320 kernel.
With the addition of cpufreq support in the MMC driver, we can come out of suspend without getting I/O errors from the SD card.
The driver calls cpufreq_frequency_table_target() unconditionally. Also changed the indentation to tabs, which seems to be the norm.
With recent changes the SD card access is reliable again when changing the CPU frequency.
The MSC device clock is stopped before the frequency change. After the change a new divider is computed and the clock is restarted. Also the frequency change is postponed if an I/O operation is in progress.
This fixes I/O errors when reading from SD card. I guess this is a hardware quirk: I even tried writing the current value with the same routine and that had no effect, so it is not some side effect that avoids the I/O errors, it is actually the CE bit that matters.
I get I/O errors reading from the SD card when the cpufreq driver is used. In earlier kernels we had SD problems with cpufreq and suspend, but in 2.6.39 it also shows up under normal use. Until this problem is fixed in the cpufreq driver, it's better to disable it.
The read_packet() and write_packet() functions were recently converted to use memcpy_fromio() and memcpy_toio(). However, the FIFO register is only a single address while memcpy increases the address. Fixed by using readsl() and writesl() instead.
This is the config from the jz-2.6.38 branch brought up to date for 2.6.39.
This is a squashed version of the development done in the jz-2.6.38 branch.
The Dingux dual boot loader seems to require a fixed load address.
The gen_init_cpio tool will parse the text file and generate a cpio archive. The mininit binary comes from booboo's initrd.cpio image.
This reverts commit b05a5ad. This hack breaks compatibility with the ChinaChip FTL as used by the native OS of the Dingoo A320.
The platform data can now specify which external memory banks to probe for NAND chips, and in which order. Banks that contain a NAND are used and the other banks are freed. Squashed version of development done in jz-2.6.38 branch. Original patch by Lars-Peter Clausen with some bug fixes from me. Thanks to Paul Cercueil for the initial autodetection patch.
Assume that the boot loader knows the physical memory of the system and deduce that information from the contents of the SDRAM control register. It is still possible to override with with the "mem=" parameter, but we have a sensible default now.
This driver sends the frame buffer to a smart LCD controller, that is a controller with its own video memory. It is a squashed version of development done in the jz-2.6.38 branch.
This is a squashed version of the development done in the jz-2.6.37 branch, updated with necessary changes for mainline 2.6.38.
This is just a quick fix: a real fix would implement flush_kernel_vmap_range() and invalidate_kernel_vmap_range() as well, but those are only used in XFS for which we have no need on the Dingoo.
This is a squashed version of Uli's driver that was further developed in the opendingux-kernel repository.
This functionality makes a cpufreq driver possible. Squashed version of the development done in the jz-2.6.35 branch.
Omitting this device prevents software from accessing the hardware directly, which can cause trouble if the kernel accesses the same hardware. It also saves some space on embedded systems.
Tested on Dingoo A320: the FAT partition on the NAND is mounted successfully. Read-only for now. Not robust against bad FTL admin data yet: the driver won't crash, but it might return unnecessary I/O errors. Squashed version of development done in jz-2.6.35 branch.
This is based on booboo's README for the 18.104.22.168 kernel. "History" and "Contributing" were added as new sections.
Since suspend, resume and shutdown operations in struct sysdev_class and struct sysdev_driver are not used any more, remove them. Also drop sysdev_suspend(), sysdev_resume() and sysdev_shutdown() used for executing those operations and modify all of their users accordingly. This reduces kernel code size quite a bit and reduces its complexity. Signed-off-by: Rafael J. Wysocki <email@example.com>
Convert some MIPS architecture's code to using struct syscore_ops objects for power management instead of sysdev classes and sysdevs. This simplifies the code and reduces the kernel's memory footprint. It also is necessary for removing sysdevs from the kernel entirely in the future. Signed-off-by: Rafael J. Wysocki <firstname.lastname@example.org>
Gpio charger should notify if the gpio state had changed during suspend. This will send a CHANGED event each time the system resumes, ensuring a plug/unplug of the charger is not missed. Signed-off-by: Benson Leung <email@example.com> -- Version history : v3 : Use SIMPLE_DEV_PM_OPS v2 : Changed to use dev_ms_ops v1 : Initial
We know that the ecc data is continuous, this allows us to only read the ecc data instead of the whole oob section, which slightly improves performance. Note that this is an evil hack, which will break platforms where the ecc data is non-continuous.