martinayotte

  • Posts

    3889
  • Joined

  • Last visited

Everything posted by martinayotte

  1. Although I've never tried, patches could be board specific using a subdirectory such as ./patch/kernel/sunxi-dev/nanopi-duo/board-h2plus-nanopi-duo-add-device.patch BTW, I've tried dynamic loading of gpio-line-names.dtbo overlay, but it doesn't work, but doing it in /boot/armbianEnv.txt works. I think it is due that gpio-lines-names property is only checked while initializing pinctrl at boot time.
  2. For Allwinners SoC, you simply add new overlay to existing patch located there : https://github.com/armbian/build/blob/master/patch/kernel/sunxi-dev/general-sunxi-overlays.patch You need to add DTS, but also add entry into the Makefile.
  3. In this specific case, since it is for exynos5420 which doesn't have any overlay mecanism yet, I will leave your PR as is ...
  4. Here is a quick/not-tested/incomplete overlay sources named gpio-line-names.dts : /dts-v1/; /plugin/; / { compatible = "allwinner,sun8i-h3"; fragment@1 { target = <&pio>; __overlay__ { gpio-line-names = "", "", "", "", "TX", "RX", "", "", "", "", "", "", "", "", "", "STATUS-LED", "MUTE", "SPDIF-OUT", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""; }; }; }; Then, compile it as DTB with this command : dtc -O dtb -I dts -o gpio-line-names.dtbo gpio-line-names.dts To try loading DTB dynamically into main tree without doing it in /boot/armbianEnv.txt, execute those commands : mkdir /sys/kernel/config/device-tree/overlays/gpionames cat gpio-line-names.dtbo > /sys/kernel/config/device-tree/overlays/gpionames/dtbo cat /sys/kernel/config/device-tree/overlays/gpionames/status The last command should provide "applied" status. Then, you can test names with your own tool ...
  5. Do you mean how to write an overlay ? Or do you mean how "gpio-line-names" is used ? Here is a general example from https://elixir.bootlin.com/linux/v4.7/source/Documentation/devicetree/bindings/gpio/gpio.txt gpio-controller@00000000 { compatible = "foo"; reg = <0x00000000 0x1000>; gpio-controller; #gpio-cells = <2>; ngpios = <18>; gpio-line-names = "MMC-CD", "MMC-WP", "VDD eth", "RST eth", "LED R", "LED G", "LED B", "Col A", "Col B", "Col C", "Col D", "Row A", "Row B", "Row C", "Row D", "NMI button", "poweroff", "reset"; } It is not exact syntax, since it is depending of SoC main DT, for example, on H3, the controller would be "pinctrl@1c20800" ...
  6. I don't see much other ways than doing it using overlays ...
  7. As I said months ago, you need to execute the backup using SSH ... ssh root@<ip_board_to_be_backup> "dd if=/dev/mmcblk1" | dd of=backup_image.img bs=100M
  8. The PCF8523 chip is a good one since it can trigger an alarm interrupt ...
  9. That is because "sun50i-h6-fixup.scr" doesn't handle "L" bank (and "H" bank as well) as you can see here : setenv decompose_pin 'setexpr tmp_bank sub "P(A|C|D|G)\\d+" "\\1"; setexpr tmp_pin sub "P\\S(\\d+)" "\\1"; test "${tmp_bank}" = "A" && setenv tmp_bank 0; test "${tmp_bank}" = "C" && setenv tmp_bank 2; test "${tmp_bank}" = "D" && setenv tmp_bank 3; test "${tmp_bank}" = "G" && setenv tmp_bank 6' Feel free to tweak that script and submit the fix in a PR... EDIT : adding "H" bank should be pretty easy, but for "L" bank, it would be a bit harder since it need to change also the "pinctrl" with some "if" statements : ("L" bank is using "pinctrl@7022000" instead of "pinctrl@300b000" ...) if test -n "${param_w1_pin}"; then setenv tmp_bank "${param_w1_pin}" setenv tmp_pin "${param_w1_pin}" run decompose_pin fdt set /soc/pinctrl@300b000/w1_pins pins "${param_w1_pin}" fdt get value tmp_phandle /soc/pinctrl@300b000 phandle fdt set /onewire@0 gpios "<${tmp_phandle} ${tmp_bank} ${tmp_pin} 0>" env delete tmp_pin tmp_bank tmp_phandle fi if test "${param_w1_pin_int_pullup}" = "1"; then fdt set /soc/pinctrl@300b000/w1_pins bias-pull-up fi
  10. But the ".config" I've provided is "default = no i2c", you need to turn most of those to "=y" instead of "is not set" ...
  11. Did you checked all the possible configs in your cache/source/u-boot/v2019.04/.config By default, "grep -i i2c" is showing : # CONFIG_I2C0_ENABLE is not set # CONFIG_I2C1_ENABLE is not set # CONFIG_I2C2_ENABLE is not set # CONFIG_SPL_I2C_SUPPORT is not set # CONFIG_CMD_I2C is not set # I2C support # CONFIG_DM_I2C is not set # CONFIG_SYS_I2C_DW is not set # CONFIG_SYS_I2C_IMX_LPI2C is not set # CONFIG_SYS_I2C_MXC is not set # CONFIG_I2C_EDID is not set
  12. Stop U-Boot using <spacebar> during USB can, then do "printenv" command and check the value of "fdtfile"
  13. Be aware that U-Boot and Kernel don't use the same DT file, you need to verify the one used in U-Boot build ...
  14. I've checked on my second OPi0 where I didn't upgrade firmware, so still previous version, and the issue is also present : [ 14.824376] xradio: XR819 device discovered [ 15.056442] xradio: hardware vers. 7.9 [ 15.056457] xradio: firmware vers. 8 (WSM), build 43, api 1060, cap 0x0003 [ 15.056460] xradio: Config USE_EXTENSIONS [ 40.809788] xradio TXRX-WRN: received frame has no key status [ 40.809802] xradio TXRX-WRN: dropped received frame [ 3653.654011] xradio WRN: BH: missed 4 consecutive interrupts! [ 5423.670767] xradio WRN: BH: missed 5 consecutive interrupts! [ 7584.760350] xradio WRN: BH: missed 6 consecutive interrupts! [ 9724.478792] xradio WRN: BH: missed 7 consecutive interrupts! [10080.291066] xradio WRN: BH: missed 8 consecutive interrupts! [10777.751448] xradio WRN: BH: missed 9 consecutive interrupts! [13480.647858] xradio WRN: BH: missed 10 consecutive interrupts! [18367.827745] xradio WRN: BH: missed 11 consecutive interrupts! [19237.530227] xradio WRN: BH: missed 12 consecutive interrupts! [20461.024844] xradio WRN: BH: missed 13 consecutive interrupts!
  15. After hours of investigation, and after having figured out that SPI for H6 wasn't working since 5.7.x, I've found why : missing SPI pins in DT ... https://github.com/armbian/build/commit/e3ade9e9f4292c6b257ad10f676edc4055106d2a
  16. I will try my best, but "time is the missing ingredient" as usual ... (I'm currently chasing why SPI0 doesn't work properly on OPiOne+ while it was with few earlier kernel versions)
  17. Did you added also CONFIG_CMD_I2C=y to recompile U-Boot with I2C related commands ?
  18. Upgrade done ! No side effect seen until now ...
  19. Try using external 4K7 pullup instead of internal one ... BTW, which kernel are you using ?
  20. This line looks strange ... Can you try PA7 (pin 12) instead, and look again at /sys/kernel/debug/gpio ?
  21. Is this still present ? Because 110 is wrong ... It is like you still have the default pin which is PD14 ... What "dmesg | grep w1" command is giving you ?
  22. BTW, I've found another glitch : I've built a 5.9.8 DEV Pinebook-Pro Desktop image and I didn't have WiFi working. I've figured out that no firmware were present in the image, I've copied them from previous 5.8.1 image...