Jump to content

djx-treme

Members
  • Posts

    8
  • Joined

  • Last visited

  1. Please can you advise how you patched the kernel to add Mali node?
  2. Hi guys, I was so excited Mali can work with mainline kernel, so I immediately gave it a try on my Banana Pi. As I'm not quite familiar with the low-level part, I spent some time reading instructions and catching up with the background. Then I took this guide, https://bootlin.com/blog/mali-opengl-support-on-allwinner-platforms-with-mainline-linux/ I downloaded and tried to compile https://github.com/mripard/sunxi-mali.git failed with the absence of mm/cma.h Found this file here (https://github.com/google/kmsan/raw/master/mm/cma.h) afterwards everything compiled with the kernel 4.14.18. after insmod mali.ko it failed in dmesg I see: failed to find mali node. And I realized that the patch for device tree didn't find its way to the mainline kernel. Still. Now what? Patch the kernel files and rebuild the kernel, right? First, read instructions and follow them! https://docs.armbian.com/Developer-Guide_Build-Preparation/ I've set up all environment and made sure everything works without issues. Then I patched the file ./arch/arm/boot/dts/sun7i-a20.dtsi according to this instruction https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt Added the following lines: --- ./arch/arm/boot/dts/sun7i-a20.dtsi.orig 2018-02-20 12:24:14.045089402 -0800 +++ ./arch/arm/boot/dts/sun7i-a20.dtsi 2018-02-20 12:23:33.000000000 -0800 @@ -1617,6 +1617,28 @@ #size-cells = <0>; }; + mali: gpu@1c40000 { + compatible = "allwinner,sun7i-a20-mali", "arm,mali-400"; + reg = <0x01c40000 0x10000>; + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "gp", + "gpmmu", + "pp0", + "ppmmu0", + "pp1", + "ppmmu1", + "pmu"; + clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; + clock-names = "bus", "core"; + resets = <&ccu RST_BUS_GPU>; + }; + gmac: ethernet@01c50000 { And tried to compile 2616805-Error: arch/arm/boot/dts/sun7i-a20.dtsi:1637.19-20 syntax error 2616869:FATAL ERROR: Unable to parse input tree 2616909-scripts/Makefile.lib:320: recipe for target 'arch/arm/boot/dts/sun7i-a20-bananapi.dtb' failed 2617003-make[1]: *** [arch/arm/boot/dts/sun7i-a20-bananapi.dtb] Error 1 2617067-arch/arm/Makefile:354: recipe for target 'dtbs' failed It complains about the following line: clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; Tried this patch https://patchwork.kernel.org/patch/10046141/ Same thing I double-checked the similar patch you've already done https://github.com/armbian/build/blob/master/patch/kernel/sunxi-next/32-h3-DT-add-mali-node.patch What am I doing wrong? Sorry for dumb questions, I give up
  3. Finally ended up with Intel NUC ))))
  4. Got Firefly RK3399 (http://en.t-firefly.com/en/firenow/Firefly_RK3399/) Specs are pretty promising...
  5. Jens, Thank you very much Checked out all the devices: - ARMADA 8040 - $360 and doesn't have built-in GPU - LeMaker Cello - $300 and still unreleased. - ClearFog - no GPU - MQMaker's MiTi Board - too poor and only openwrt available (we need Debian) - ESPRESSOBin - no GPU I need to build not t only home recorder, but player to be able to decode and play 4k video on my TV. Anyone who have better suggestions (perhaps a single board that satisfies all the requirements), please chip in!
  6. Hello! Sorry for too high-level description, I'm not an experienced embedded engineer, just an enthusiast. I'm going to try to run a project to build an affordable home video recorder/player and I need a brief insight on the current ones available. I'm currently using A20 and I'm looking for a possible more powerful solutions. Requirements: - At least twice powerful computing power comparing to A20 - Video chip with hardware acceleration support in Linux (not planning to use Android) - SATA with at least 40 Megabytes per second throughput (NOT crappy usb<->sata built-in adapters) - Network stack with at least 300Mbps bandwidth that does NOT affect CPU performance (like in Banana Pi). Ideally, 2 separated NICs Ideally to be able to use several displays. Maybe it sounds naive, but Is there anything on the market that can do it? Thank you in advance!
  7. Ok. Found the following tricks: 1) Learn the current state of the HDMI monitor apt-get install read-edid get-edid > /tmp/edid If monitor is not plugged, you'll get something like this: Attempting to use i2c interface No EDID on bus 0 No EDID on bus 1 No EDID on bus 2 No EDID on bus 3 No EDID on bus 4 Looks like no busses have an EDID. Sorry! I'm sorry nothing was successful. Maybe try some other arguments if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>. If monitor is plugged, you'll get something like this: This is read-edid version 3.0.2. Prepare for some fun. Attempting to use i2c interface No EDID on bus 0 No EDID on bus 1 No EDID on bus 2 No EDID on bus 3 1 potential busses found: 4 256-byte EDID successfully retrieved from i2c bus 4 Looks like i2c was successful. Have a good day. Checksum Correct Additionally, when connect a device to HDMI, the following is passed to the kernel: Aug 3 01:33:32 nx1 kernel: [ 5556.680012] ParseEDID Aug 3 01:33:32 nx1 kernel: [ 5556.704694] EDID version: 1.3 Aug 3 01:33:32 nx1 kernel: [ 5556.717744] PCLK=148500000 X 1920 2008 2052 2200 Y 1080 1084 1089 1125 fr 60 PP Aug 3 01:33:32 nx1 kernel: [ 5556.745364] Unimplemented SVD code 4 Aug 3 01:33:32 nx1 kernel: [ 5556.747896] Unimplemented SVD code 2 Aug 3 01:33:32 nx1 kernel: [ 5556.750510] Unimplemented SVD code 17 Aug 3 01:33:32 nx1 kernel: [ 5556.756376] disp_clk: Could not find a matching pll-freq for 53900000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.762219] disp_clk: Could not find a matching pll-freq for 53900000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.768145] disp_clk: Could not find a matching pll-freq for 108100000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.773970] disp_clk: Could not find a matching pll-freq for 25150000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.779820] disp_clk: Could not find a matching pll-freq for 74200000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.785646] disp_clk: Could not find a matching pll-freq for 74600000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.791688] disp_clk: Could not find a matching pll-freq for 146850000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.797640] disp_clk: Could not find a matching pll-freq for 172900000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.803466] disp_clk: Could not find a matching pll-freq for 78800000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.809311] disp_clk: Could not find a matching pll-freq for 53450000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.815144] disp_clk: Could not find a matching pll-freq for 27100000 pclk Aug 3 01:33:32 nx1 kernel: [ 5556.821092] disp_clk: Could not find a matching pll-freq for 26150000 pclk Aug 3 01:33:32 nx1 kernel: [ 5557.006753] Parse_VideoData_Block: VIC 16 support Aug 3 01:33:32 nx1 kernel: [ 5557.019037] Parse_VideoData_Block: VIC 31 support Aug 3 01:33:32 nx1 kernel: [ 5557.031524] Parse_VideoData_Block: VIC 5 support Aug 3 01:33:32 nx1 kernel: [ 5557.043727] Parse_VideoData_Block: VIC 20 support Aug 3 01:33:32 nx1 kernel: [ 5557.056109] Parse_VideoData_Block: VIC 4 support Aug 3 01:33:32 nx1 kernel: [ 5557.068279] Parse_VideoData_Block: VIC 19 support Aug 3 01:33:32 nx1 kernel: [ 5557.080507] Parse_VideoData_Block: VIC 3 support Aug 3 01:33:32 nx1 kernel: [ 5557.092683] Parse_VideoData_Block: VIC 18 support Aug 3 01:33:32 nx1 kernel: [ 5557.104805] Parse_VideoData_Block: VIC 2 support Aug 3 01:33:32 nx1 kernel: [ 5557.116842] Parse_VideoData_Block: VIC 17 support Aug 3 01:33:32 nx1 kernel: [ 5557.128831] Parse_VideoData_Block: VIC 1 support Aug 3 01:33:32 nx1 kernel: [ 5557.140681] Parse_AudioData_Block: max channel=2 Aug 3 01:33:32 nx1 kernel: [ 5557.152796] Parse_AudioData_Block: SampleRate code=7 Aug 3 01:33:32 nx1 kernel: [ 5557.165050] Parse_AudioData_Block: WordLen code=7 Aug 3 01:33:32 nx1 kernel: [ 5557.176686] Find HDMI Vendor Specific DataBlock Aug 3 01:33:32 nx1 kernel: [ 5557.190211] PCLK=27000000 X 720 736 798 858 Y 480 489 495 525 fr 59 NN Aug 3 01:33:32 nx1 kernel: [ 5557.206142] PCLK=74250000 X 1280 1390 1430 1650 Y 720 725 730 750 fr 60 PP Aug 3 01:33:32 nx1 kernel: [ 5557.222220] PCLK=27000000 X 720 736 798 858 Y 480 489 495 525 fr 59 NN Aug 3 01:33:32 nx1 kernel: [ 5557.237922] PCLK=27000000 X 720 732 796 864 Y 576 581 586 625 fr 50 NN 2. Turn on/off HDMI Use this utility: https://github.com/doozan/a10-tools a10_display hdmi off|on
  8. Hello, Is there any way to programmatically interact with HDMI on Banana Pi/Pro? Ideally I would like the following: Learn the current state of the HDMI monitor (and/or receive notifications): not connected, connected and turned off (in standby), connected and turned on. Turn off the HDMI monitor (put to standby). Turn on the HDMI monitor (exit standby). Thank you in advance!
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines