Helios4?

Ask questions about Arch Linux ARM. Please search before making a new topic.

Helios4?

Postby rs410ga » Wed Jan 30, 2019 11:31 pm

I'm fairly good at figuring stuff out once pointed in the right direction and I just received a Helios4 which comes with the same Marvell Armada 388 that's in the ClearFog. Could someone be so kind as to outline the basic process of porting to a new device?
rs410ga
 
Posts: 1
Joined: Wed Jan 30, 2019 11:18 pm

Re: Helios4?

Postby Chal » Sat Feb 02, 2019 7:23 pm

I would also be interested to run Archlinux on my Helios4.

I tried the Clearfog version of Archlinux ARM following instructions here: https://archlinuxarm.org/platforms/armv ... l/clearfog > Installation.

The system boots but only one HDD out of four is detected. And fans always operates at full speed.

I tried to change to configuration of Uboot as follows (but I didn't know Uboot until now, so I don't know if that could fix something): in the /boot/uEnv.txt file, I uncommented the last line containing the fdtfile variable and set it to armada-388-helios4.dtb. This file is present in the boot/dtbs/ directory. However it did not fix issues above.
Chal
 
Posts: 15
Joined: Sat Feb 02, 2019 6:52 pm

Re: Helios4?

Postby summers » Sun Feb 03, 2019 9:10 am

Did some browsing over breakfast - to see how viable this is.

First off Helios4 isn't officially supported by Arch Linux Arm, and I don't have any idea how to make it officially supported.

But if willing to do the leg work and grind yourself, a good chance of getting arch working.

First of you have to understand how the machine boots. For Helios4 this is easy, it has an FTDI chip wired to the cpu uart, that goes to the micro usb socket on the front. So with the Helios4 powered off, attach this port to another computer - and bring up a terminal to follow the port. I use $this->bbcode_second_pass_code('', 'screen /dev/ttyUSB0 115200'), but others are possible.

When thats working, power on the Helios4, and look at all the boot messages - the better you can understand how the machine boots, the easier it will be.

What is clear is it boots first a modern uboot, where the uboot lives isn't clear. Maybe on the nor flash. Anyway as its a modern uboot, no reason to change it. But need to understand how it boots. Most modern uboot use the distro set up these days - makes like easy - can configure in /boot/boot.{txt,scr}.

Next booting linux, can we use mainline - or do we have to use what is already supported on the machine. Place to start is the device tree, and bingo the kernel has armada-388-helios4.dts - so thats good says mainline should work.

So then its a case of of setting up the the arch file system on whatever medium is good, either HDD or sD card I guess, could do USB for a test (but isn't great long term ...). You'll then need to set it up so uboot loads the right bits for your board. So loading the right dtb. First time you'll probably be passing the commands to uboot by hand over the serial terminal.

And arch to use, not clear if the general armv7 distribution is best, or if you need to use a specific armada kernel. We can worry about that later ...

Anyway hope this is enough to get started. Oh yes, as long as you don't do anything silly, there is little risk of bricking your machine.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Helios4?

Postby Chal » Sun Feb 03, 2019 11:47 pm

This is all new to me, but here is the information I can provide:

I use picocom to connect to the Helios4 serial console:

$this->bbcode_second_pass_code('', '$ sudo picocom -b 115200 /dev/ttyUSB0')
Turning on the Helios4 without SD card shows this:

$this->bbcode_second_pass_code('', '
BootROM - 1.73

Booting from MMC
Card did not respond to voltage select!
Error initializing MMC - FFFFFFEF

Trying Uart
')
and it doesn't go any further.

Would it be stupid to say that uboot is loaded from the SD card? (I don't know uboot enough to be sure of that, but I guess it is). The Helios4 wiki has a page explaining how to compile uboot: https://wiki.kobol.io/uboot/. Helios4 uses a fork of uboot here: https://github.com/helios-4/u-boot. I can get the u-boot-spl.kwb file but the Wiki page does not explain what to do with this file. However this readme (https://github.com/helios-4/u-boot/blob ... os4/README) explains that this file must be copied to the SD card using this command:

$this->bbcode_second_pass_code('', '$ sudo dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1')
So I installed Archlinux ARM for Clearfog to an SD card, copy also the u-boot-spl.kwb with the above command and boot the Helios4 on it. Here is what I got:

$this->bbcode_second_pass_code('', '
U-Boot SPL 2018.11-00292-g3221f0f219 (Feb 03 2019 - 19:49:54 +0100)
High speed PHY - Version: 2.0
Detected Device ID 6828
board SerDes lanes topology details:
| Lane # | Speed | Type |
--------------------------------
| 0 | 6 | SATA0 |
| 1 | 5 | USB3 HOST0 |
| 2 | 6 | SATA1 |
| 3 | 6 | SATA3 |
| 4 | 6 | SATA2 |
| 5 | 5 | USB3 HOST1 |
--------------------------------
High speed PHY - Ended Successfully
mv_ddr: mv_ddr-armada-17.10.4
DDR3 Training Sequence - Switching XBAR Window to FastPath Window
DDR Training Sequence - Start scrubbing
DDR3 Training Sequence - End scrubbing
mv_ddr: completed successfully
Trying to boot from MMC1


U-Boot 2018.11-00292-g3221f0f219 (Feb 03 2019 - 19:49:54 +0100)

SoC: MV88F6828-A0 at 1600 MHz
DRAM: 2 GiB (800 MHz, 32-bit, ECC enabled)
MMC: mv_sdh: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Model: Helios4
Board: Helios4
SCSI: MVEBU SATA INIT
Target spinup took 0 ms.
Target spinup took 0 ms.
AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
flags: 64bit ncq led only pmp fbss pio slum part sxs

Net:
Warning: ethernet@70000 (eth1) using random MAC address - 1a:6c:d5:40:b2:b9
eth1: ethernet@70000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
starting USB...
USB0: MVEBU XHCI INIT controller @ 0xf10f4000
Register 2000120 NbrPorts 2
Starting the controller
USB XHCI 1.00
USB1: MVEBU XHCI INIT controller @ 0xf10fc000
Register 2000120 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found

Device 0: device type unknown
... is now current device
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-mvebu
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
Config file not found
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
ethernet@70000 Waiting for PHY auto negotiation to complete................. TIMEOUT !
ethernet@70000: No link.
=>
')
I downloaded the Armbian image from the Helios4 wiki (https://wiki.kobol.io/download/) and mounted it:

$this->bbcode_second_pass_code('', '
$ wget https://dl.armbian.com/helios4/archive/Armbian_5.72_Helios4_Debian_stretch_next_4.14.94.7z
$ md5sum Armbian_5.72_Helios4_Debian_stretch_next_4.14.94.7z
c4b5973931acde6e070b88bdfb32957c Armbian_5.72_Helios4_Debian_stretch_next_4.14.94.7z
$ 7za e Armbian_5.72_Helios4_Debian_stretch_next_4.14.94.7z
$ mkdir img
$ sudo mount -t loop,offset=419430 Armbian_5.72_Helios4_Debian_stretch_next_4.14.94.img
')
Here is the content of the boot/ folder:

$this->bbcode_second_pass_code('', '
-rw-r--r-- 1 root root 2,1M 20 janv. 08:44 System.map-4.14.94-mvebu
-rw-r--r-- 1 root root 158 20 janv. 08:58 armbianEnv.txt
-rw-r--r-- 1 root root 1,5K 20 janv. 08:57 armbian_first_run.txt.template
-rw-r--r-- 1 root root 38K 20 janv. 08:55 boot.bmp
-rw-r--r-- 1 root root 1,9K 20 janv. 08:54 boot.cmd
-rw-r--r-- 1 root root 2,0K 20 janv. 08:58 boot.scr
-rw-r--r-- 1 root root 4,8K 20 janv. 08:55 boot-desktop.png
-rw-r--r-- 1 root root 121K 20 janv. 08:44 config-4.14.94-mvebu
lrwxrwxrwx 1 root root 17 20 janv. 08:54 dtb -> dtb-4.14.94-mvebu/
drwxr-xr-x 2 root root 4,0K 20 janv. 08:54 dtb-4.14.94-mvebu/
-rw-r--r-- 1 root root 8,0M 20 janv. 09:00 initrd.img-4.14.94-mvebu
lrwxrwxrwx 1 root root 21 20 janv. 09:00 uInitrd -> uInitrd-4.14.94-mvebu
-rw-r--r-- 1 root root 8,0M 20 janv. 09:00 uInitrd-4.14.94-mvebu
-rwxr-xr-x 1 root root 5,3M 20 janv. 08:44 vmlinuz-4.14.94-mvebu
lrwxrwxrwx 1 root root 21 20 janv. 08:54 zImage -> vmlinuz-4.14.94-mvebu
')
As you can see, there are boot.cmd and boot.scr files. Here is the content of boot.cmd:

$this->bbcode_second_pass_code('', '
# DO NOT EDIT THIS FILE
#
# Please edit /boot/armbianEnv.txt to set supported parameters
#

# default values
setenv rootdev "/dev/mmcblk0p1"
setenv rootfstype "ext4"
setenv verbosity "1"
setenv emmc_fix "off"
setenv spi_workaround "off"
setenv ethaddr "00:50:43:84:fb:2f"
setenv eth1addr "00:50:43:25:fb:84"
setenv eth2addr "00:50:43:84:25:2f"
setenv eth3addr "00:50:43:0d:19:18"

# fdtfile should come from compile-time u-boot patches
if test -z "${fdtfile}"; then
setenv fdtfile "armada-388-clearfog.dtb"
fi

test -z "${boot_interface}" && setenv boot_interface "mmc"

echo "Boot script loaded from ${boot_interface}"

if load ${boot_interface} 0:1 ${loadaddr} ${prefix}armbianEnv.txt; then
env import -t ${loadaddr} ${filesize}
fi

setenv bootargs "console=ttyS0,115200 root=${rootdev} rootwait rootfstype=${rootfstype} ubootdev=${boot_interface} scandelay loglevel=${verbosity} usb-storage.quirks=${usbstoragequirks} ${extraargs}"

load ${boot_interface} 0:1 ${fdt_addr} ${prefix}dtb/${fdtfile}
load ${boot_interface} 0:1 ${ramdisk_addr_r} ${prefix}uInitrd
load ${boot_interface} 0:1 ${kernel_addr_r} ${prefix}zImage

setenv fdt_high 0xffffffff
setenv initrd_high 0xffffffff

# eMMC fix
if test "${emmc_fix}" = "on"; then
echo "Applying eMMC compatibility fix to the DT"
fdt addr ${fdt_addr}
fdt resize
fdt rm /soc/internal-regs/sdhci@d8000/ cd-gpios
fdt set /soc/internal-regs/sdhci@d8000/ non-removable
fi

# SPI - SATA workaround
if test "${spi_workaround}" = "on"; then
echo "Applying SPI workaround to the DT"
fdt addr ${fdt_addr}
fdt resize
fdt set /soc/internal-regs/sata@e0000 status "disabled"
fdt set /soc/internal-regs/sata@a8000 status "disabled"
fdt set /soc/spi@10680 status "okay"
fdt set /soc/spi@10680/spi-flash@0 status "okay"
fi

bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}

# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
')
This script uses /boot/armbianEnv.txt whose content is:

$this->bbcode_second_pass_code('', '
verbosity=1
eth1addr=00:50:43:25:fb:84
spi_workaround=off
overlay_prefix=armada-388-helios4
rootdev=UUID=9a87e716-ddad-42da-8d9e-78ec4d261162
rootfstype=ext4
')
I replaced the content of /boot on the SD card by the content of /boot from the Armbian image. Here is the result:

$this->bbcode_second_pass_code('', '
U-Boot SPL 2018.11-00292-g3221f0f219 (Feb 03 2019 - 19:49:54 +0100)
High speed PHY - Version: 2.0
Detected Device ID 6828
board SerDes lanes topology details:
| Lane # | Speed | Type |
--------------------------------
| 0 | 6 | SATA0 |
| 1 | 5 | USB3 HOST0 |
| 2 | 6 | SATA1 |
| 3 | 6 | SATA3 |
| 4 | 6 | SATA2 |
| 5 | 5 | USB3 HOST1 |
--------------------------------
High speed PHY - Ended Successfully
mv_ddr: mv_ddr-armada-17.10.4
DDR3 Training Sequence - Switching XBAR Window to FastPath Window
DDR Training Sequence - Start scrubbing
DDR3 Training Sequence - End scrubbing
mv_ddr: completed successfully
Trying to boot from MMC1


U-Boot 2018.11-00292-g3221f0f219 (Feb 03 2019 - 19:49:54 +0100)

SoC: MV88F6828-A0 at 1600 MHz
DRAM: 2 GiB (800 MHz, 32-bit, ECC enabled)
MMC: mv_sdh: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Model: Helios4
Board: Helios4
SCSI: MVEBU SATA INIT
Target spinup took 0 ms.
Target spinup took 0 ms.
AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
flags: 64bit ncq led only pmp fbss pio slum part sxs

Net:
Warning: ethernet@70000 (eth1) using random MAC address - 7e:5e:e0:18:94:ea
eth1: ethernet@70000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
1979 bytes read in 78 ms (24.4 KiB/s)
## Executing script at 03000000
Boot script loaded from mmc
load - load binary file from a filesystem

Usage:
load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]
- Load binary file 'filename' from partition 'part' on device
type 'interface' instance 'dev' to address 'addr' in memory.
'bytes' gives the size to load in bytes.
If 'bytes' is 0 or omitted, the file is read until the end.
'pos' gives the file byte position to start reading from.
If 'pos' is 0 or omitted, the file is read from the start.
load - load binary file from a filesystem

Usage:
load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]
- Load binary file 'filename' from partition 'part' on device
type 'interface' instance 'dev' to address 'addr' in memory.
'bytes' gives the size to load in bytes.
If 'bytes' is 0 or omitted, the file is read until the end.
'pos' gives the file byte position to start reading from.
If 'pos' is 0 or omitted, the file is read from the start.
8352153 bytes read in 1542 ms (5.2 MiB/s)
5457160 bytes read in 1087 ms (4.8 MiB/s)
## Loading init Ramdisk from Legacy Image at 02880000 ...
Image Name: uInitrd
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 8352089 Bytes = 8 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x00000000).

Available machine support:

ID (hex) NAME
ffffffff Generic DT based system
ffffffff Marvell Armada 39x (Device Tree)
ffffffff Marvell Armada 380/385 (Device Tree)
ffffffff Marvell Armada 375 (Device Tree)
ffffffff Marvell Armada 370/XP (Device Tree)
ffffffff Marvell Dove

Please check your kernel config and/or bootloader.
')
Hope it helps.
What can I do next to go further?
Chal
 
Posts: 15
Joined: Sat Feb 02, 2019 6:52 pm

Re: Helios4?

Postby TheSaint » Mon Feb 04, 2019 12:12 am

If you had Armbian running is simple to convert into Arm. You should just rip the rootfs and install the Arch in it.
A slight adjustment will go to the boot.scr, regarding the bootargs. That is.
Anyway would be better you don't modify the partitions, just overwrite their contents.
TheSaint
 
Posts: 346
Joined: Mon Jul 23, 2018 7:57 am

Re: Helios4?

Postby summers » Mon Feb 04, 2019 2:23 pm

Actually thats quite encouraging. Means you know that uboot lives on the sD card, and also where to put it on the file system.

When you get to "=>" you should be able to type commands. Two are useful "help" and "printenv". Help will show what commands are compiled in, hopefully you'll have the ext4 commands - which means you can have the boot partition as part of the main ext4 formatted root directory. printenv, will show what environment they have compiled in - which gives clues on how they expect to boot.

Anyway enough has been printed that we can see it looks like its doing distro boot. https://git.denx.de/?p=u-boot.git;a=blob;f=doc/README.distro

Other thing you can try is run "fdisk" on the armbian image - then you get some idea what partitions it is expecting ...
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Helios4?

Postby Chal » Mon Feb 04, 2019 9:00 pm

Good news guys, I have a running Arch on my Helios4! \o/

Here is how I did it using an SD card:

Please note that although I've been using Arch for several years on my x86 laptop, it is the first time I've used Archlinux ARM. Following instructions work for me but may contain mistakes or there could be a better way to proceed. Use at your own risks. Any feedback is welcome!

1. Do steps 1 to 5 from this page https://archlinuxarm.org/platforms/armv ... l/clearfog > Installation
2. Download the generic Arch for armv7 and extract the root filesystem (as user root) to the SD card:
$this->bbcode_second_pass_code('', '
# wget http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz
# bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C root
')
3. Compile the uboot fork for Helios4 by following those instructions: https://wiki.kobol.io/uboot/
4. Copy the u-boot-spl.kwb file to the SD card
$this->bbcode_second_pass_code('', '$ sudo dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1')
5. Install the uboot tools on your computer
$this->bbcode_second_pass_code('', '$ sudo pacman -S uboot-tools')
6. create the root/boot/boot.cmd file with the following content:
$this->bbcode_second_pass_code('', '
part uuid ${devtype} ${devnum}:${bootpart} uuid
setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait

if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
else
bootz ${kernel_addr_r} - ${fdt_addr_r};
fi;
fi;
fi
')
7. Compile root/boot/boot.cmd with the uboot-tools:
$this->bbcode_second_pass_code('', '# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Helios4 boot script" -d root/boot/boot.cmd root/boot/boot.scr')
8. Unmount the partition:
$this->bbcode_second_pass_code('', '# umount root')
9. Connect to the Helios4 serial console:
$this->bbcode_second_pass_code('', '$ sudo picocom -b 115200 /dev/ttyUSB0')
10. Insert the SD card into the Helios4 and apply power
11. Edit: this step is not required - When "Hit any key to stop autoboot:..." is displayed, hit[/s] [Enter]
12. Edit: this step is not required - Set the efi_dtb_prefixes environment variable to /dtbs/, save changes and boot:
$this->bbcode_second_pass_code('', '
=> setenv efi_dtb_prefixes /dtbs/
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
=> boot
')
13. When the login prompt appears, log in as root (default password "root")
14. Initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
$this->bbcode_second_pass_code('', '
pacman-key --init
pacman-key --populate archlinuxarm
')

Enjoy! ;)

Known issues:
- fan control does not work. Fans always operate at full speed.

Edit:

Mark steps 11 and 12 as not required because the path of the dtb folder is hardcoded in the boot.cmd script.
Last edited by Chal on Tue Feb 05, 2019 6:23 pm, edited 1 time in total.
Chal
 
Posts: 15
Joined: Sat Feb 02, 2019 6:52 pm

Re: Helios4?

Postby summers » Tue Feb 05, 2019 1:20 pm

Sounds good. I'd run $this->bbcode_second_pass_code('', 'dmesg | grep fdt') just to check it loaded the Helios4 device tree - but I think that is set in the uboot you used, so hopefully is fine.

The device tree contains
$this->bbcode_second_pass_code('', ' fan1: j10-pwm {
compatible = "pwm-fan";
pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */
};

fan2: j17-pwm {
compatible = "pwm-fan";
pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */
};')
So that suggests if you write to those gpio you should be able to change the fan speed. Also check https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/hwmon/pwm-fan.txt.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Helios4?

Postby Chal » Tue Feb 05, 2019 10:56 pm

Thanks for the feedback @summers. Greatly appreciated!

"dmesg | grep fdt" returns:
$this->bbcode_second_pass_code('', '[ 0.000000] OF: fdt: Machine model: Helios4')
Looks good?

Regarding the fans, a quick search leaded me to this page: https://wiki.kobol.io/pwm/#patch-requirement
$this->bbcode_second_pass_quote('', '
')Currently Linux gpio-mvebu driver does not allow more than 1 PWM under the same gpio bank. Helios4 uses 2 PWM under same bank therefore this patch needs to be applied to kernel source to remove the restriction.

So I followed this thread to learn how to recompile the kernel with the additional patch. Currently compiling on the Helios4... (I should probably learn how to cross-compile to go faster)

What a journey! I didn't expect to have to do all of this. But I learned so much in a few days. That's terribly exciting! Thank you wonderful Open Source world! :D
Chal
 
Posts: 15
Joined: Sat Feb 02, 2019 6:52 pm

Re: Helios4?

Postby Chal » Wed Feb 06, 2019 6:57 am

I got this error during the compilation:
$this->bbcode_second_pass_quote('', '
') MK_FW firmware/am335x-pm-firmware.elf.gen.S
make[1]: *** No rule to make target 'firmware/am335x-pm-firmware.elf', needed by 'firmware/am335x-pm-firmware.elf.gen.o'. Stop.
make: *** [Makefile:1055: firmware] Error 2

Can you please help me to resolve it?
Chal
 
Posts: 15
Joined: Sat Feb 02, 2019 6:52 pm

Next

Return to User Questions

Who is online

Users browsing this forum: No registered users and 17 guests