S905x support, what is needed?

  • Due to the combination of having ordered an s905x box instead of a s905 one and having a few weeks off from work, I was wondering what is needed to get s905x supported.


    I've had a quick look at the latest amlogic kernel tarball and that seems to have s90x (aka 'gxl') support:

    Code
    1. [email protected]:/build/pkg/amlogic/arm-src-kernel-2016-05-04-bd1ff1c1cd$ grep mesongxl -irn ../drivers/amlogic/pinctrl/pinctrl_gxl.c:265:static struct meson_bank mesongxl_banks[] = {./drivers/amlogic/pinctrl/pinctrl_gxl.c:284:static struct meson_bank mesongxl_ao_banks[] = {./drivers/amlogic/pinctrl/pinctrl_gxl.c:291:static struct meson_domain_data mesongxl_domain_data[] = {./drivers/amlogic/pinctrl/pinctrl_gxl.c:294:            .banks          = mesongxl_banks,./drivers/amlogic/pinctrl/pinctrl_gxl.c:295:            .num_banks      = ARRAY_SIZE(mesongxl_banks),./drivers/amlogic/pinctrl/pinctrl_gxl.c:301:            .banks          = mesongxl_ao_banks,./drivers/amlogic/pinctrl/pinctrl_gxl.c:302:            .num_banks      = ARRAY_SIZE(mesongxl_ao_banks),./drivers/amlogic/pinctrl/pinctrl_gxl.c:583:    .domain_data    = mesongxl_domain_data,./drivers/amlogic/pinctrl/pinctrl_gxl.c:584:    .num_domains    = ARRAY_SIZE(mesongxl_domain_data),./arch/arm64/boot/dts/amlogic/gxl_pxp.dts:25:#include "mesongxl.dtsi"./arch/arm64/boot/dts/amlogic/gxl_p212.dts:25:#include "mesongxl.dtsi"./arch/arm64/boot/dts/amlogic/gxl_skt.dts:25:#include "mesongxl.dtsi"./arch/arm64/boot/dts/amlogic/mesongxl.dtsi:2: * arch/arm64/boot/dts/amlogic/mesongxl.dtsi


    Sadly this is a tarball without git history, so comparing it against kszaqs tree will be tedious. If someone knows where a public git tree of that is located, please let me know.


    Looking at the dtsi, the pin, clock and USB controllers are different from the s905:

    Code
    1. [email protected]:/build/pkg/amlogic/arm-src-kernel-2016-05-04-bd1ff1c1cd$ grep -irn -- -gxl  ../drivers/usb/phy/phy-aml-new-usb3.c:2: * phy-aml-gxl-usb3.c./drivers/usb/phy/phy-aml-new-usb3.c:17:#include <linux/amlogic/usb-gxl.h>./drivers/usb/phy/phy-aml-new-usb.c:13:#include <linux/amlogic/usb-gxl.h>./drivers/usb/phy/phy-aml-new-usb2.c:2:phy-aml-gxl-usb2.c./drivers/usb/phy/phy-aml-new-usb2.c:17:#include <linux/amlogic/usb-gxl.h>./drivers/usb/phy/phy-aml-new-usb.h:6:#include <linux/amlogic/usb-gxl.h>./drivers/amlogic/pinctrl/pinctrl_gxl.c:592:            .compatible = "amlogic, pinmux-gxl",./drivers/amlogic/pinctrl/pinctrl_gxl.c:609:            .name = "pinmux-gxl",./drivers/amlogic/amports/jpegenc.h:8:#define JPEGENC_DEVINFO_GXL "AML-GXL"./drivers/amlogic/amports/encoder.h:34:#define AMVENC_DEVINFO_GXL "AML-GXL"./drivers/amlogic/clk/Makefile:9:                                  clk-gxbb.o clk-gxtvbb.o clk-gxl.o \./drivers/amlogic/clk/clk-gxl.c:2: * drivers/amlogic/clk/clk-gxl.c./arch/arm64/boot/dts/amlogic/gxl_pxp.dts:785:          compatible = "amlogic, aml-gxl-usb2";./arch/arm64/boot/dts/amlogic/gxl_pxp.dts:792:          compatible = "amlogic, aml-gxl-usb3";./arch/arm64/boot/dts/amlogic/mesongxl.dtsi:183:                compatible = "amlogic, pinmux-gxl";


    Once my m8sII arrives I can actually try to test the kernel on real hardware. So apart from kernel and u-boot work, what is needed to get s905x supported in LE? And more imporantly, is someone already working on that? The post in this forum imply that noone is working on it yet, but if someone is, please speak up :)

  • U-boot is not needed, this is handled by your manufacturer and my LE builds do not replace it. I guess it would be enough to provide an upadted kernel and you will probably see it in the next build. Also, I don't think that gxl is S905X, it's a slightly updated gxbb.


    A S905X box for the LE team.


    Gerald


    That would also be nice.


  • U-boot is not needed, this is handled by your manufacturer and my LE builds do not replace it. I guess it would be enough to provide an upadted kernel and you will probably see it in the next build. Also, I don't think that gxl is S905X, it's a slightly updated gxbb.


    That would also be nice.


    I was looking at this patch and the work the baylibre folks are doing to get amlogic support into mainline and they consistently refer to s905x as gxl. Having worked for a silicon vendor myself I can say: codenames change, a lot. So what ends up shipping in the tv box labeled 's905x' (updated gxbb) might not be the same as the 's905x' (gxl) on the evaluation board from amlogic. Anyway, we'll find out when I get my box to work.
    To hopefully save some work, can you enable the gxl bits in the updated kernel anyway?


    As for shipping an s905x box to the LE team, I'll happily do that provided the one I bought doesn't go up in flames at first boot, I don't trust cheap electronics. Getting the house of an LE dev burned down wouldn't help with this port ;)


  • A S905X box for the LE team.
    Gerald


    If the S905X manufacturers reading this thread want to make their name; some high-value technical contribution to the project and Kodi is more welcome than a few cheap box samples. Sample hardware is always welcome, but if people ever wonder why WeTek appear to get special treatment from the team it has nothing to do with money (we have no commercial relationship by mutual agreement) and everything to do with direct participartion in LE and Kodi development.

  • Looking at a s905x device tree posted in the dtb.img thread confirms that it's a 'gxl', but reuses a lot of 'gxbb' IP blocks. In theory a single kernel could run on both s905 and s905x.
    Still waiting for the actual box to get delivered :/

  • Yes, one kernel should support both types. I am (slowly) working on making the latest kernel work.

  • Just bought a S905X box also so I'm curious to see if it's possible to "use" libreelec or not. Thanks guys for your hard work.

    Edited once, last by bumperboy ().

  • I have an s905 device (Beelink mini mxiii) and am planing to buy an extra box.
    Alternatives would be to go for the sure thing, and get another s905, or buy an s905x for its improved features.


    I have found no guide on the different alternatives and supported devices.


    Based on the potential port for s905x devices, should I get one of these or stick to a more "tested" s905?


    Although I have some some experience with Open/LibreELEC, I am fairly new to these cheap Amlogic devices.


    Thank you!

    Beelink MiniMX III 2GB/16GB gigabit LAN
    LibreELEC running from SD card (will confirm version on post).


  • The S905X will only get you VP9 so unless you use that i would hold off until a known good s905x comes out and it delivers what they promise. The Beelink MXIII is an excellent box and I'm not sure currently there is one that matches the MXIII build quaility, the M8SII/TX5 on paper looks promising.


    Reason i got the Beelink MINI MXIII was the gigbit lan and the excellent remote ₩, didn't care for WiFi. Personally I wont be buying anything until i need VP9 and if thats the case I'd go s912 should it get LE.

    Edited once, last by JonSnow ().

  • The S905X will only get you VP9 so unless you use that i would hold off until a known good s905x comes out and it delivers what they promise. The Beelink MXIII is an excellent box and I'm not sure currently there is one that matches the MXIII build quaility, the M8SII/TX5 on paper looks promising.


    Reason i got the Beelink MINI MXIII was the gigbit lan and the excellent remote ₩, didn't care for WiFi. Personally I wont be buying anything until i need VP9 and if thats the case I'd go s912 should it get LE.


    Thanks for your elaborated response. I will stick to the Beelink then. I also found it very well built, it is cheap, and seems to be better supported than generic boxes.


    Allow me the off topic for a quick and simple question, is the included remote an air mouse?
    I have failed to make it work as such, but did not bother much as I already have an extra cheapo air mouse keyboard that works.
    If it is an air mouse (it has a gyroscope sort of embossed), how do you make it work?


    Thanks again.

    Beelink MiniMX III 2GB/16GB gigabit LAN
    LibreELEC running from SD card (will confirm version on post).

  • Thanks for your elaborated response. I will stick to the Beelink then. I also found it very well built, it is cheap, and seems to be better supported than generic boxes.


    Allow me the off topic for a quick and simple question, is the included remote an air mouse?
    I have failed to make it work as such, but did not bother much as I already have an extra cheapo air mouse keyboard that works.
    If it is an air mouse (it has a gyroscope sort of embossed), how do you make it work?


    Thanks again.


    I actually have that disabled on purpose and never used it, when you click the mouse button on the remote you need to use the arrow keys to move the cursor, it has no gyroscope.

    Edited once, last by JonSnow ().


  • this kernel supports both types with detailed amlogic patches




    I am (slowly) working on making the latest kernel work.


    This kernel works out-of-the-box for the WeTek Hub. To make it work and "all" S905(X) devices there are some changes I need to make. This is not a trivial process and it takes time.

    Edited once, last by kszaq ().

  • great work was just woundring i have the m8s 2 s905x what is the progress up to now im looking forward to your work on the s905x and would it still support hdr with libreelec . thank you

  • I don't have a S905X device so while the next build will include the new kernel, S905X won't be "officially" supported.


  • I don't have a S905X device so while the next build will include the new kernel, S905X won't be "officially" supported.


    Sounds like this will be a significant upgrade, can't wait to try it.

  • Lots of changes from Amlogic but I don't see that many improvements and there are still some old issues to fix. :P


    That's why I don't rush it and want to fix things first.