Dne sreda, 16. december 2020 ob 18:36:25 CET je Chen-Yu Tsai napisal(a):
> Hi,
> 
> On Thu, Dec 17, 2020 at 12:26 AM Sergio Sota <[email protected]> wrote:
> > Hi Chen-Yu Tsai,
> > 
> > Thank you so much for your help. You are right, we should have checked
> > first the panel-dpi kernel support. Our apologies. This time we have
> > build a complete new system with the last kernel (from our Buildroot
> > version this is kernel 5.9.11) and with it we have the following kernel
> > logs (the complete log at the end):
> > 
> > ==========================================================================
> > ====== ...
> > [    2.160358] sun4i-backend 1e60000.display-backend: Couldn't find
> > matching frontend, frontend features disabled [    2.170868] sun4i-drm
> > display-engine: bound 1e60000.display-backend (ops 0xc084bb28) [   
> > 2.179113] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops
> > 0xc084a688) [    2.186967] sun4i-drm display-engine: bound
> > 1c0a000.tv-encoder (ops 0xc084b3e8) [    2.194748] checking generic
> > (4fda8000 258000) vs hw (0 ffffffff) [    2.194757] fb0: switching to
> > sun4i-drm-fb from simple
> > [    2.200423] Console: switching to colour dummy device 80x30
> > [    2.206899] [drm] Initialized sun4i-drm 1.0.0 20150629 for
> > display-engine on minor 0 [    2.215041] [drm] kms: can't enable cloning
> > when we probably wanted to. ...
> > ==========================================================================
> > ======
> > 
> > so, the sun4i-drm driver emits messages as before, and this time it is not
> > complaining about the panel (but it still can not find the frontend) Also
> > this time there is a /dri/card0 device on the system :-) but the panel is
> > dark, not showing anything on screen... maybe there is some option we are
> > missing, so we decided to make the following changes:
> > 
> > 1) edit "drivers/gpu/drm/panel/panel-simple.c" & add support to our custom
> > panel
> > 
> > ==========================================================================
> > ====== ...
> > static const struct drm_display_mode fanamoel_tftlcd10_mode = {
> > 
> >     .clock = 45000,
> >     .hdisplay = 1024,
> >     .hsync_start = 1024 + 16,
> >     .hsync_end = 1024 + 16 + 10,
> >     .htotal = 1024 + 16 + 10 + 150,
> >     .vdisplay = 600,
> >     .vsync_start = 600 + 2,
> >     .vsync_end = 600 + 2 + 2,
> >     .vtotal = 600 + 2 + 2 + 21,
> > 
> > };
> > 
> > static const struct panel_desc fanamoel_tftlcd10 = {
> > 
> >     .modes = &fanamoel_tftlcd10_mode,
> >     .num_modes = 1,
> >     .size = {
> >     
> >         .width = 224,
> >         .height = 126,
> >     
> >     },
> >     .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
> >     .bus_flags = DRM_BUS_FLAG_DE_HIGH,
> > 
> > };
> > ...
> > 
> >      }, {
> >      
> >         .compatible = "fanamoel,tftlcd10",
> >         .data = &fanamoel_tftlcd10,
> >     
> >     }, {
> > 
> > ...
> > ==========================================================================
> > ======
> > 
> > 2) define panel compatible with "fanamoel,tftlcd10" (our custom
> > "simple-panel") Notice that we removed panel-timings (they are defined
> > now on the driver side)
> > 
> > ==========================================================================
> > ====== ...
> > /*************************************************************************
> > ****> 
> >  * panel backlight
> >  *************************************************************************
> >  ****/>  
> >     backlight: backlight {
> >     
> >         compatible = "pwm-backlight";
> >         pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
> >         brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
> >         default-brightness-level = <8>;
> >         enable-gpios = <&pio 1 10 GPIO_ACTIVE_HIGH>;
> >         status = "okay";
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * panel tft lcd 10.1" (rgb interface) (default)
> >  *************************************************************************
> >  ****/>  
> >     panel {
> >     
> >         #address-cells = <1>;
> >         #size-cells = <0>;
> >         compatible = "fanamoel,tftlcd10";
> >         power-supply = <&reg_vcc3v3>;
> >         backlight = <&backlight>;
> >         status = "okay";
> >         
> >         port {
> >         
> >             #address-cells = <1>;
> >             #size-cells = <0>;
> >             panel_input: endpoint {
> >             
> >                 remote-endpoint = <&tcon0_out_lcd>;
> >             
> >             };
> >         
> >         };
> >     
> >     };
> > 
> > ...
> > ==========================================================================
> > ======
> > 
> > Now with these changes the kernel logs are the same, there is no complains
> > about the panel but no frontend. The /dri/card0 is still present and this
> > time the
> I'm not sure what went wrong. Maybe something was parsed incorrectly?
> Anyway, if the current solution works for you, then stick to it I guess.
> 
> > panel is working, we can see our apps on screen. With /sys/class/backlight
> > we can turn on/off the screen and change the brightness... so far so
> > good. Here you can see the vainfo output:
> > 
> > ==========================================================================
> > ====== vainfo: VA-API version: 1.9 (libva 2.9.0)
> > vainfo: Driver version: v4l2-request
> > vainfo: Supported profile and entrypoints
> > 
> >       VAProfileMPEG2Simple            :    VAEntrypointVLD
> >       VAProfileMPEG2Main              :    VAEntrypointVLD
> >       VAProfileH264Main               :    VAEntrypointVLD
> >       VAProfileH264High               :    VAEntrypointVLD
> >       VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
> >       VAProfileH264MultiviewHigh      :    VAEntrypointVLD
> >       VAProfileH264StereoHigh         :    VAEntrypointVLD
> > 
> > ==========================================================================
> > ======
> > 
> > But again, we still can not play video, we have /dev/dri/card0,
> > /dev/video0 and /dev/media0... libva and libva_v4l2_request, but when we
> > use the video test app v4l2_request_test this is the output:
> > 
> > ==========================================================================
> > ======> 
> > Config:
> >  Video path: /dev/video0
> >  Media path: /dev/media0
> >  DRM path: /dev/dri/card0
> >  DRM driver: sun4i-drm
> >  Slices path: data/bbb-mpeg2
> >  Slices filename format: slice-%d.dump
> >  FPS: 0
> > 
> > Preset:
> >  Name: bbb-mpeg2
> >  Description: big_buck_bunny_480p_MPEG2_MP2_25fps_1800K.MPG
> >  License: Creative Commons Attribution 3.0
> >  Attribution: Blender Foundation | www.blender.org
> >  Width: 854
> >  Height: 480
> >  Frames count: 25
> >  Format: MPEG2
> > 
> > Media device driver: cedrus
> > Destination format: NV12 YUV
> > Unable to find any plane for CRTC 43
> > Unable to select DRM plane for CRTC 43
> > Unable to start display engine
> > ==========================================================================
> > ======
> > 
> > We think we are getting close to solve this problem. Maybe it is something
> > related with the frontend not being bound? We checked why there is no
> > frontend enabled, and in drivers/gpu/drm/sun4i/sun4i_backend.c when the
> > backend is being set there is a part that loads a list of frontends for
> > that backend... but this list is empty... so no frontend is found. This
> > list is filled from the function sun4i_frontend_bind in
> > drivers/gpu/drm/sun4i/sun4i_frontend.c but we believe that binding
> > process is never called.
> 
> The simple reason is: sun5i-a13-display-frontend was not added to the
> driver. Simply put, no one did the work to add support for the A10s/A13
> display frontend. You could try changing the compatible to
> sun4i-a10-display-frontend, or add an entry for sun5i-a13-display-frontend
> to the driver, using the same settings as the A10 or the A20 for testing.
> 
> And yes, on the A13, to display the image decoded from cedrus directly
> requires the frontend to be present to convert the tiled image format.
> 
> Also, IIRC libva-v4l2-request is deprecated.

At least headers in that repo are out of date, so it won't work for H264. 
MPEG2 might still work.

Best regards,
Jernej

> 
> ChenYu
> 
> > We will keep on searching for a solution. Any help or clue would be
> > greatly
> > appreciated. As always thank you so much for your help :-)
> > 
> > Best Regards,
> > Sergio Sota
> > 
> > Here are again the complete device tree and kernel logs (as you never
> > know)
> > 
> > ==========================================================================
> > ====== /*
> > 
> >  * Copyright 2012 Maxime Ripard <[email protected]>
> >  * Copyright 2013 Hans de Goede <[email protected]>
> >  *
> >  * This file is dual-licensed: you can use it either under the terms
> >  * of the GPL or the X11 license, at your option. Note that this dual
> >  * licensing only applies to this file, and not this project as a
> >  * whole.
> >  *
> >  *  a) This file is free software; you can redistribute it and/or
> >  *     modify it under the terms of the GNU General Public License as
> >  *     published by the Free Software Foundation; either version 2 of the
> >  *     License, or (at your option) any later version.
> >  *
> >  *     This file is distributed in the hope that it will be useful,
> >  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
> >  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> >  *     GNU General Public License for more details.
> >  *
> >  * Or, alternatively,
> >  *
> >  *  b) Permission is hereby granted, free of charge, to any person
> >  *     obtaining a copy of this software and associated documentation
> >  *     files (the "Software"), to deal in the Software without
> >  *     restriction, including without limitation the rights to use,
> >  *     copy, modify, merge, publish, distribute, sublicense, and/or
> >  *     sell copies of the Software, and to permit persons to whom the
> >  *     Software is furnished to do so, subject to the following
> >  *     conditions:
> >  *
> >  *     The above copyright notice and this permission notice shall be
> >  *     included in all copies or substantial portions of the Software.
> >  *
> >  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> >  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> >  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> >  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> >  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> >  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> >  *     OTHER DEALINGS IN THE SOFTWARE.
> >  */
> > 
> > /dts-v1/;
> > #include "sun5i-a13.dtsi"
> > #include "sunxi-common-regulators.dtsi"
> > #include <dt-bindings/gpio/gpio.h>
> > #include <dt-bindings/pwm/pwm.h>
> > #include <dt-bindings/interrupt-controller/irq.h>
> > 
> > / {
> > 
> >     model = "Olimex A13-Olinuxino Micro";
> >     compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
> >     
> >     aliases {
> >     
> >         serial0 = &uart1;
> >     
> >     };
> >     
> >     chosen {
> >     
> >         stdout-path = "serial0:115200n8";
> >     
> >     };
> >     
> >     leds {
> >     
> >         compatible = "gpio-leds";
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&led_pins_olinuxinom>;
> >         
> >         power {
> >         
> >             label = "a13-olinuxino-micro:green:power";
> >             gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
> >             default-state = "on";
> >         
> >         };
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * clock spi0 mcp2515 (spi can controller)
> >  *************************************************************************
> >  ****/>  
> >     clocks {
> >     
> >         #address-cells = <1>;
> >         #size-cells = <1>;
> >         can0_osc_fixed: can0_osc_fixed {
> >         
> >             compatible = "fixed-clock";
> >             #clock-cells = <0>;
> >             clock-frequency  = <10000000>;
> >         
> >         };
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * panel backlight
> >  *************************************************************************
> >  ****/>  
> >     backlight: backlight {
> >     
> >         compatible = "pwm-backlight";
> >         pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
> >         brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
> >         default-brightness-level = <8>;
> >         enable-gpios = <&pio 1 10 GPIO_ACTIVE_HIGH>;
> >         status = "okay";
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * panel tft lcd 10.1" (rgb interface) (default)
> >  *************************************************************************
> >  ****/>  
> >     panel {
> >     
> >         #address-cells = <1>;
> >         #size-cells = <0>;
> >         compatible = "fanamoel,tftlcd10";
> >         power-supply = <&reg_vcc3v3>;
> >         backlight = <&backlight>;
> >         status = "okay";
> >         
> >         port {
> >         
> >             #address-cells = <1>;
> >             #size-cells = <0>;
> >             panel_input: endpoint {
> >             
> >                 remote-endpoint = <&tcon0_out_lcd>;
> >             
> >             };
> >         
> >         };
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * panel tft lcd 7.0" (rgb interface) (test)
> >  *************************************************************************
> >  ****/> 
> > /*
> > 
> >     panel {
> >     
> >         #address-cells = <1>;
> >         #size-cells = <0>;
> >         compatible = "fanamoel,tftlcd7";
> >         power-supply = <&reg_vcc3v3>;
> >         backlight = <&backlight>;
> >         status = "okay";
> >         
> >         port {
> >         
> >             #address-cells = <1>;
> >             #size-cells = <0>;
> >             panel_input: endpoint {
> >             
> >                 remote-endpoint = <&tcon0_out_lcd>;
> >             
> >             };
> >         
> >         };
> >     
> >     };
> > 
> > */
> > };
> > 
> > &ehci0 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > &i2c0 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > &i2c1 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > &i2c2 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > &mmc0 {
> > 
> >     vmmc-supply = <&reg_vcc3v3>;
> >     bus-width = <4>;
> >     cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
> >     status = "okay";
> > 
> > };
> > 
> > &ohci0 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > &otg_sram {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > &reg_usb0_vbus {
> > 
> >     gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
> >     status = "okay";
> > 
> > };
> > 
> > &reg_usb1_vbus {
> > 
> >     gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
> >     status = "okay";
> > 
> > };
> > 
> > &uart1 {
> > 
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&uart1_pg_pins>;
> >     status = "okay";
> > 
> > };
> > 
> > &usb_otg {
> > 
> >     dr_mode = "otg";
> >     status = "okay";
> > 
> > };
> > 
> > &usbphy {
> > 
> >     usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /*
> >     PG2 */
> >     usb0_vbus_det-gpios = <&pio 6 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
> >     /* PG1 */ usb0_vbus-supply = <&reg_usb0_vbus>;
> >     usb1_vbus-supply = <&reg_usb1_vbus>;
> >     status = "okay";
> > 
> > };
> > 
> > &pio {
> > 
> >     led_pins_olinuxinom: led-pin {
> >     
> >         pins = "PG9";
> >         function = "gpio_out";
> >         drive-strength = <20>;
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * spi0 pins
> >  *************************************************************************
> >  ****/>  
> >     spi0_pins: spi0_pins {
> >     
> >         pins = "PC0", "PC1", "PC2";
> >         function = "spi0";
> >     
> >     };
> >     
> >     spi0_cs0_pin: spi0_cs_pin {
> >     
> >         pins = "PC3";
> >         function = "spi0";
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * spi2 ethernet controller (enc28j60) pins
> >  *************************************************************************
> >  ****/>  
> >     eth0_irq_pin: eth0_irq_pin {
> >     
> >         pins = "PB3";
> >         function = "irq";
> >         bias-pull-up;
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * spi2 pins
> >  *************************************************************************
> >  ****/>  
> >     spi2_pins: spi2_pins {
> >     
> >         pins = "PE1", "PE2", "PE3";
> >         function = "spi2";
> >     
> >     };
> >     
> >     spi2_cs0_pin: spi2_cs0_pin {
> >     
> >         pins = "PE0";
> >         function = "spi2";
> >     
> >     };
> > 
> > /*************************************************************************
> > ****> 
> >  * spi0 can controller (mcp2515) pins
> >  *************************************************************************
> >  ****/>  
> >     can0_irq_pin: can0_irq_pin {
> >     
> >         pins = "PB4";
> >         function = "irq";
> >         bias-pull-up;
> >     
> >     };
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * spi0 (mcp2515 spi can controller)
> >  *************************************************************************
> >  ****/> 
> > &spi0 {
> > 
> >     #address-cells = <1>;
> >     #size-cells = <0>;
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>;
> >     status = "okay";
> >     
> >     mcp2515@0 {
> >     
> >         compatible = "microchip,mcp2515";
> >         reg = <0>;
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&can0_irq_pin>;
> >         interrupt-parent = <&pio>;
> >         interrupts = <1 4 2>; /* PB4 IRQ_TYPE_EDGE_FALLING */
> >         clocks = <&can0_osc_fixed>;
> >         spi-max-frequency = <10000000>;
> >         status = "okay";
> >     
> >     };
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * spi2 (enc28j60 spi ethernet controller)
> >  *************************************************************************
> >  ****/> 
> > &spi2 {
> > 
> >     #address-cells = <1>;
> >     #size-cells = <0>;
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&spi2_pins>, <&spi2_cs0_pin>;
> >     status = "okay";
> >     
> >     enc28j60@0 {
> >     
> >         compatible = "microchip,enc28j60";
> >         /* compatible = "microchip,encx24j600"; */
> >         reg = <0>;
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&eth0_irq_pin>;
> >         interrupt-parent = <&pio>;
> >         interrupts = <1 3 2>; /* PB3 IRQ_TYPE_EDGE_FALLING */
> >         spi-max-frequency = <12000000>;
> >         status = "okay";
> >     
> >     };
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * codec audio controller (headphones)
> >  *************************************************************************
> >  ****/> 
> > &codec {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * crypto engine (sha, md5, rng)
> >  *************************************************************************
> >  ****/> 
> > &crypto {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * [fe0] -> [be0] -> [tcon0] |-> [panel] (tft lcd 10.1") <- [pwm]
> >  *                           |-> [tve0]  (vga/cvbs port)
> >  *************************************************************************
> >  ****/> 
> > /*************************************************************************
> > ****> 
> >  * front end (display engine)
> >  *************************************************************************
> >  ****/> 
> > &fe0 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * back end (display engine)
> >  *************************************************************************
> >  ****/> 
> > &be0 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * pipeline (display engine)
> >  *************************************************************************
> >  ****/> 
> > &tcon0 {
> > 
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&lcd_rgb666_pins>;
> >     status = "okay";
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * timing controller (panel tft lcd 10.1")
> >  *************************************************************************
> >  ****/> 
> > &tcon0_out {
> > 
> >     tcon0_out_lcd: endpoint@0 {
> >     
> >         reg = <0>;
> >         remote-endpoint = <&panel_input>;
> >         allwinner,tcon-channel = <0>;
> >     
> >     };
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * tv encoder controller (vga/cvbs video output)
> >  *************************************************************************
> >  ****/> 
> > &tve0 {
> > 
> >     status = "okay";
> > 
> > };
> > 
> > /*************************************************************************
> > ****> 
> >  * pwm controller
> >  *************************************************************************
> >  ****/> 
> > &pwm {
> > 
> >     pinctrl-names = "default";
> >     pinctrl-0 = <&pwm0_pin>;
> >     status = "okay";
> > 
> > };
> > ==========================================================================
> > ======
> > 
> > The CAN controller is unplugged and the Ethernet controller is plugged but
> > with no conection (just ignore those parts as well as the system crypto
> > low entropy)
> > 
> > ==========================================================================
> > ====== [    0.000000] Booting Linux on physical CPU 0x0
> > [    0.000000] Linux version 5.9.11 (sergio@fanamoel)
> > (arm-buildroot-linux-gnueabihf-gcc.br_real (Buildroot -gbadaf6c) 9.3.0,
> > GNU ld (GNU Binutils) 2.34) #3 SMP Wed Dec 16 14:29:27 CET 2020 [   
> > 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
> > [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
> > instruction cache [    0.000000] OF: fdt: Machine model: Olimex
> > A13-Olinuxino Micro
> > [    0.000000] Memory policy: Data cache writeback
> > [    0.000000] Reserved memory: created CMA memory pool at 0x43c00000,
> > size 96 MiB [    0.000000] OF: reserved mem: initialized node
> > default-pool, compatible id shared-dma-pool [    0.000000] Zone ranges:
> > [    0.000000]   Normal   [mem 0x0000000040000000-0x000000004fda7fff]
> > [    0.000000]   HighMem  empty
> > [    0.000000] Movable zone start for each node
> > [    0.000000] Early memory node ranges
> > [    0.000000]   node   0: [mem 0x0000000040000000-0x000000004fda7fff]
> > [    0.000000] Initmem setup node 0 [mem
> > 0x0000000040000000-0x000000004fda7fff] [    0.000000] On node 0
> > totalpages: 64936
> > [    0.000000]   Normal zone: 508 pages used for memmap
> > [    0.000000]   Normal zone: 0 pages reserved
> > [    0.000000]   Normal zone: 64936 pages, LIFO batch:15
> > [    0.000000] CPU: All CPU(s) started in SVC mode.
> > [    0.000000] percpu: Embedded 15 pages/cpu s30924 r8192 d22324 u61440
> > [    0.000000] pcpu-alloc: s30924 r8192 d22324 u61440 alloc=15*4096
> > [    0.000000] pcpu-alloc: [0] 0
> > [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages:
> > 64428
> > [    0.000000] Kernel command line: console=ttyS0,115200 earlyprintk
> > root=/dev/mmcblk0p2 rootwait [    0.000000] Dentry cache hash table
> > entries: 32768 (order: 5, 131072 bytes, linear) [    0.000000]
> > Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear) [  
> >  0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [   
> > 0.000000] Memory: 146824K/259744K available (7168K kernel code, 493K
> > rwdata, 1984K rodata, 1024K init, 249K bss, 14616K reserved, 98304K
> > cma-reserved, 0K highmem) [    0.000000] SLUB: HWalign=64, Order=0-3,
> > MinObjects=0, CPUs=1, Nodes=1 [    0.000000] rcu: Hierarchical RCU
> > implementation.
> > [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to
> > nr_cpu_ids=1. [    0.000000] rcu: RCU calculated value of
> > scheduler-enlistment delay is 10 jiffies. [    0.000000] rcu: Adjusting
> > geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 [    0.000000] NR_IRQS: 16,
> > nr_irqs: 16, preallocated irqs: 16
> > [    0.000000] random: get_random_bytes called from
> > start_kernel+0x324/0x4cc with crng_init=0 [    0.000020] sched_clock: 32
> > bits at 24MHz, resolution 41ns, wraps every 89478484971ns [    0.000049]
> > clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:
> > 79635851949 ns [    0.000212] clocksource: timer: mask: 0xffffffff
> > max_cycles: 0xffffffff, max_idle_ns: 6370868154 ns [    0.000477]
> > Console: colour dummy device 80x30
> > [    0.000531] Calibrating delay loop... 1001.88 BogoMIPS (lpj=5009408)
> > [    0.090101] pid_max: default: 32768 minimum: 301
> > [    0.090258] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes,
> > linear) [    0.090273] Mountpoint-cache hash table entries: 1024 (order:
> > 0, 4096 bytes, linear) [    0.090989] CPU: Testing write buffer
> > coherency: ok
> > [    0.091045] CPU0: Spectre v2: firmware did not set auxiliary control
> > register IBE bit, system vulnerable [    0.091323] CPU0: thread -1, cpu
> > 0, socket -1, mpidr 0
> > [    0.091934] Setting up static identity map for 0x40100000 - 0x40100060
> > [    0.092102] rcu: Hierarchical SRCU implementation.
> > [    0.092527] smp: Bringing up secondary CPUs ...
> > [    0.092541] smp: Brought up 1 node, 1 CPU
> > [    0.092550] SMP: Total of 1 processors activated (1001.88 BogoMIPS).
> > [    0.092557] CPU: All CPU(s) started in SVC mode.
> > [    0.092994] devtmpfs: initialized
> > [    0.096978] VFP support v0.3: implementor 41 architecture 3 part 30
> > variant c rev 3 [    0.097233] clocksource: jiffies: mask: 0xffffffff
> > max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [    0.097257]
> > futex hash table entries: 256 (order: 2, 16384 bytes, linear) [   
> > 0.103257] pinctrl core: initialized pinctrl subsystem
> > [    0.104596] NET: Registered protocol family 16
> > [    0.106254] DMA: preallocated 256 KiB pool for atomic coherent
> > allocations [    0.107079] thermal_sys: Registered thermal governor
> > 'step_wise' [    0.107468] hw-breakpoint: debug architecture 0x4
> > unsupported.
> > [    0.127598] SCSI subsystem initialized
> > [    0.127896] libata version 3.00 loaded.
> > [    0.128149] usbcore: registered new interface driver usbfs
> > [    0.128205] usbcore: registered new interface driver hub
> > [    0.128265] usbcore: registered new device driver usb
> > [    0.128464] mc: Linux media interface: v0.10
> > [    0.128500] videodev: Linux video capture interface: v2.00
> > [    0.128552] pps_core: LinuxPPS API ver. 1 registered
> > [    0.128559] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo
> > Giometti <[email protected]> [    0.128586] PTP clock support registered
> > [    0.129076] Advanced Linux Sound Architecture Driver Initialized.
> > [    0.130049] clocksource: Switched to clocksource timer
> > [    0.131075] simple-framebuffer 4fda8000.framebuffer: framebuffer at
> > 0x4fda8000, 0x258000 bytes, mapped to 0x(ptrval) [    0.131096]
> > simple-framebuffer 4fda8000.framebuffer: format=x8r8g8b8,
> > mode=1024x600x32, linelength=4096 [    0.140401] Console: switching to
> > colour frame buffer device 128x37 [    0.148997] simple-framebuffer
> > 4fda8000.framebuffer: fb0: simplefb registered! [    0.156373] NET:
> > Registered protocol family 2
> > [    0.156929] tcp_listen_portaddr_hash hash table entries: 512 (order: 0,
> > 6144 bytes, linear) [    0.156959] TCP established hash table entries:
> > 2048 (order: 1, 8192 bytes, linear) [    0.156988] TCP bind hash table
> > entries: 2048 (order: 2, 16384 bytes, linear) [    0.157021] TCP: Hash
> > tables configured (established 2048 bind 2048) [    0.157141] UDP hash
> > table entries: 256 (order: 1, 8192 bytes, linear) [    0.157165] UDP-Lite
> > hash table entries: 256 (order: 1, 8192 bytes, linear) [    0.157317]
> > NET: Registered protocol family 1
> > [    0.157985] RPC: Registered named UNIX socket transport module.
> > [    0.158000] RPC: Registered udp transport module.
> > [    0.158006] RPC: Registered tcp transport module.
> > [    0.158012] RPC: Registered tcp NFSv4.1 backchannel transport module.
> > [    0.159580] workingset: timestamp_bits=30 max_order=16 bucket_order=0
> > [    0.165885] NFS: Registering the id_resolver key type
> > [    0.165937] Key type id_resolver registered
> > [    0.165945] Key type id_legacy registered
> > [    0.166044] NET: Registered protocol family 38
> > [    0.166103] Block layer SCSI generic (bsg) driver version 0.4 loaded
> > (major 247) [    0.166114] io scheduler mq-deadline registered
> > [    0.166122] io scheduler kyber registered
> > [    0.166828] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
> > [    0.169423] sun5i-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
> > [    0.170946] sun5i-pinctrl 1c20800.pinctrl: supply vcc-pb not found,
> > using dummy regulator [    0.171854] pwm-backlight backlight: supply
> > power not found, using dummy regulator [    0.225448] Serial: 8250/16550
> > driver, 8 ports, IRQ sharing disabled [    0.227473] sun5i-pinctrl
> > 1c20800.pinctrl: supply vcc-pg not found, using dummy regulator [   
> > 0.228494] printk: console [ttyS0] disabled
> > [    0.248662] 1c28400.serial: ttyS0 at MMIO 0x1c28400 (irq = 36,
> > base_baud = 1500000) is a U6_16550A [    0.875214] printk: console
> > [ttyS0] enabled
> > [    0.881534] sun5i-pinctrl 1c20800.pinctrl: supply vcc-pd not found,
> > using dummy regulator [    0.895286] sun5i-pinctrl 1c20800.pinctrl:
> > supply vcc-pc not found, using dummy regulator [    0.904892]
> > sun5i-pinctrl 1c20800.pinctrl: supply vcc-pe not found, using dummy
> > regulator [    0.915183] libphy: Fixed MDIO Bus: probed
> > [    0.919291] CAN device driver interface
> > [    1.740659] random: fast init done
> > [    1.940948] mcp251x spi0.0: MCP251x didn't enter in conf mode after
> > reset [    1.947761] mcp251x spi0.0: Probe failed, err=16
> > [    1.952433] mcp251x: probe of spi0.0 failed with error -16
> > [    1.958369] enc28j60 spi1.0: Ethernet driver 1.02 loaded
> > [    1.970127] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> > [    1.976658] ehci-platform: EHCI generic platform driver
> > [    1.982563] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> > [    1.988772] ohci-platform: OHCI generic platform driver
> > [    1.995862] i2c /dev entries driver
> > [    2.002576] sunxi-wdt 1c20c90.watchdog: Watchdog enabled (timeout=16
> > sec, nowayout=0) [    2.012408] sun5i-pinctrl 1c20800.pinctrl: supply
> > vcc-pf not found, using dummy regulator [    2.021889] sunxi-mmc
> > 1c0f000.mmc: Got CD GPIO
> > [    2.051130] sunxi-mmc 1c0f000.mmc: initialized, max. request size:
> > 16384 KB [    2.059481] sun4i-ss 1c15000.crypto-engine: Die ID 1
> > [    2.067498] usbcore: registered new interface driver usbhid
> > [    2.073154] usbhid: USB HID core driver
> > [    2.078347] cedrus 1c0e000.video-codec: Device registered as
> > /dev/video0
> > [    2.087894] debugfs: Directory '1c22c00.codec' with parent
> > 'sun4i-codec' already present! [    2.100096] NET: Registered protocol
> > family 17
> > [    2.104574] can: controller area network core (rev 20170425 abi 9)
> > [    2.110886] NET: Registered protocol family 29
> > [    2.115332] can: raw protocol (rev 20170425)
> > [    2.119597] can: broadcast manager protocol (rev 20170425 t)
> > [    2.125280] can: netlink gateway (rev 20190810) max_hops=1
> > [    2.130991] Key type dns_resolver registered
> > [    2.135370] Registering SWP/SWPB emulation handler
> > [    2.151553] sun5i-pinctrl 1c20800.pinctrl: supply vcc-pd not found,
> > using dummy regulator [    2.160358] sun4i-backend
> > 1e60000.display-backend: Couldn't find matching frontend, frontend
> > features disabled [    2.170868] sun4i-drm display-engine: bound
> > 1e60000.display-backend (ops 0xc084bb28) [    2.179113] sun4i-drm
> > display-engine: bound 1c0c000.lcd-controller (ops 0xc084a688) [   
> > 2.186967] sun4i-drm display-engine: bound 1c0a000.tv-encoder (ops
> > 0xc084b3e8) [    2.194748] checking generic (4fda8000 258000) vs hw (0
> > ffffffff) [    2.194757] fb0: switching to sun4i-drm-fb from simple
> > [    2.200423] Console: switching to colour dummy device 80x30
> > [    2.206899] [drm] Initialized sun4i-drm 1.0.0 20150629 for
> > display-engine on minor 0 [    2.215041] [drm] kms: can't enable cloning
> > when we probably wanted to. [    2.253210] mmc0: host does not support
> > reading read-only switch, assuming write-enable [    2.255820] mmc0: new
> > high speed SDHC card at address aaaa
> > [    2.256896] mmcblk0: mmc0:aaaa SS16G 14.8 GiB
> > [    2.268565] Console: switching to colour frame buffer device 128x37
> > [    2.268963]  mmcblk0: p1 p2
> > [    2.310585] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb frame
> > buffer device [    2.319325] ehci-platform 1c14000.usb: EHCI Host
> > Controller
> > [    2.325001] ehci-platform 1c14000.usb: new USB bus registered, assigned
> > bus number 1 [    2.333338] ehci-platform 1c14000.usb: irq 24, io mem
> > 0x01c14000 [    2.360058] ehci-platform 1c14000.usb: USB 2.0 started,
> > EHCI 1.00 [    2.367049] hub 1-0:1.0: USB hub found
> > [    2.370931] hub 1-0:1.0: 1 port detected
> > [    2.376142] ohci-platform 1c14400.usb: Generic Platform OHCI controller
> > [    2.382899] ohci-platform 1c14400.usb: new USB bus registered, assigned
> > bus number 2 [    2.391110] ohci-platform 1c14400.usb: irq 25, io mem
> > 0x01c14400 [    2.465629] hub 2-0:1.0: USB hub found
> > [    2.469499] hub 2-0:1.0: 1 port detected
> > [    2.476836] usb_phy_generic usb_phy_generic.0.auto: supply vcc not
> > found, using dummy regulator [    2.486635] musb-hdrc musb-hdrc.1.auto:
> > MUSB HDRC host driver
> > [    2.492497] musb-hdrc musb-hdrc.1.auto: new USB bus registered,
> > assigned bus number 3 [    2.502140] hub 3-0:1.0: USB hub found
> > [    2.505944] hub 3-0:1.0: 1 port detected
> > [    2.511097] ALSA device list:
> > [    2.514077]   #0: sun4i-codec
> > [    2.531856] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data
> > mode. Opts: (null) [    2.540153] VFS: Mounted root (ext4 filesystem)
> > readonly on device 179:2. [    2.550891] devtmpfs: mounted
> > [    2.555420] Freeing unused kernel memory: 1024K
> > [    2.561234] Run /sbin/init as init process
> > [    2.565328]   with arguments:
> > [    2.565332]     /sbin/init
> > [    2.565335]     earlyprintk
> > [    2.565339]   with environment:
> > [    2.565342]     HOME=/
> > [    2.565345]     TERM=linux
> > [    2.787451] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
> > [    3.244581] cryptodev: loading out-of-tree module taints kernel.
> > [    3.262087] cryptodev: driver 1.11 loaded.
> > [    3.401014] udevd[93]: starting version 3.2.9
> > [    3.420607] random: udevd: uninitialized urandom read (16 bytes read)
> > [    3.438036] random: udevd: uninitialized urandom read (16 bytes read)
> > [    3.450468] random: udevd: uninitialized urandom read (16 bytes read)
> > [    3.513141] udevd[94]: starting eudev-3.2.9
> > [    5.478117] urandom_read: 1 callbacks suppressed
> > [    5.478129] random: dd: uninitialized urandom read (512 bytes read)
> > [    5.681727] random: dbus-uuidgen: uninitialized urandom read (12 bytes
> > read) [    5.688872] random: dbus-uuidgen: uninitialized urandom read (8
> > bytes read) [    6.382095] enc28j60 spi1.0 eth0: link down
> > [    6.386333] enc28j60 spi1.0 eth0: normal mode
> > [    6.390842] enc28j60 spi1.0 eth0: multicast mode
> > [    6.804280] enc28j60 spi1.0 eth0: multicast mode
> > [    7.062588] enc28j60 spi1.0 eth0: multicast mode
> > [    7.105573] enc28j60 spi1.0 eth0: multicast mode
> > [    7.571521] urandom_read: 2 callbacks suppressed
> > [    7.571531] random: Xorg: uninitialized urandom read (4 bytes read)
> > [   10.011691] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> > fallback for cbc(des) -2 [   10.083236] sun4i-ss 1c15000.crypto-engine:
> > ERROR: Cannot allocate fallback for cbc(des3_ede) -2 [   10.219528]
> > sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate fallback for
> > cbc(aes) -2 [   10.286269] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot
> > allocate fallback for cbc(aes) -2 [   10.339046] sun4i-ss
> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for cbc(aes) -2 [ 
> >  10.589844] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> > fallback for ecb(aes) -2 [   10.648573] sun4i-ss 1c15000.crypto-engine:
> > ERROR: Cannot allocate fallback for ecb(aes) -2 [   10.728593] sun4i-ss
> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for ecb(aes) -2 [ 
> >  11.339471] random: crng init done
> > [   33.130114] vcc3v0: disabling
> > [   33.133111] vcc5v0: disabling
> > [   33.136076] usb0-vbus: disabling
> > [   52.648035] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> > fallback for cbc(des) -2 [   52.698076] sun4i-ss 1c15000.crypto-engine:
> > ERROR: Cannot allocate fallback for cbc(des3_ede) -2 [   52.797900]
> > sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate fallback for
> > cbc(aes) -2 [   52.847854] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot
> > allocate fallback for cbc(aes) -2 [   52.897976] sun4i-ss
> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for cbc(aes) -2 [ 
> >  53.097935] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> > fallback for ecb(aes) -2 [   53.147903] sun4i-ss 1c15000.crypto-engine:
> > ERROR: Cannot allocate fallback for ecb(aes) -2 [   53.198167] sun4i-ss
> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for ecb(aes) -2
> > =========================================================================
> > =======> 
> > El miércoles, 16 de diciembre de 2020 a las 4:29:31 UTC+1, Chen-Yu Tsai 
escribió:
> >> Hi,
> >> 
> >> On Wed, Dec 16, 2020 at 1:51 AM Sergio Sota <[email protected]> wrote:
> >> > Hi Clement and Chen-Yu Tsai,
> >> > 
> >> > this time we send the kernel logs as requested, but before that here
> >> > are our findings. We have inspected the LCD TFT panel and although it
> >> > is from Olimex it is not compatible with the "olimex,lcd-olinuxino"
> >> > simple panel driver. It has the very same board but the eeprom ic is
> >> > not present, this time we checked the I2C tracks and the olimex
> >> > documentation. It seems that only some models have this eeprom
> >> > installed, and the driver needs this to autodetect the panel model.
> >> > Also we would like to use diferent panels in the future, so declaring
> >> > the panel in the I2C bus is not an option.
> >> > 
> >> > We make some changes to the device tree, as Chen-Yu Tsai suggested the
> >> > panel should be declared as a panel-dpi (with timings, backlight,
> >> > power, etc) Below these lines you could check our complete device
> >> > tree. This time nothing happens, in the kernel logs no sun4i-drm
> >> > driver messages... but, as we have been trying many many combinations
> >> > without luck, when we disable this panel (status "okay" -> "disabled")
> >> > then in the kernel logs some sun4i-drm driver messages appear (at
> >> > last!) some of them complaining about the frontend and the non
> >> > existence of panel. By the way,>> 
> >> > until now we could see on the panel only thanks to the uboot 
configuration:
> >> panel-dpi was introduced in v5.7-rc1. You should check whether something
> >> is
> >> available in your kernel version before actually using it. We are
> >> assuming
> >> you are using the latest mainline kernel.
> >> 
> >> Since the new LTS is out, I suggest you give it a try.
> >> 
> >> ChenYu
> >> 
> >> > CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:45000,le:150,ri:1
> >> > 6,up:21,lo:2,hs:10,vs:2,sync:3,vmode:0" CONFIG_VIDEO_LCD_POWER="PB10"
> >> > CONFIG_VIDEO_LCD_BL_PWM="PB2"
> >> > 
> >> > but when we disable the panel on device tree then the panel turns off
> >> > as linux boot.
> >> > 
> >> > Here comes the device tree [1], the kernel logs [2] (no changes) and
> >> > the messages that appear when we disable the panel [3] (from the
> >> > sun4i-drm driver) Note: Don't take into account other messages
> >> > regarding the lost of entropy... as we also have problems with
> >> > cryptodevice and rng-tools (sunxi crypto) and that is another story.
> >> > 
> >> > Thanks again for your help and excuse our ignorance :-)
> >> > 
> >> > Best Regards,
> >> > Sergio Sota
> >> > 
> >> > #######################################################################
> >> > ###########
> >> > [1]###################################################################
> >> > ############
> >> > ######################################################################
> >> > ############ /*
> >> > * Copyright 2012 Maxime Ripard <[email protected]>
> >> > * Copyright 2013 Hans de Goede <[email protected]>
> >> > *
> >> > * This file is dual-licensed: you can use it either under the terms
> >> > * of the GPL or the X11 license, at your option. Note that this dual
> >> > * licensing only applies to this file, and not this project as a
> >> > * whole.
> >> > *
> >> > * a) This file is free software; you can redistribute it and/or
> >> > * modify it under the terms of the GNU General Public License as
> >> > * published by the Free Software Foundation; either version 2 of the
> >> > * License, or (at your option) any later version.
> >> > *
> >> > * This file is distributed in the hope that it will be useful,
> >> > * but WITHOUT ANY WARRANTY; without even the implied warranty of
> >> > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> >> > * GNU General Public License for more details.
> >> > *
> >> > * Or, alternatively,
> >> > *
> >> > * b) Permission is hereby granted, free of charge, to any person
> >> > * obtaining a copy of this software and associated documentation
> >> > * files (the "Software"), to deal in the Software without
> >> > * restriction, including without limitation the rights to use,
> >> > * copy, modify, merge, publish, distribute, sublicense, and/or
> >> > * sell copies of the Software, and to permit persons to whom the
> >> > * Software is furnished to do so, subject to the following
> >> > * conditions:
> >> > *
> >> > * The above copyright notice and this permission notice shall be
> >> > * included in all copies or substantial portions of the Software.
> >> > *
> >> > * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> > * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> >> > * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> >> > * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> >> > * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> >> > * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> >> > * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> >> > * OTHER DEALINGS IN THE SOFTWARE.
> >> > */
> >> > 
> >> > /dts-v1/;
> >> > #include "sun5i-a13.dtsi"
> >> > #include "sunxi-common-regulators.dtsi"
> >> > #include <dt-bindings/gpio/gpio.h>
> >> > #include <dt-bindings/pwm/pwm.h>
> >> > #include <dt-bindings/interrupt-controller/irq.h>
> >> > 
> >> > / {
> >> > model = "Olimex A13-Olinuxino Micro";
> >> > compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
> >> > 
> >> > aliases {
> >> > serial0 = &uart1;
> >> > };
> >> > 
> >> > chosen {
> >> > stdout-path = "serial0:115200n8";
> >> > };
> >> > 
> >> > leds {
> >> > compatible = "gpio-leds";
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&led_pins_olinuxinom>;
> >> > 
> >> > power {
> >> > label = "a13-olinuxino-micro:green:power";
> >> > gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
> >> > default-state = "on";
> >> > };
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * clock spi0 mcp2515 (spi can controller)
> >> > ***********************************************************************
> >> > ******/ clocks {
> >> > #address-cells = <1>;
> >> > #size-cells = <1>;
> >> > can0_osc_fixed: can0_osc_fixed {
> >> > compatible = "fixed-clock";
> >> > #clock-cells = <0>;
> >> > clock-frequency = <10000000>;
> >> > };
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * panel backlight
> >> > ***********************************************************************
> >> > ******/ backlight: backlight {
> >> > compatible = "pwm-backlight";
> >> > pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
> >> > brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
> >> > default-brightness-level = <8>;
> >> > status = "okay";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * panel tft lcd 10.1" (rgb interface) (default)
> >> > ***********************************************************************
> >> > ******/ panel {
> >> > #address-cells = <1>;
> >> > #size-cells = <0>;
> >> > compatible = "panel-dpi";
> >> > power-supply = <&reg_vcc3v3>;
> >> > enable-gpios = <&pio 1 10 GPIO_ACTIVE_HIGH>;
> >> > backlight = <&backlight>;
> >> > data-mapping = "rgb666";
> >> > width-mm = <224>;
> >> > height-mm = <126>;
> >> > status = "okay";
> >> > 
> >> > port {
> >> > #address-cells = <1>;
> >> > #size-cells = <0>;
> >> > panel_input: endpoint {
> >> > remote-endpoint = <&tcon0_out_lcd>;
> >> > };
> >> > };
> >> > 
> >> > panel-timing {
> >> > clock-frequency = <45000000>;
> >> > hactive = <1024>;
> >> > vactive = <600>;
> >> > hfront-porch = <16>;
> >> > hback-porch = <150>;
> >> > hsync-len = <10>;
> >> > vback-porch = <2>;
> >> > vfront-porch = <21>;
> >> > vsync-len = <2>;
> >> > hsync-active = <0>;
> >> > vsync-active = <0>;
> >> > de-active = <1>;
> >> > pixelclk-active = <1>;
> >> > };
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * panel tft lcd 7.0" (rgb interface) (test)
> >> > ***********************************************************************
> >> > ******/ /*
> >> > panel {
> >> > #address-cells = <1>;
> >> > #size-cells = <0>;
> >> > compatible = "panel-dpi";
> >> > power-supply = <&reg_vcc3v3>;
> >> > enable-gpios = <&pio 1 10 GPIO_ACTIVE_HIGH>;
> >> > backlight = <&backlight>;
> >> > data-mapping = "rgb666";
> >> > width-mm = <154>;
> >> > height-mm = <86>;
> >> > status = "disabled";
> >> > 
> >> > port {
> >> > #address-cells = <1>;
> >> > #size-cells = <0>;
> >> > panel_input: endpoint {
> >> > remote-endpoint = <&tcon0_out_lcd>;
> >> > };
> >> > };
> >> > 
> >> > panel-timing {
> >> > clock-frequency = <33000000>;
> >> > hactive = <800>;
> >> > vactive = <480>;
> >> > hfront-porch = <209>;
> >> > hback-porch = <16>;
> >> > hsync-len = <30>;
> >> > vback-porch = <22>;
> >> > vfront-porch = <22>;
> >> > vsync-len = <1>;
> >> > hsync-active = <0>;
> >> > vsync-active = <0>;
> >> > de-active = <1>;
> >> > pixelclk-active = <1>;
> >> > };
> >> > };
> >> > */
> >> > };
> >> > 
> >> > &ehci0 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > &i2c0 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > &i2c1 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > &i2c2 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > &mmc0 {
> >> > vmmc-supply = <&reg_vcc3v3>;
> >> > bus-width = <4>;
> >> > cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
> >> > status = "okay";
> >> > };
> >> > 
> >> > &ohci0 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > &otg_sram {
> >> > status = "okay";
> >> > };
> >> > 
> >> > &reg_usb0_vbus {
> >> > gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
> >> > status = "okay";
> >> > };
> >> > 
> >> > &reg_usb1_vbus {
> >> > gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
> >> > status = "okay";
> >> > };
> >> > 
> >> > &uart1 {
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&uart1_pg_pins>;
> >> > status = "okay";
> >> > };
> >> > 
> >> > &usb_otg {
> >> > dr_mode = "otg";
> >> > status = "okay";
> >> > };
> >> > 
> >> > &usbphy {
> >> > usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /*
> >> > PG2 */
> >> > usb0_vbus_det-gpios = <&pio 6 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
> >> > /* PG1 */ usb0_vbus-supply = <&reg_usb0_vbus>;
> >> > usb1_vbus-supply = <&reg_usb1_vbus>;
> >> > status = "okay";
> >> > };
> >> > 
> >> > &pio {
> >> > led_pins_olinuxinom: led-pin {
> >> > pins = "PG9";
> >> > function = "gpio_out";
> >> > drive-strength = <20>;
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * spi0 pins
> >> > ***********************************************************************
> >> > ******/ spi0_pins: spi0_pins {
> >> > pins = "PC0", "PC1", "PC2";
> >> > function = "spi0";
> >> > };
> >> > 
> >> > spi0_cs0_pin: spi0_cs_pin {
> >> > pins = "PC3";
> >> > function = "spi0";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * spi2 ethernet controller (enc28j60) pins
> >> > ***********************************************************************
> >> > ******/ eth0_irq_pin: eth0_irq_pin {
> >> > pins = "PB3";
> >> > function = "irq";
> >> > bias-pull-up;
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * spi2 pins
> >> > ***********************************************************************
> >> > ******/ spi2_pins: spi2_pins {
> >> > pins = "PE1", "PE2", "PE3";
> >> > function = "spi2";
> >> > };
> >> > 
> >> > spi2_cs0_pin: spi2_cs0_pin {
> >> > pins = "PE0";
> >> > function = "spi2";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * spi0 can controller (mcp2515) pins
> >> > ***********************************************************************
> >> > ******/ can0_irq_pin: can0_irq_pin {
> >> > pins = "PB4";
> >> > function = "irq";
> >> > bias-pull-up;
> >> > };
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * spi0 (mcp2515 spi can controller)
> >> > ***********************************************************************
> >> > ******/ &spi0 {
> >> > #address-cells = <1>;
> >> > #size-cells = <0>;
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>;
> >> > status = "okay";
> >> > 
> >> > mcp2515@0 {
> >> > compatible = "microchip,mcp2515";
> >> > reg = <0>;
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&can0_irq_pin>;
> >> > interrupt-parent = <&pio>;
> >> > interrupts = <1 4 2>; /* PB4 IRQ_TYPE_EDGE_FALLING */
> >> > clocks = <&can0_osc_fixed>;
> >> > spi-max-frequency = <10000000>;
> >> > status = "okay";
> >> > };
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * spi2 (enc28j60 spi ethernet controller)
> >> > ***********************************************************************
> >> > ******/ &spi2 {
> >> > #address-cells = <1>;
> >> > #size-cells = <0>;
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&spi2_pins>, <&spi2_cs0_pin>;
> >> > status = "okay";
> >> > 
> >> > enc28j60@0 {
> >> > compatible = "microchip,enc28j60";
> >> > /* compatible = "microchip,encx24j600"; */
> >> > reg = <0>;
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&eth0_irq_pin>;
> >> > interrupt-parent = <&pio>;
> >> > interrupts = <1 3 2>; /* PB3 IRQ_TYPE_EDGE_FALLING */
> >> > spi-max-frequency = <12000000>;
> >> > status = "okay";
> >> > };
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * codec audio controller (headphones)
> >> > ***********************************************************************
> >> > ******/ &codec {
> >> > status = "okay";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * crypto engine (sha, md5, rng)
> >> > ***********************************************************************
> >> > ******/ &crypto {
> >> > status = "okay";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * [fe0] -> [be0] -> [tcon0] |-> [panel] (tft lcd 10.1") <-
> >> > [pwm]
> >> > * |-> [tve0] (vga/cvbs port)
> >> > ***********************************************************************
> >> > ******/
> >> > 
> >> > /**********************************************************************
> >> > ******* * front end (display engine)
> >> > ***********************************************************************
> >> > ******/ &fe0 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * back end (display engine)
> >> > ***********************************************************************
> >> > ******/ &be0 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * pipeline (display engine)
> >> > ***********************************************************************
> >> > ******/ &tcon0 {
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&lcd_rgb666_pins>;
> >> > status = "okay";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * timing controller (panel tft lcd 10.1")
> >> > ***********************************************************************
> >> > ******/ &tcon0_out {
> >> > tcon0_out_lcd: endpoint@0 {
> >> > reg = <0>;
> >> > remote-endpoint = <&panel_input>;
> >> > allwinner,tcon-channel = <0>;
> >> > };
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * tv encoder controller (vga/cvbs video output)
> >> > ***********************************************************************
> >> > ******/ &tve0 {
> >> > status = "okay";
> >> > };
> >> > 
> >> > /**********************************************************************
> >> > ******* * pwm controller
> >> > ***********************************************************************
> >> > ******/ &pwm {
> >> > pinctrl-names = "default";
> >> > pinctrl-0 = <&pwm0_pin>;
> >> > status = "okay";
> >> > };
> >> > 
> >> > #######################################################################
> >> > ###########
> >> > [2]###################################################################
> >> > ############
> >> > ######################################################################
> >> > ############ [ 0.000000] Booting Linux on physical CPU 0x0
> >> > [ 0.000000] Linux version 5.4.82 (sergio@fanamoel) (gcc version 9.3.0
> >> > (Buildroot -gbc8b7d5)) #5 SMP Tue Dec 15 15:39:33 CET 2020 [ 0.000000]
> >> > CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [
> >> > 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
> >> > instruction cache [ 0.000000] OF: fdt: Machine model: Olimex
> >> > A13-Olinuxino Micro
> >> > [ 0.000000] Memory policy: Data cache writeback
> >> > [ 0.000000] Reserved memory: created CMA memory pool at 0x43c00000,
> >> > size 96 MiB [ 0.000000] OF: reserved mem: initialized node
> >> > default-pool, compatible id shared-dma-pool [ 0.000000] On node 0
> >> > totalpages: 64936
> >> > [ 0.000000] Normal zone: 508 pages used for memmap
> >> > [ 0.000000] Normal zone: 0 pages reserved
> >> > [ 0.000000] Normal zone: 64936 pages, LIFO batch:15
> >> > [ 0.000000] CPU: All CPU(s) started in SVC mode.
> >> > [ 0.000000] percpu: Embedded 15 pages/cpu s30604 r8192 d22644 u61440
> >> > [ 0.000000] pcpu-alloc: s30604 r8192 d22644 u61440 alloc=15*4096
> >> > [ 0.000000] pcpu-alloc: [0] 0
> >> > [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64428
> >> > [ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk
> >> > root=/dev/mmcblk0p2 rootwait [ 0.000000] Dentry cache hash table
> >> > entries: 32768 (order: 5, 131072 bytes, linear) [ 0.000000]
> >> > Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
> >> > [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [
> >> > 0.000000] Memory: 146872K/259744K available (7168K kernel code, 444K
> >> > rwdata, 1888K rodata, 1024K init, 248K bss, 14568K reserved, 98304K
> >> > cma-reserved, 0K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3,
> >> > MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] rcu: Hierarchical RCU
> >> > implementation.
> >> > [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
> >> > [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is
> >> > 10 jiffies. [ 0.000000] rcu: Adjusting geometry for
> >> > rcu_fanout_leaf=16, nr_cpu_ids=1 [ 0.000000] NR_IRQS: 16, nr_irqs: 16,
> >> > preallocated irqs: 16
> >> > [ 0.000000] random: get_random_bytes called from
> >> > start_kernel+0x2b0/0x458 with crng_init=0 [ 0.000020] sched_clock: 32
> >> > bits at 24MHz, resolution 41ns, wraps every 89478484971ns [ 0.000049]
> >> > clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff,
> >> > max_idle_ns: 79635851949 ns [ 0.000226] clocksource: timer: mask:
> >> > 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370868154 ns [
> >> > 0.000479] Console: colour dummy device 80x30
> >> > [ 0.000539] Calibrating delay loop... 1001.88 BogoMIPS (lpj=5009408)
> >> > [ 0.090102] pid_max: default: 32768 minimum: 301
> >> > [ 0.090253] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes,
> >> > linear) [ 0.090268] Mountpoint-cache hash table entries: 1024 (order:
> >> > 0, 4096 bytes, linear) [ 0.090998] CPU: Testing write buffer
> >> > coherency: ok
> >> > [ 0.091062] CPU0: Spectre v2: firmware did not set auxiliary control
> >> > register IBE bit, system vulnerable [ 0.091419] CPU0: thread -1, cpu
> >> > 0, socket -1, mpidr 0
> >> > [ 0.092041] Setting up static identity map for 0x40100000 - 0x40100060
> >> > [ 0.092208] rcu: Hierarchical SRCU implementation.
> >> > [ 0.092657] smp: Bringing up secondary CPUs ...
> >> > [ 0.092672] smp: Brought up 1 node, 1 CPU
> >> > [ 0.092681] SMP: Total of 1 processors activated (1001.88 BogoMIPS).
> >> > [ 0.092688] CPU: All CPU(s) started in SVC mode.
> >> > [ 0.093136] devtmpfs: initialized
> >> > [ 0.097192] VFP support v0.3: implementor 41 architecture 3 part 30
> >> > variant c rev 3 [ 0.097456] clocksource: jiffies: mask: 0xffffffff
> >> > max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.097481]
> >> > futex hash table entries: 256 (order: 2, 16384 bytes, linear) [
> >> > 0.103293] pinctrl core: initialized pinctrl subsystem
> >> > [ 0.104439] NET: Registered protocol family 16
> >> > [ 0.106049] DMA: preallocated 256 KiB pool for atomic coherent
> >> > allocations
> >> > [ 0.106938] hw-breakpoint: debug architecture 0x4 unsupported.
> >> > [ 0.122081] SCSI subsystem initialized
> >> > [ 0.122397] libata version 3.00 loaded.
> >> > [ 0.122640] usbcore: registered new interface driver usbfs
> >> > [ 0.122693] usbcore: registered new interface driver hub
> >> > [ 0.122757] usbcore: registered new device driver usb
> >> > [ 0.122965] mc: Linux media interface: v0.10
> >> > [ 0.123001] videodev: Linux video capture interface: v2.00
> >> > [ 0.123058] pps_core: LinuxPPS API ver. 1 registered
> >> > [ 0.123066] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo
> >> > Giometti <[email protected]> [ 0.123095] PTP clock support registered
> >> > [ 0.123321] Advanced Linux Sound Architecture Driver Initialized.
> >> > [ 0.124291] clocksource: Switched to clocksource timer
> >> > [ 0.125108] simple-framebuffer 4fda8000.framebuffer: framebuffer at
> >> > 0x4fda8000, 0x258000 bytes, mapped to 0x(ptrval) [ 0.125127]
> >> > simple-framebuffer 4fda8000.framebuffer: format=x8r8g8b8,
> >> > mode=1024x600x32, linelength=4096 [ 0.134238] Console: switching to
> >> > colour frame buffer device 128x37 [ 0.142607] simple-framebuffer
> >> > 4fda8000.framebuffer: fb0: simplefb registered! [ 0.150213]
> >> > thermal_sys: Registered thermal governor 'step_wise'
> >> > [ 0.150746] NET: Registered protocol family 2
> >> > [ 0.151291] tcp_listen_portaddr_hash hash table entries: 512 (order: 0,
> >> > 6144 bytes, linear) [ 0.151321] TCP established hash table entries:
> >> > 2048 (order: 1, 8192 bytes, linear) [ 0.151351] TCP bind hash table
> >> > entries: 2048 (order: 2, 16384 bytes, linear) [ 0.151384] TCP: Hash
> >> > tables configured (established 2048 bind 2048) [ 0.151492] UDP hash
> >> > table entries: 256 (order: 1, 8192 bytes, linear) [ 0.151516] UDP-Lite
> >> > hash table entries: 256 (order: 1, 8192 bytes, linear) [ 0.151661]
> >> > NET: Registered protocol family 1
> >> > [ 0.152329] RPC: Registered named UNIX socket transport module.
> >> > [ 0.152345] RPC: Registered udp transport module.
> >> > [ 0.152352] RPC: Registered tcp transport module.
> >> > [ 0.152357] RPC: Registered tcp NFSv4.1 backchannel transport module.
> >> > [ 0.153967] workingset: timestamp_bits=30 max_order=16 bucket_order=0
> >> > [ 0.161263] NFS: Registering the id_resolver key type
> >> > [ 0.161311] Key type id_resolver registered
> >> > [ 0.161318] Key type id_legacy registered
> >> > [ 0.161415] NET: Registered protocol family 38
> >> > [ 0.161475] Block layer SCSI generic (bsg) driver version 0.4 loaded
> >> > (major 247) [ 0.161486] io scheduler mq-deadline registered
> >> > [ 0.161493] io scheduler kyber registered
> >> > [ 0.162314] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
> >> > [ 0.165013] sun5i-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
> >> > [ 0.166333] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply
> >> > vcc-pb not found, using dummy regulator [ 0.166874] pwm-backlight
> >> > backlight: backlight supply power not found, using dummy regulator [
> >> > 0.221806] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled [
> >> > 0.223723] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pg
> >> > not found, using dummy regulator [ 0.224815] printk: console [ttyS0]
> >> > disabled
> >> > [ 0.244934] 1c28400.serial: ttyS0 at MMIO 0x1c28400 (irq = 36,
> >> > base_baud = 1500000) is a U6_16550A [ 0.837326] printk: console
> >> > [ttyS0] enabled
> >> > [ 0.843446] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply
> >> > vcc-pd not found, using dummy regulator [ 0.857689] sun5i-pinctrl
> >> > 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy
> >> > regulator [ 0.868442] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl
> >> > supply vcc-pe not found, using dummy regulator [ 0.879549] libphy:
> >> > Fixed MDIO Bus: probed
> >> > [ 0.883655] CAN device driver interface
> >> > [ 1.725254] random: fast init done
> >> > [ 1.910042] mcp251x spi0.0: MCP251x didn't enter in conf mode after
> >> > reset
> >> > [ 1.916873] mcp251x spi0.0: Probe failed, err=16
> >> > [ 1.921526] mcp251x: probe of spi0.0 failed with error -16
> >> > [ 1.927469] enc28j60 spi1.0: Ethernet driver 1.02 loaded
> >> > [ 1.939158] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> >> > [ 1.945787] ehci-platform: EHCI generic platform driver
> >> > [ 1.951703] enc28j60 spi1.0 eth0: link down
> >> > [ 1.956124] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> >> > [ 1.962325] ohci-platform: OHCI generic platform driver
> >> > [ 1.974351] i2c /dev entries driver
> >> > [ 1.986037] sunxi-wdt 1c20c90.watchdog: Watchdog enabled (timeout=16
> >> > sec, nowayout=0) [ 1.995762] sun5i-pinctrl 1c20800.pinctrl:
> >> > 1c20800.pinctrl supply vcc-pf not found, using dummy regulator [
> >> > 2.011183] sunxi-mmc 1c0f000.mmc: Got CD GPIO
> >> > [ 2.041601] sunxi-mmc 1c0f000.mmc: initialized, max. request size:
> >> > 16384 KB
> >> > [ 2.049620] sun4i-ss 1c15000.crypto-engine: Die ID 1
> >> > [ 2.082072] usbcore: registered new interface driver usbhid
> >> > [ 2.087721] usbhid: USB HID core driver
> >> > [ 2.097756] cedrus 1c0e000.video-codec: Device registered as
> >> > /dev/video0
> >> > [ 2.112019] debugfs: Directory '1c22c00.codec' with parent
> >> > 'sun4i-codec' already present! [ 2.127627] sun4i-codec 1c22c00.codec:
> >> > Codec <-> 1c22c00.codec mapping ok [ 2.140917] NET: Registered
> >> > protocol family 17
> >> > [ 2.145456] can: controller area network core (rev 20170425 abi 9)
> >> > [ 2.151744] NET: Registered protocol family 29
> >> > [ 2.156213] can: raw protocol (rev 20170425)
> >> > [ 2.160482] can: broadcast manager protocol (rev 20170425 t)
> >> > [ 2.166154] can: netlink gateway (rev 20190810) max_hops=1
> >> > [ 2.171881] Key type dns_resolver registered
> >> > [ 2.176290] Registering SWP/SWPB emulation handler
> >> > [ 2.197283] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply
> >> > vcc-pd not found, using dummy regulator [ 2.213341] ehci-platform
> >> > 1c14000.usb: EHCI Host Controller
> >> > [ 2.219052] ehci-platform 1c14000.usb: new USB bus registered, assigned
> >> > bus number 1 [ 2.232575] ehci-platform 1c14000.usb: irq 24, io mem
> >> > 0x01c14000
> >> > [ 2.238678] mmc0: host does not support reading read-only switch,
> >> > assuming write-enable [ 2.257069] mmc0: new high speed SDHC card at
> >> > address aaaa
> >> > [ 2.267926] ehci-platform 1c14000.usb: USB 2.0 started, EHCI 1.00
> >> > [ 2.274677] mmcblk0: mmc0:aaaa SS16G 14.8 GiB
> >> > [ 2.285113] hub 1-0:1.0: USB hub found
> >> > [ 2.290522] hub 1-0:1.0: 1 port detected
> >> > [ 2.299716] mmcblk0: p1 p2
> >> > [ 2.304084] ohci-platform 1c14400.usb: Generic Platform OHCI controller
> >> > [ 2.310840] ohci-platform 1c14400.usb: new USB bus registered, assigned
> >> > bus number 2 [ 2.324868] ohci-platform 1c14400.usb: irq 25, io mem
> >> > 0x01c14400
> >> > [ 2.407000] hub 2-0:1.0: USB hub found
> >> > [ 2.410946] hub 2-0:1.0: 1 port detected
> >> > [ 2.420810] usb_phy_generic usb_phy_generic.0.auto:
> >> > usb_phy_generic.0.auto supply vcc not found, using dummy regulator [
> >> > 2.432117] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
> >> > [ 2.437964] musb-hdrc musb-hdrc.1.auto: new USB bus registered,
> >> > assigned bus number 3 [ 2.451585] hub 3-0:1.0: USB hub found
> >> > [ 2.460348] hub 3-0:1.0: 1 port detected
> >> > [ 2.470321] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply
> >> > vcc-pd not found, using dummy regulator [ 2.486175] sun5i-pinctrl
> >> > 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy
> >> > regulator [ 2.501366] hctosys: unable to open rtc device (rtc0)
> >> > [ 2.506763] ALSA device list:
> >> > [ 2.509737] #0: sun4i-codec
> >> > [ 2.548014] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data
> >> > mode. Opts: (null) [ 2.556233] VFS: Mounted root (ext4 filesystem)
> >> > readonly on device 179:2. [ 2.573458] devtmpfs: mounted
> >> > [ 2.578317] Freeing unused kernel memory: 1024K
> >> > [ 2.588068] Run /sbin/init as init process
> >> > [ 2.907811] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
> >> > [ 3.459578] cryptodev: loading out-of-tree module taints kernel.
> >> > [ 3.489157] cryptodev: driver 1.11 loaded.
> >> > [ 3.645748] udevd[91]: starting version 3.2.9
> >> > [ 3.670450] random: udevd: uninitialized urandom read (16 bytes read)
> >> > [ 3.698902] random: udevd: uninitialized urandom read (16 bytes read)
> >> > [ 3.719746] random: udevd: uninitialized urandom read (16 bytes read)
> >> > [ 3.802315] udevd[92]: starting eudev-3.2.9
> >> > [ 6.282520] urandom_read: 1 callbacks suppressed
> >> > [ 6.282531] random: dd: uninitialized urandom read (512 bytes read)
> >> > [ 6.582832] random: dbus-uuidgen: uninitialized urandom read (12 bytes
> >> > read) [ 6.614975] random: dbus-uuidgen: uninitialized urandom read (8
> >> > bytes read) [ 7.322509] enc28j60 spi1.0 eth0: normal mode
> >> > [ 7.327010] enc28j60 spi1.0 eth0: multicast mode
> >> > [ 7.523150] random: crng init done
> >> > [ 7.526575] random: 2 urandom warning(s) missed due to ratelimiting
> >> > [ 8.144967] enc28j60 spi1.0 eth0: link up - Half duplex
> >> > [ 10.983560] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> >> > fallback for cbc(des) -2 [ 11.060702] sun4i-ss 1c15000.crypto-engine:
> >> > ERROR: Cannot allocate fallback for cbc(des3_ede) -2 [ 11.172575]
> >> > sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate fallback for
> >> > cbc(aes) -2 [ 11.243105] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot
> >> > allocate fallback for cbc(aes) -2 [ 11.303542] sun4i-ss
> >> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for cbc(aes) -2
> >> > [ 11.541122] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> >> > fallback for ecb(aes) -2 [ 11.604164] sun4i-ss 1c15000.crypto-engine:
> >> > ERROR: Cannot allocate fallback for ecb(aes) -2 [ 11.661342] sun4i-ss
> >> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for ecb(aes) -2
> >> > [ 33.124321] vcc3v0: disabling
> >> > [ 33.127316] vcc5v0: disabling
> >> > [ 33.130282] usb0-vbus: disabling
> >> > [ 50.222729] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> >> > fallback for cbc(des) -2 [ 50.283230] sun4i-ss 1c15000.crypto-engine:
> >> > ERROR: Cannot allocate fallback for cbc(des3_ede) -2 [ 50.414581]
> >> > sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate fallback for
> >> > cbc(aes) -2 [ 50.462177] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot
> >> > allocate fallback for cbc(aes) -2 [ 50.531644] sun4i-ss
> >> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for cbc(aes) -2
> >> > [ 50.792128] sun4i-ss 1c15000.crypto-engine: ERROR: Cannot allocate
> >> > fallback for ecb(aes) -2 [ 50.853913] sun4i-ss 1c15000.crypto-engine:
> >> > ERROR: Cannot allocate fallback for ecb(aes) -2 [ 50.912563] sun4i-ss
> >> > 1c15000.crypto-engine: ERROR: Cannot allocate fallback for ecb(aes) -2
> >> > 
> >> > #######################################################################
> >> > ###########
> >> > [3]###################################################################
> >> > ############
> >> > ######################################################################
> >> > ############ ....
> >> > ....
> >> > [ 0.821822] printk: console [ttyS0] enabled
> >> > [ 0.827885] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply
> >> > vcc-pd not found, using dummy regulator [ 0.838967] sun4i-backend
> >> > 1e60000.display-backend: Couldn't find matching frontend, frontend
> >> > features disabled [ 0.849374] sun4i-drm display-engine: bound
> >> > 1e60000.display-backend (ops 0xc084ba58) [ 0.857516] sun4i-drm
> >> > display-engine: No panel or bridge found... RGB output disabled [
> >> > 0.865383] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops
> >> > 0xc084a5f8) [ 0.873157] sun4i-drm display-engine: bound
> >> > 1c0a000.tv-encoder (ops 0xc084b318) [ 0.880485] [drm] Supports vblank
> >> > timestamp caching Rev 2 (21.10.2013). [ 0.887103] [drm] No driver
> >> > support for vblank timestamp query.
> >> > [ 0.893018] checking generic (4fe89000 177000) vs hw (0 ffffffff)
> >> > [ 0.893023] fb0: switching to sun4i-drm-fb from simple
> >> > [ 0.898563] Console: switching to colour dummy device 80x30
> >> > [ 0.904878] [drm] Initialized sun4i-drm 1.0.0 20150629 for
> >> > display-engine on minor 0 [ 0.960782] Console: switching to colour
> >> > frame buffer device 90x36 [ 0.986888] sun4i-drm display-engine: fb0:
> >> > sun4i-drmdrmfb frame buffer device [ 0.995855] sun5i-pinctrl
> >> > 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy
> >> > regulator [ 1.006602] sun5i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl
> >> > supply vcc-pe not found, using dummy regulator [ 1.017640] libphy:
> >> > Fixed MDIO Bus: probed
> >> > [ 1.021747] CAN device driver interface
> >> > [ 1.636375] random: fast init done
> >> > ....
> >> > ....
> >> > 
> >> > El sábado, 12 de diciembre de 2020 a las 4:00:51 UTC+1, Chen-Yu Tsai 
escribió:
> >> >> On Sat, Dec 12, 2020 at 3:33 AM Sergio Sota <[email protected]> wrote:
> >> >> > Hi Clement,
> >> >> > 
> >> >> > yes, tve0 is only for VGA/CVBS video output (which we don't use
> >> >> > right now)
> >> >> > But just in case we have enabled this controller and the result is
> >> >> > the same.
> >> >> > 
> >> >> > You're probably right about the I2C port (as the binding suggest)
> >> >> > The thing is we are using the olimex olinuxino tft lcd 10.1" panel,
> >> >> > and as the binding file states there should be an I2C bus
> >> >> > connection (besides the RGB, hsync, vsync, de, clk, backlight, etc)
> >> >> > This I2C bus should connect to an internal eeprom that contains the
> >> >> > timing requirements (then the driver knows what kind of panel is
> >> >> > attached and selects between 4.3/7/10.1 inches olimex panels) But
> >> >> > then on the physical boards there is no I2C bus connecting the
> >> >> > panel... (check the schematics) besides in the future we intend to
> >> >> > use other tft lcd 10.1" panels.
> >> >> > 
> >> >> > Olimex A13SOM board schematic:
> >> >> > https://github.com/OLIMEX/SOM/blob/master/A13/A13-SOM/A13-SOM512_Rev
> >> >> > _G.pdf
> >> >> > 
> >> >> > Olimex Olinuxino-micro board schematic (with an A13 similar as
> >> >> > A13SOM)
> >> >> > https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/A13-OLinuXi
> >> >> > no-MICRO/1.%20Latest%20hardware%20revision/A13-OLinuXino-MICRO%20har
> >> >> > dware%20revision%20B1/A13-OLinuXino-MICRO_Rev_B1.pdf
> >> >> > 
> >> >> > Olimex Olinuxino 10.1" tft lcd board schematic
> >> >> > https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/LCDs/LCD-OL
> >> >> > inuXino-10TS/Hardware%20revision%20C1/LCD-OLINUXINO-10''TS_Rev_C.pdf
> >> >> > 
> >> >> > that's why we set the timing in the device tree. So, may be what we
> >> >> > should do is remove the panel from the compatible line and use it
> >> >> > only as a generic one:
> >> >> > 
> >> >> > +compatible = "simple-panel";
> >> >> > -compatible = "olimex,lcd-olinuxino", "simple-panel";
> >> >> > 
> >> >> > Anyway, we will check both posibilities (defining the panel on a I2C
> >> >> > bus and in the root but only as a generic panel) Thanks again for
> >> >> > your invaluable help :-D>> >> 
> >> >> If you want to specify display timings in the device tree, you should
> >> >> be
> >> >> using the "panel-dpi" compatible, as specified in the panel-dpi
> >> >> binding:
> >> >> 
> >> >> Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
> >> >> 
> >> >> Also, when asking for help, please always include full kernel logs.
> >> >> Others
> >> >> do not know what is happening on your system and can only guess if you
> >> >> do not provide logs.
> >> >> 
> >> >> ChenYu
> >> >> 
> >> >> > Best Regards,
> >> >> > Sergio Sota
> >> >> > 
> >> >> > El viernes, 11 de diciembre de 2020 a las 19:56:16 UTC+1, 
[email protected] escribió:
> >> >> >> Hi Sergio,
> >> >> >> 
> >> >> >> Sorry looks like the tve0 is only required for composite / VGA
> >> >> >> output.
> >> >> >> 
> >> >> >> Which LCD Panel do you use ?
> >> >> >> 
> >> >> >> Looks like the bindings you are using should be declared on a I2C
> >> >> >> bus.
> >> >> >> https://github.com/torvalds/linux/blob/master/Documentation/devicet
> >> >> >> ree/bindings/display/panel/olimex,lcd-olinuxino.yaml
> >> >> >> 
> >> >> >> So the drivers will read the configuration from the I2C eeprom
> >> >> >> Also check that CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is enabled.
> >> >> >> 
> >> >> >> Regards,
> >> >> >> Clement
> >> >> >> 
> >> >> >> On Fri, 11 Dec 2020 at 17:37, Clément Péron <[email protected]> 
wrote:
> >> >> >> > Hi Sergio,
> >> >> >> > 
> >> >> >> > Maybe you missed enabling tve0 ?
> >> >> >> > 
> >> >> >> > https://elixir.bootlin.com/linux/v5.9.13/source/arch/arm/boot/dts
> >> >> >> > /sun5i.dtsi#L244
> >> >> >> > 
> >> >> >> > Also could you send the bootlog is this doesn't fix your issue.
> >> >> >> > 
> >> >> >> > Clement
> >> >> >> > 
> >> >> >> > On Fri, 11 Dec 2020 at 17:13, Sergio Sota <[email protected]> 
wrote:
> >> >> >> > > Hi Clement,
> >> >> >> > > 
> >> >> >> > > this week we have had no luck with Allwinner A13 video
> >> >> >> > > decoding, here you
> >> >> >> > > can find my device tree. We have added panel description
> >> >> >> > > (before we used
> >> >> >> > > an uboot configuration) front-end, back-end and tcon. Also on
> >> >> >> > > linux mainline kernel (5.9.11) we have selected DRM_SUN4I and
> >> >> >> > > DRM_SUN4I_BACKEND,
> >> >> >> > > but seems to be no DRM plane support on our system (no
> >> >> >> > > sun4i-drm kernel
> >> >> >> > > messages and no /dev/dri/card0 device)
> >> >> >> > > 
> >> >> >> > > Also with VLC player we have selected in the menu the
> >> >> >> > > configuration options: VA-API video decoder and X11 video
> >> >> >> > > output (XCB) but no video decoding. With MPV player instead we
> >> >> >> > > can see some video frames, but it seems to be trying to decode
> >> >> >> > > via software, so it is almost like static pictures.
> >> >> >> > > 
> >> >> >> > > Best Regards,
> >> >> >> > > Sergio Sota
> >> >> >> > > 
> >> >> >> > > This device tree is based on mainline kernel
> >> >> >> > > sun5i-a13-olinuxino-micro.dts
> >> >> >> > > 
> >> >> >> > > #######################################################
> >> >> >> > > ################## DEVICE TREE START #####################
> >> >> >> > > #######################################################
> >> >> >> > > 
> >> >> >> > > 
> >> >> >> > > /*
> >> >> >> > > * Copyright 2012 Maxime Ripard <[email protected]>
> >> >> >> > > * Copyright 2013 Hans de Goede <[email protected]>
> >> >> >> > > *
> >> >> >> > > * This file is dual-licensed: you can use it either under the
> >> >> >> > > terms
> >> >> >> > > * of the GPL or the X11 license, at your option. Note that this
> >> >> >> > > dual
> >> >> >> > > * licensing only applies to this file, and not this project as
> >> >> >> > > a
> >> >> >> > > * whole.
> >> >> >> > > *
> >> >> >> > > * a) This file is free software; you can redistribute it and/or
> >> >> >> > > * modify it under the terms of the GNU General Public License
> >> >> >> > > as
> >> >> >> > > * published by the Free Software Foundation; either version 2
> >> >> >> > > of the
> >> >> >> > > * License, or (at your option) any later version.
> >> >> >> > > *
> >> >> >> > > * This file is distributed in the hope that it will be useful,
> >> >> >> > > * but WITHOUT ANY WARRANTY; without even the implied warranty
> >> >> >> > > of
> >> >> >> > > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> >> >> >> > > * GNU General Public License for more details.
> >> >> >> > > *
> >> >> >> > > * Or, alternatively,
> >> >> >> > > *
> >> >> >> > > * b) Permission is hereby granted, free of charge, to any
> >> >> >> > > person
> >> >> >> > > * obtaining a copy of this software and associated
> >> >> >> > > documentation
> >> >> >> > > * files (the "Software"), to deal in the Software without
> >> >> >> > > * restriction, including without limitation the rights to use,
> >> >> >> > > * copy, modify, merge, publish, distribute, sublicense, and/or
> >> >> >> > > * sell copies of the Software, and to permit persons to whom
> >> >> >> > > the
> >> >> >> > > * Software is furnished to do so, subject to the following
> >> >> >> > > * conditions:
> >> >> >> > > *
> >> >> >> > > * The above copyright notice and this permission notice shall
> >> >> >> > > be
> >> >> >> > > * included in all copies or substantial portions of the
> >> >> >> > > Software.
> >> >> >> > > *
> >> >> >> > > * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
> >> >> >> > > KIND,
> >> >> >> > > * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
> >> >> >> > > WARRANTIES
> >> >> >> > > * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> >> >> >> > > * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> >> >> >> > > * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> >> >> >> > > * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> >> >> >> > > * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> >> >> >> > > * OTHER DEALINGS IN THE SOFTWARE.
> >> >> >> > > */
> >> >> >> > > 
> >> >> >> > > /dts-v1/;
> >> >> >> > > #include "sun5i-a13.dtsi"
> >> >> >> > > #include "sunxi-common-regulators.dtsi"
> >> >> >> > > #include <dt-bindings/gpio/gpio.h>
> >> >> >> > > #include <dt-bindings/pwm/pwm.h>
> >> >> >> > > #include <dt-bindings/interrupt-controller/irq.h>
> >> >> >> > > 
> >> >> >> > > / {
> >> >> >> > > model = "Olimex A13-Olinuxino Micro";
> >> >> >> > > compatible = "olimex,a13-olinuxino-micro",
> >> >> >> > > "allwinner,sun5i-a13";
> >> >> >> > > 
> >> >> >> > > aliases {
> >> >> >> > > serial0 = &uart1;
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > chosen {
> >> >> >> > > stdout-path = "serial0:115200n8";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > leds {
> >> >> >> > > compatible = "gpio-leds";
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&led_pins_olinuxinom>;
> >> >> >> > > 
> >> >> >> > > power {
> >> >> >> > > label = "a13-olinuxino-micro:green:power";
> >> >> >> > > gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
> >> >> >> > > default-state = "on";
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * clock spi0 mcp2515 (spi can controller)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ clocks {
> >> >> >> > > #address-cells = <1>;
> >> >> >> > > #size-cells = <1>;
> >> >> >> > > can0_osc_fixed: can0_osc_fixed {
> >> >> >> > > compatible = "fixed-clock";
> >> >> >> > > #clock-cells = <0>;
> >> >> >> > > clock-frequency = <10000000>;
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * panel backlight
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ backlight: backlight {
> >> >> >> > > compatible = "pwm-backlight";
> >> >> >> > > pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
> >> >> >> > > brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
> >> >> >> > > default-brightness-level = <8>;
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * panel tft lcd 10.1" (rgb interface)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ panel {
> >> >> >> > > compatible = "olimex,lcd-olinuxino", "simple-panel";
> >> >> >> > > power-supply = <&reg_vcc3v3>;
> >> >> >> > > enable-gpios = <&pio 1 10 GPIO_ACTIVE_HIGH>; /* PB10 */
> >> >> >> > > backlight = <&backlight>;
> >> >> >> > > status = "okay";
> >> >> >> > > 
> >> >> >> > > display-timings {
> >> >> >> > > timing0 {
> >> >> >> > > clock-frequency = <45000000>;
> >> >> >> > > hactive = <1024>;
> >> >> >> > > vactive = <600>;
> >> >> >> > > hfront-porch = <16>;
> >> >> >> > > hback-porch = <150>;
> >> >> >> > > hsync-len = <10>;
> >> >> >> > > vback-porch = <2>;
> >> >> >> > > vfront-porch = <21>;
> >> >> >> > > vsync-len = <2>;
> >> >> >> > > hsync-active = <0>;
> >> >> >> > > vsync-active = <0>;
> >> >> >> > > de-active = <1>;
> >> >> >> > > pixelclk-active = <1>;
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > port {
> >> >> >> > > #address-cells = <1>;
> >> >> >> > > #size-cells = <0>;
> >> >> >> > > 
> >> >> >> > > panel_input: endpoint {
> >> >> >> > > remote-endpoint = <&tcon0_out_lcd>;
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &ehci0 {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &i2c0 {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &i2c1 {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &i2c2 {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &mmc0 {
> >> >> >> > > vmmc-supply = <&reg_vcc3v3>;
> >> >> >> > > bus-width = <4>;
> >> >> >> > > cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &ohci0 {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &otg_sram {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &reg_usb0_vbus {
> >> >> >> > > gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &reg_usb1_vbus {
> >> >> >> > > gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &uart1 {
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&uart1_pg_pins>;
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &usb_otg {
> >> >> >> > > dr_mode = "otg";
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &usbphy {
> >> >> >> > > usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH |
> >> >> >> > > GPIO_PULL_UP)>; /* PG2 */
> >> >> >> > > usb0_vbus_det-gpios = <&pio 6 1 (GPIO_ACTIVE_HIGH |
> >> >> >> > > GPIO_PULL_DOWN)>; /* PG1 */ usb0_vbus-supply =
> >> >> >> > > <&reg_usb0_vbus>;
> >> >> >> > > usb1_vbus-supply = <&reg_usb1_vbus>;
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > &pio {
> >> >> >> > > led_pins_olinuxinom: led-pin {
> >> >> >> > > pins = "PG9";
> >> >> >> > > function = "gpio_out";
> >> >> >> > > drive-strength = <20>;
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * spi0 pins
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ spi0_pins: spi0_pins {
> >> >> >> > > pins = "PC0", "PC1", "PC2";
> >> >> >> > > function = "spi0";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > spi0_cs0_pin: spi0_cs_pin {
> >> >> >> > > pins = "PC3";
> >> >> >> > > function = "spi0";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * spi2 ethernet controller (enc28j60) pins
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ eth0_irq_pin: eth0_irq_pin {
> >> >> >> > > pins = "PB3";
> >> >> >> > > function = "irq";
> >> >> >> > > bias-pull-up;
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * spi2 pins
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ spi2_pins: spi2_pins {
> >> >> >> > > pins = "PE1", "PE2", "PE3";
> >> >> >> > > function = "spi2";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > spi2_cs0_pin: spi2_cs0_pin {
> >> >> >> > > pins = "PE0";
> >> >> >> > > function = "spi2";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * spi0 can controller (mcp2515) pins
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ can0_irq_pin: can0_irq_pin {
> >> >> >> > > pins = "PB4";
> >> >> >> > > function = "irq";
> >> >> >> > > bias-pull-up;
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * spi0 (mcp2515 spi can controller)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &spi0 {
> >> >> >> > > #address-cells = <1>;
> >> >> >> > > #size-cells = <0>;
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>;
> >> >> >> > > status = "okay";
> >> >> >> > > 
> >> >> >> > > mcp2515@0 {
> >> >> >> > > compatible = "microchip,mcp2515";
> >> >> >> > > reg = <0>;
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&can0_irq_pin>;
> >> >> >> > > interrupt-parent = <&pio>;
> >> >> >> > > interrupts = <1 4 2>; /* PB4 IRQ_TYPE_EDGE_FALLING */
> >> >> >> > > clocks = <&can0_osc_fixed>;
> >> >> >> > > spi-max-frequency = <10000000>;
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * spi2 (enc28j60 spi ethernet controller)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &spi2 {
> >> >> >> > > #address-cells = <1>;
> >> >> >> > > #size-cells = <0>;
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&spi2_pins>, <&spi2_cs0_pin>;
> >> >> >> > > status = "okay";
> >> >> >> > > 
> >> >> >> > > enc28j60@0 {
> >> >> >> > > compatible = "microchip,enc28j60";
> >> >> >> > > /* compatible = "microchip,encx24j600"; */
> >> >> >> > > reg = <0>;
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&eth0_irq_pin>;
> >> >> >> > > interrupt-parent = <&pio>;
> >> >> >> > > interrupts = <1 3 2>; /* PB3 IRQ_TYPE_EDGE_FALLING */
> >> >> >> > > spi-max-frequency = <12000000>;
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * codec audio controller (headphones)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &codec {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * crypto engine (sha, md5, rng)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &crypto {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * front end (display engine)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &fe0 {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * back end (display engine)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &be0 {
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * pipeline (display engine)
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &tcon0 {
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&lcd_rgb666_pins>;
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * timing controller (panel tft lcd 10.1")
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &tcon0_out {
> >> >> >> > > tcon0_out_lcd: endpoint@0 {
> >> >> >> > > reg = <0>;
> >> >> >> > > remote-endpoint = <&panel_input>;
> >> >> >> > > };
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > /**************************************************************
> >> >> >> > > *************** * pwm controller
> >> >> >> > > ***************************************************************
> >> >> >> > > **************/ &pwm {
> >> >> >> > > pinctrl-names = "default";
> >> >> >> > > pinctrl-0 = <&pwm0_pin>;
> >> >> >> > > status = "okay";
> >> >> >> > > };
> >> >> >> > > 
> >> >> >> > > 
> >> >> >> > > #######################################################
> >> >> >> > > ################### DEVICE TREE END ######################
> >> >> >> > > #######################################################
> >> >> >> > > 
> >> >> >> > > El domingo, 6 de diciembre de 2020 a las 19:02:09 UTC+1, 
[email protected] escribió:
> >> >> >> > >> Hi Sergio,
> >> >> >> > >> 
> >> >> >> > >> On Fri, 4 Dec 2020 at 13:31, Sergio Sota <[email protected]> 
wrote:
> >> >> >> > >> > Dear all,
> >> >> >> > >> > 
> >> >> >> > >> > I'm building a linux system for the Olimex A13SOM module.
> >> >> >> > >> > This little module comes with the Allwinner A13 SOC. In the
> >> >> >> > >> > past we have been using other modules with the Allwinner
> >> >> >> > >> > A20 SOC and the old sunxi-linux kernel in order to have
> >> >> >> > >> > support for all the SOC peripherals (as the Video Engine
> >> >> >> > >> > decoder, Mali GPU, etc)
> >> >> >> > >> > 
> >> >> >> > >> > This time we would like to use a mainline kernel, taking
> >> >> >> > >> > into account that by now almost all peripherals are
> >> >> >> > >> > supported in mainline. We have had luck tunning device tree
> >> >> >> > >> > (as we were used to use .fex files) and by now we can have
> >> >> >> > >> > Ethernet over SPI, Can interface over SPI, ALSA audio
> >> >> >> > >> > output, LCD RGB video output, Cryto engine to generate fast
> >> >> >> > >> > entropy, OpenGL ES support (thanks to LIMA driver and
> >> >> >> > >> > Mesa3d libs) and so on... but we would like also to have
> >> >> >> > >> > video decoding support.
> >> >> >> > >> > 
> >> >> >> > >> > We have turned on the frontend, backend, video engine in the
> >> >> >> > >> > device tree, build the kernel with Cedrus V4L M2M driver,
> >> >> >> > >> > libva_vl42_request and v4l2_request_test. (and also set the
> >> >> >> > >> > CMA memory allocation, environment variables, etc)
> >> >> >> > >> > 
> >> >> >> > >> > Using vainfo everything is ok, the linux driver-libva
> >> >> >> > >> > request part works, but then we check with
> >> >> >> > >> > v4l2_request_test utility and it fails as there is no DRM
> >> >> >> > >> > support on our system. We have on the system /dev/video0
> >> >> >> > >> > and /dev/media0 but no /dev/dri/card0 device (in fact we
> >> >> >> > >> > selected the linux sun4i-drm driver but no message appers
> >> >> >> > >> > on the boot sequence regarding this, even when build as
> >> >> >> > >> > module it happens nothing...)
> >> >> >> > >> > 
> >> >> >> > >> > We have checked the Cedrus driver information and appears to
> >> >> >> > >> > be no support for the DRM plane in A13 SOC (broken/missing)
> >> >> >> > >> > and as I understand that means that part of the picture
> >> >> >> > >> > composing work should be done by software (and that's not
> >> >> >> > >> > reliable)
> >> >> >> > >> > 
> >> >> >> > >> > My question is: is there DRM plane support for A13 SOC? (as
> >> >> >> > >> > time goes on I checked there has been work done in the
> >> >> >> > >> > mainline kernel and fixes made) Then, in case of no
> >> >> >> > >> > support, are there plans to add this support in the future?
> >> >> >> > >> > and finally, could we play video files without this DRM
> >> >> >> > >> > support? by what means?
> >> >> >> > >> 
> >> >> >> > >> Sorry I can't help you a lot on this.
> >> >> >> > >> I don't know if the wiki is up to date for this.
> >> >> >> > >> But note that A13 is similar to R8 => C.H.I.P Computer.
> >> >> >> > >> All stuff you found on R8 will be the same for A13.
> >> >> >> > >> 
> >> >> >> > >> Have a look at the R8 CHIP device-tree.
> >> >> >> > >> https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/d
> >> >> >> > >> ts/sun5i-r8-chip.dts
> >> >> >> > >> 
> >> >> >> > >> And check that you have a correct TCON description in your dt.
> >> >> >> > >> If you can, post your device-tree.
> >> >> >> > >> And don't forget to reply if you make it works :)
> >> >> >> > >> 
> >> >> >> > >> Regards,
> >> >> >> > >> Clement
> >> >> >> > >> 
> >> >> >> > >> > Thanks in advance for your help and your time, your team
> >> >> >> > >> > have made a wonderful work. I also apologize for my poor
> >> >> >> > >> > English, and for writing this email as maybe this is not
> >> >> >> > >> > the proper way to issue this questions, but didn't know
> >> >> >> > >> > other way
> >> >> >> > >> > 
> >> >> >> > >> > Best Regards,
> >> >> >> > >> > Sergio Sota
> >> >> >> > >> > 
> >> >> >> > >> > --
> >> >> >> > >> > You received this message because you are subscribed to the
> >> >> >> > >> > Google Groups "linux-sunxi" group. To unsubscribe from this
> >> >> >> > >> > group and stop receiving emails from it, send an email to
> >> >> >> > >> > [email protected]. To view this discussion on
> >> >> >> > >> > the web, visit
> >> >> >> > >> > https://groups.google.com/d/msgid/linux-sunxi/a6390bb5-69f1
> >> >> >> > >> > -47a7-864c-399109838857n%40googlegroups.com.>> >> >> > > 
> >> >> >> > > --
> >> >> >> > > You received this message because you are subscribed to the
> >> >> >> > > Google Groups "linux-sunxi" group. To unsubscribe from this
> >> >> >> > > group and stop receiving emails from it, send an email to
> >> >> >> > > [email protected]. To view this discussion on
> >> >> >> > > the web, visit
> >> >> >> > > https://groups.google.com/d/msgid/linux-sunxi/565d70c3-b708-42
> >> >> >> > > 16-83fd-ae37d42858e0n%40googlegroups.com.>> >> > 
> >> >> > --
> >> >> > You received this message because you are subscribed to the Google
> >> >> > Groups "linux-sunxi" group. To unsubscribe from this group and stop
> >> >> > receiving emails from it, send an email to
> >> >> > [email protected]. To view this discussion on the
> >> >> > web, visit
> >> >> > https://groups.google.com/d/msgid/linux-sunxi/2aa1145d-0fc4-4183-84
> >> >> > ec-4d89fa566488n%40googlegroups.com.>> > 
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups "linux-sunxi" group. To unsubscribe from this group and stop
> >> > receiving emails from it, send an email to
> >> > [email protected]. To view this discussion on the web,
> >> > visit
> >> > https://groups.google.com/d/msgid/linux-sunxi/b883b560-95fd-4cee-9c4f-> 
> >> > >> > 2146fb88db7fn%40googlegroups.com.> 
> > --
> > You received this message because you are subscribed to the Google Groups
> > "linux-sunxi" group. To unsubscribe from this group and stop receiving
> > emails from it, send an email to
> > [email protected]. To view this discussion on the
> > web, visit
> > https://groups.google.com/d/msgid/linux-sunxi/6487b49e-2498-4e4d-bf28-460
> > d23e57b4fn%40googlegroups.com.




-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/4505320.TqWI2WzmjX%40jernej-laptop.

Reply via email to