Talk:PocketBook Touch Lux 2 (626)

From linux-sunxi.org
Jump to navigation Jump to search

If anyone is interested, let's discuss it.

Micro SD issue

I cannot get MMC0 (external slot) working properly, neither in u-boot nor in linux. MMC2 is ok: u-boot uses it, properly initializes it, reads partitions etc., starts linux kernel. Linux kernel sees it and runs on it, etc.

With default sun5i-a13-olinuxino settings, external micro SD card inserted/ejection is properly detected, but initializing card does not work (nothing in u-boot, various errors in linux, depending on the inserted card). My hardware does not seem to be faulty since if I boot factory firmware, it is working properly. I tried tweaking various properties in device tree, but at best it does not change anything.

Megous: Extra gpio PE04 needs to be enabled and pulled low to make MMC0 work. (verified) There may be HW mod possible, to cut the PE4 line to the SoC and tie it to GND, which may make external SD card bootable. Without it PE4 is in HiZ after SoC reset, and BROM will not be able to read the MMC0 card.

eInk driver

There is an EPDC kernel module in default firmware, but it seems it is closed source.

Megous: There's code for epdc module in https://github.com/pazos/linux-3.0.35-kobo/tree/master/drivers/video/mxc . It looks like it has the interface PocketBook reader app uses from a quick decompilation check on the app (same iocts, same interface, as far as I can see). There's also https://github.com/pazos/linux-3.0.35-kobo/blob/master/drivers/video/mxc/lk_tps65185.c for EPD PMIC that's also on the PocketBook. The driver will most probably not be usable in the sunxi tree. Sunxi tree also has a eink driver as a part of display engine code, which is unused on the PocketBook, but may serve as an inspiration.

LED

The device tree must be modified, from:

		power {
			gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};

...

	led_pins_olinuxino: led_pins@0 {
		pins = "PG9";
		function = "gpio_out";
		drive-strength = <20>;
	};

to:

		led0 {
			gpios = <&pio 4 8 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

...

	led_pins_olinuxino: led_pins@0 {
		pins = "PE8";
		function = "gpio_out";
		drive-strength = <20>;
	};

Then:

echo 0 > /sys/class/leds/led0/brightness # shuts off the led
echo 255 > /sys/class/leds/led0/brightness # bring on the led

network

enable staging driver eu8188eu in kernel menuconfig.

Megous: WiFi needs a little care during powerup, especially if LDO3 is not brought up by u-boot. There are some patches since 2019 in the mainline axp209 driver to enable slew rate control and soft startup of the regulator. Without using this, the PMIC may shutdown when powering up the wifi.

rtc

enabling driver "Haoyu Microelectronics HYM8563" does not seem to be enough to get /dev/rtc0.
Oops... looks like it takes this one instead: "Philips PCF8563/Epson RTC8564". Device tree must also be modified from:

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins_a>;
	status = "okay";
};

to

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins_a>;
	status = "okay";
	pcf8563: rtc@51 {
		compatible = "nxp,pcf8563";
		reg = <0x51>;
	};
};

Status

As of today 2018-07-30, I run a 4.18.0-rc6 kernel.
I downloaded an Arch Linux image for A10. I boot my kernel, and use Arch Linux userland with my kernel modules.
Kind of working.
I have the problems mentioned above.