[RFC PATCH 00/10] Netronix embedded controller driver for Kobo and Tolino ebook readers

Andreas Kemnade andreas at kemnade.info
Tue Jun 30 02:40:51 EDT 2020


Hi,

On Sun, 21 Jun 2020 00:39:04 +0200
Jonathan Neuschäfer <j.neuschaefer at gmx.net> wrote:

> Hi,
> 
> This patchset adds basic support for the embedded controller found on
> older ebook reader boards designed by/with the ODM Netronix Inc.[1] and
> sold by Kobo or Tolino, for example the Kobo Aura and the Tolino Shine.
> These drivers are based on the vendor kernel sources, but in order to
> all information in a single place, I documented the register interface
> of the EC on GitHub[4].
> 
> A few things still needs to be ironed out, hence the RFC tag:
>  - The reboot/reset handler in patch 3/10 calls into I2C code, which may
>    sleep, but reboot handlers are apparently not allowed to sleep.
>  - I'm not sure I got the YAML DT bindings right. I have also included
>    the plain text DT bindings for reference.
> 
> 
got a chance to test it on a Tolino Shine 2 HD.
It uses the RTC from the RC5T619 but backlight seems to go via MSP430
EC.

I got this.

[    1.453603] ntxec 0-0043: Netronix embedded controller version f110 detected.
[   10.723638] ntxec-rtc 21a0000.i2c:embedded-controller at 43:rtc: registered as rtc0
[   10.775276] ntxec-pwm: probe of 21a0000.i2c:embedded-controller at 43:pwm failed with error -5
[   10.850597] ntxec-rtc 21a0000.i2c:embedded-controller at 43:rtc: hctosys: unable to read the hardware clock

version number matchess with what the vendor kernel reports. Maybe we
should document which version is running on which devices?

&i2c1 {
        pinctrl-names = "default","sleep";
        pinctrl-0 = <&pinctrl_i2c1>;
        pinctrl-1 = <&pinctrl_i2c1_sleep>;
        status = "okay";

        embedded-controller at 43 {
//              pinctrl-names = "default";
//              pinctrl-0 = <&pinctrl_ec>;
                compatible = "netronix,ntxec";
                reg = <0x43>;
                interrupts-extended = <&gpio5 11 IRQ_TYPE_EDGE_FALLING>;
                interrupt-controller;
                #interrupt-cells = <1>;

                ec_pwm: pwm {
                        compatible = "netronix,ntxec-pwm";
                        #pwm-cells = <2>;
                };

                rtc {
                        compatible = "netronix,ntxec-rtc";
                };
        };
};

Regards,
Andreas



More information about the linux-arm-kernel mailing list