Skip to content

ipctool not support reginfo for novatek #237

Closed

Description

@sansarus

/tmp # ./ipctool

chip:
vendor: Novatek
model: NT98566
board:
vendor: Xiongmai
ethernet:
mac: "e0:61:b2:65:1d:fd"
rom:

  • type: nand
    block: 128K
    partitions:
    • name: loader
      size: 0x40000
      sha1: d15e95ed
    • name: fdt
      size: 0x40000
      sha1: ea3b2b0e
    • name: fdt.restore
      size: 0x40000
      sha1: 83bf57ae
    • name: uboot
      size: 0x200000
      sha1: a6bb4fe1
    • name: uenv
      size: 0x20000
      sha1: b81b4a67
    • name: defcfg
      size: 0x20000
      sha1: ee9aaeb3
    • name: kernel
      size: 0x500000
      sha1: 97219942
    • name: rootfs
      size: 0x5800000
      dump_type: ubifs
      ubi_device: 0
      ubi_volumes:
      • vol_id: 0
        vol_name: rootfs
        data_bytes: 0x3e7c000
        sha1: 2548d572
    • name: custom
      size: 0x1000000
      path: /mnt/special,squashfs
      sha1: 49c0926f
    • name: config
      size: 0xc00000
      dump_type: ubifs
      ubi_device: 1
      ubi_volumes:
      • vol_id: 0
        vol_name: config
        data_bytes: 0xa6a000
        sha1: e36e221e
    • name: encrypt
      size: 0x400000
      dump_type: ubifs
      ubi_device: 2
      ubi_volumes:
      • vol_id: 0
        vol_name: encrypt
        data_bytes: 0x2e8000
        sha1: 2e76c679
        size: 128M
        ram:
        total: 128M
        firmware:
        kernel: "4.19.91 (PREEMPT Fri Nov 11 16:34:34 CST 2022)"
        toolchain: gcc version 8.4.0 (Buildroot 2020.02.9-10-g744f210)
        libc: uClibc 1.0.32
        main-app: hunter
        /tmp # ./ipctool reginfo
        Platform is not supported

Activity

  1. widgetii commented on Oct 9, 2026

    @widgetii
    Member

    Support for NT98562/NT98566 (NA51089) landed in #239. It will be in the next latest build of ipctool.

    No Novatek board was available to test on, so a run on yours would be the first hardware check. Please post the output of these four commands:

    ipctool reginfo
    ipctool reginfo --pads
    cat /proc/nvt_info/nvt_pinmux/pinmux_summary
    cat /proc/nvt_info/nvt_pinmux/chip_id
    

    pinmux_summary is the kernel's own decode of the same registers. Comparing it with --pads is how we find out whether the table is right.

    gpio get/set/scan and gpio mux now work too. Pads are given as the Linux GPIO number (54) or the kernel's name (P_GPIO22).

  2. widgetii commented on Oct 10, 2026

    @widgetii
    Member

    A follow-up, #240, is merged as well. On your NT98566 it adds the LCD pins, so pads used by a panel now read as LCD_* rather than unclaimed. The same build also covers NT9852x and NT98528/NT98529.

    The request above still stands. The output of these commands from your camera would be the first hardware check of these tables:

    ipctool reginfo
    ipctool reginfo --pads
    cat /proc/nvt_info/nvt_pinmux/pinmux_summary
    cat /proc/nvt_info/nvt_pinmux/chip_id
    
  3. sansarus commented on Oct 10, 2026

    @sansarus
    MemberAuthor

    ./ipctool reginfo --pads

    pad 0 C_GPIO0 [FSPI_DO] GPIO SDIO3_D0
    pad 1 C_GPIO1 [FSPI_DI] GPIO SDIO3_D1
    pad 2 C_GPIO2 [FSPI_WP] GPIO SDIO3_D2
    pad 3 C_GPIO3 [FSPI_HOLD] GPIO SDIO3_D3
    pad 4 C_GPIO4 [GPIO] SDIO3_D4 PWM0_4
    pad 5 C_GPIO5 [GPIO] SDIO3_D5 PWM1_4
    pad 6 C_GPIO6 [GPIO] SDIO3_D6 PWM2_4
    pad 7 C_GPIO7 [GPIO] SDIO3_D7 PWM3_4
    pad 8 C_GPIO8 [FSPI_CLK] GPIO SDIO3_CLK
    pad 9 C_GPIO9 [GPIO] SDIO3_CMD SP_CLK2_2
    pad 10 C_GPIO10 [FSPI_CS] GPIO
    pad 11 C_GPIO11 [GPIO] DMCLK_3 I2C3_2_SCL I2S_MCLK_2 PWM4_2 SDIO_CLK SPI3_2_CLK
    pad 12 C_GPIO12 [GPIO] DMDAT0_3 I2C3_2_SDA I2S_BCLK_2 PWM5_2 SDIO_CMD SPI3_2_DO
    pad 13 C_GPIO13 [GPIO] DMDAT1_3 UART2_2_CTS I2S_SYNC_2
    PWM0_2 SDIO_D0 SPI3_2_CS
    pad 14 C_GPIO14 [GPIO] SPI3_2_DI UART2_2_RTS I2S_SDATAO_2 PWM1_2 REMOTE_IN_2 SDIO_D1
    pad 15 C_GPIO15 [GPIO] REMOTE_EXT SPI_CH3_RDY I2S_SDATAI_2 PWM2_2 SDIO_D2 UART2_2_TX
    pad 16 C_GPIO16 [GPIO] PWM3_2 SDIO_D3 UART2_2_RX
    pad 17 C_GPIO17 [GPIO] I2C2_2_SCL PWM6_2 SDIO2_CLK SPI_1_CLK
    pad 18 C_GPIO18 [GPIO] I2C2_2_SDA PWM7_2 SDIO2_CMD SPI_1_DO
    pad 19 C_GPIO19 [PWM8_2] GPIO UART3_2_CTS SDIO2_D0 SPI_1_CS
    pad 20 C_GPIO20 [PWM9_2] GPIO SPI_1_DI UART3_2_RTS SDIO2_D1
    pad 21 C_GPIO21 [UART3_2_TX] GPIO PWM10_2 SDIO2_D2
    pad 22 C_GPIO22 [UART3_2_RX] GPIO PWM11_2 SDIO2_D3
    pad 32 P_GPIO0 [GPIO] ETH_RMII_2 PWM0_1 SENSOR_CCIR16BITS SPI2_2_CS UART2_3_TX SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2ND
    pad 33 P_GPIO1 [GPIO] ETH_RMII_2 PWM1_1 SENSOR_CCIR16BITS SPI2_2_CLK UART2_3_RX SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2ND
    pad 34 P_GPIO2 [GPIO] UART2_3_RTS ETH_RMII_2 PWM2_1 SENSOR_CCIR16BITS SPI2_2_DO SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2ND
    pad 35 P_GPIO3 [GPIO] SPI2_2_DI UART2_3_CTS ETH_RMII_2 PWM3_1 SENSOR_CCIR16BITS SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2ND
    pad 36 P_GPIO4 [GPIO] ETH_RMII_2 PWM4_1 SENSOR_CCIR16BITS SPI3_3_CS UART3_3_TX SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2ND
    pad 37 P_GPIO5 [GPIO] ETH_RMII_2 PWM5_1 SENSOR_CCIR16BITS SPI3_3_CLK UART3_3_RX SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2ND
    pad 38 P_GPIO6 [GPIO] UART3_3_RTS PWM6_1 SENSOR_CCIR16BITS SPI3_3_DO SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2NDpad 39 P_GPIO7 [GPIO] ETH_EXTPHYCLK SPI3_3_DI UART3_3_CTS PWM7_1 SB4_CS SENSOR_CCIR16BITS SENSOR2_12BITS SENSOR2_CCIR8BITS SENSOR_12BITS_2ND
    pad 40 P_GPIO8 [GPIO] SPI_CH3_RDY ETH_RMII_2 I2S_MCLK_1 PWM8_1 SB4_CK SENSOR2_CCIR8BITS SENSOR2_12BITS SENSOR_12BITS_2ND
    pad 41 P_GPIO9 [GPIO] ETH_MDIO_2 I2S_BCLK_1 PWM9_1 SB4_DAT SENSOR2_CCIR8BITS SENSOR2_12BITS SENSOR_12BITS_2ND
    pad 42 P_GPIO10 [GPIO] ETH_MDIO_2 I2S_SYNC_1 PWM10_1 SB3_1_CS SENSOR2_CCIR8BITS SENSOR2_12BITS SENSOR_12BITS_2ND
    pad 43 P_GPIO11 [GPIO] I2S_SDATAO_1 PWM11_1 SB3_1_CK SENSOR2_CCIR8BITS SENSOR2_12BITS SENSOR_12BITS_2ND
    pad 44 P_GPIO12 [GPIO] SENSOR2_SN3_MCLK SPI_CH3_RDY I2S_SDATAI_1 PICNT_1 SB3_1_DAT SENSOR2_12BITS SENSOR_12BITS_2ND
    pad 45 P_GPIO13 [GPIO]
    pad 46 P_GPIO14 [GPIO]
    pad 47 P_GPIO15 [GPIO]
    pad 48 P_GPIO16 [GPIO]
    pad 49 P_GPIO17 [UART2_1_TX] GPIO DMDAT0_1 PICNT3_1 REMOTE_IN_1 SB3_2_CS SPI3_1_CS
    pad 50 P_GPIO18 [UART2_1_RX] GPIO DMDAT1_1 REMOTE_EXT PICNT_2 SB3_2_CK SPI3_1_CLK
    pad 51 P_GPIO19 [GPIO] DMCLK_1 UART2_1_RTS PICNT2_2 RTC_CLK SB3_2_DAT SPI3_1_DO
    pad 52 P_GPIO20 [GPIO] SPI3_1_DI UART2_1_CTS PICNT3_2 SP_CLK_1
    pad 53 P_GPIO21 [I2C3_1_SDA] GPIO SP_CLK2_1
    pad 54 P_GPIO22 [I2C3_1_SCL] GPIO
    pad 55 P_GPIO23 [UART_TX] GPIO
    pad 56 P_GPIO24 [UART_RX] GPIO
    pad 57 P_GPIO25 [GPIO]
    pad 64 S_GPIO0 [SENSOR_MCLK] GPIO SDIO2_CLK UART3_4_TXpad 65 S_GPIO1 [GPIO] SENSOR_MCLK2 SENSOR_CCIR16BITS PWM0_3 SDIO2_CMD SENSOR_12BITS SENSOR_CCIR8BITS UART3_4_RX
    pad 66 S_GPIO2 [GPIO] SENSOR_CCIR16BITS PWM1_3 SDIO2_D0 SENSOR_12BITS SENSOR_12BITS_2ND SENSOR_CCIR8BITS SENSOR_LVDS_VDHD
    pad 67 S_GPIO3 [GPIO] SENSOR_CCIR16BITS PWM2_3 SB2_CS
    SDIO2_D1 SENSOR_12BITS SENSOR_12BITS_2ND SENSOR_CCIR8BITS SENSOR_LVDS_VDHD
    pad 68 S_GPIO4 [I2C2_1_SCL] GPIO PWM3_3 SB2_CK SENSOR2_12BITS SENSOR2_LVDS_VDHD UART3_5_TX
    pad 69 S_GPIO5 [I2C2_1_SDA] GPIO SPI_2_DI PWM4_3 SB2_DAT SENSOR2_12BITS SENSOR2_LVDS_VDHD UART3_5_RX
    pad 70 S_GPIO6 [GPIO] PWM5_3 SB_CS SPI_2_CS
    pad 71 S_GPIO7 [I2C_SCL_1] GPIO SENSOR_CCIR16BITS PWM6_3 SB_CK SDIO2_D2 SENSOR_CCIR8BITS SPI_2_CLK
    pad 72 S_GPIO8 [I2C_SDA_1] GPIO PWM7_3 SB_DAT SDIO2_D3 SENSOR2_MCLK_2ND SPI_2_DO
    pad 96 L_GPIO0 [GPIO] LCD_DE_ENABLE PWM11_5
    pad 97 L_GPIO1 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_HVLD_VVLD LCD_PARALLE_RGB565 LCD_RGB_16BITS PICNT2_1
    pad 98 L_GPIO2 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_HVLD_VVLD LCD_PARALLE_RGB565 LCD_RGB_16BITS SP_CLK_2
    pad 99 L_GPIO3 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_FIELD LCD_PARALLE_RGB565 LCD_RGB_16BITS
    pad 100 L_GPIO4 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_PARALLE_RGB565 LCD_RGB_16BITS
    pad 101 L_GPIO5 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_PARALLE_RGB565 LCD_RGB_16BITS
    pad 102 L_GPIO6 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_PARALLE_RGB565 LCD_RGB_16BITS
    pad 103 L_GPIO7 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_PARALLE_RGB565 LCD_RGB_16BITS
    pad 104 L_GPIO8 [GPIO] LCD_CCIR601_16BITS LCD_CCIR656_16BITS LCD_PARALLE_RGB565 LCD_RGB_16BITS
    pad 105 L_GPIO9 [GPIO]
    pad 128 D_GPIO0 [GPIO] ETH_LED1
    pad 129 D_GPIO1 [GPIO] ETH_LED1
    pad 130 D_GPIO2 [GPIO]
    pad 131 D_GPIO3 [GPIO] PWM4_4 SB3_3_CS SP_CLK_3
    pad 132 D_GPIO4 [GPIO] PWM5_4 SB3_3_CK SP_CLK2_3
    pad 133 D_GPIO5 [ETH_LED2] GPIO PWM6_4 SB3_3_DAT
    pad 134 D_GPIO6 [ETH_LED2] GPIO PWM7_4
    pad 135 D_GPIO7 [GPIO] PWM11_4
    pad 160 H_GPIO0 [MIPI_LVDS_DAT0] GPIO SENSOR_CCIR_2 SENSOR_12BITS
    pad 161 H_GPIO1 [MIPI_LVDS_DAT0] GPIO SENSOR_CCIR_2 SENSOR_12BITS
    pad 162 H_GPIO2 [MIPI_LVDS_DAT1] GPIO SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 163 H_GPIO3 [MIPI_LVDS_DAT1] GPIO SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 164 H_GPIO4 [MIPI_LVDS_CLK0] GPIO SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 165 H_GPIO5 [MIPI_LVDS_CLK0] GPIO SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 166 H_GPIO6 [MIPI_LVDS_DAT2] GPIO PWM8_3 SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 167 H_GPIO7 [MIPI_LVDS_DAT2] GPIO PWM9_3 SENSOR_LVDS_VDHD2 SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 168 H_GPIO8 [MIPI_LVDS_DAT3] GPIO PWM10_3 SENSOR_LVDS_VDHD2 SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 169 H_GPIO9 [MIPI_LVDS_DAT3] GPIO I2C_2_SCL PWM11_3 SENSOR_12BITS SENSOR_CCIR16BITS SENSOR_CCIR8BITS
    pad 170 H_GPIO10 [GPIO] SENSOR_CCIR_2 I2C_2_SDA SENSOR_12BITS MIPI_LVDS_CLK1
    pad 171 H_GPIO11 [GPIO] SENSOR_MCLK_2ND SENSOR_CCIR_2 SENSOR_12BITS MIPI_LVDS_CLK1
    pad 192 A_GPIO0 [GPIO]
    pad 193 A_GPIO1 [GPIO]
    pad 194 A_GPIO2 [GPIO]
    pad 224 DSI_GPIO0 [GPIO] LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_8BITS ETH_MDIO PWM0_5 UART3_1_TX
    pad 225 DSI_GPIO1 [GPIO] LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_8BITS ETH_MDIO PWM1_5 UART3_1_RX
    pad 226 DSI_GPIO2 [GPIO] LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_6BITS LCD_SERIAL_RGB_8BITS UART3_1_RTS ETH_RMII PWM2_5 SDIO2_D0
    pad 227 DSI_GPIO3 [GPIO] LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_6BITS LCD_SERIAL_RGB_8BITS UART3_1_CTS ETH_RMII PWM3_5 SDIO2_D1
    pad 228 DSI_GPIO4 [PWM4_5] GPIO LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_6BITS LCD_SERIAL_RGB_8BITS ETH_RMII SDIO2_D2 SPI2_1_CS
    pad 229 DSI_GPIO5 [PWM5_5] GPIO LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_6BITS LCD_SERIAL_RGB_8BITS ETH_RMII SDIO2_D3 SPI2_1_CLK
    pad 230 DSI_GPIO6 [GPIO] LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_6BITS LCD_SERIAL_RGB_8BITS PWM6_5 SDIO2_CMD SPI2_1_DO
    pad 231 DSI_GPIO7 [GPIO] LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_6BITS LCD_SERIAL_RGB_8BITS SPI2_1_DI ETH_RMII PWM7_5 SDIO2_CLK
    pad 232 DSI_GPIO8 [GPIO] DMDAT0_2 LCD_NO_HVSYNC ETH_RMII
    I2C3_3_SDA PWM8_5
    pad 233 DSI_GPIO9 [GPIO] DMDAT1_2 LCD_NO_HVSYNC ETH_RMII
    ETH_MDIO I2C3_3_SCL PWM9_5
    pad 234 DSI_GPIO10 [GPIO] LCD_TE_ENABLE DMCLK_2 LCD_CCIR601 LCD_CCIR656 LCD_PARALLE_RGB565 LCD_PARALLE_RGB888 LCD_RGB_16BITS LCD_SERIAL_RGB_6BITS LCD_SERIAL_RGB_8BITS ETH_EXTPHYCLK ETH_MDIO PWM10_5

  4. sansarus commented on Oct 10, 2026

    @sansarus
    MemberAuthor

    ./ipctool reginfo
    muxctrl_reg0 0xf0010000 0x2 TOP_REG0
    muxctrl_reg1 0xf0010004 0x2000 TOP_REG1
    muxctrl_reg2 0xf0010008 0 [TOP_REG2]
    muxctrl_reg3 0xf001000c 0x105 TOP_REG3
    muxctrl_reg4 0xf0010010 0 [TOP_REG4]
    muxctrl_reg5 0xf0010014 0x51 TOP_REG5
    muxctrl_reg6 0xf0010018 0x124000 TOP_REG6
    muxctrl_reg7 0xf001001c 0x2d000 TOP_REG7
    muxctrl_reg8 0xf0010020 0x1 TOP_REG8
    muxctrl_reg9 0xf0010024 0x25 TOP_REG9
    muxctrl_reg10 0xf0010028 0 [TOP_REG10]
    muxctrl_reg11 0xf00100a0 0x7faf0 TOP_CGPIO
    muxctrl_reg12 0xf00100a8 0x219ffff TOP_PGPIO
    muxctrl_reg13 0xf00100b0 0x1e4e TOP_SGPIO
    muxctrl_reg14 0xf00100b8 0x3ff TOP_LGPIO
    muxctrl_reg15 0xf00100d0 0x79f TOP_DGPIO
    muxctrl_reg16 0xf00100d8 0xc00 TOP_HGPIO
    muxctrl_reg17 0xf00100e0 0x7 TOP_AGPIO
    muxctrl_reg18 0xf00100e8 0x7cf TOP_DSIGPIO

  5. sansarus commented on Oct 10, 2026

    @sansarus
    MemberAuthor

    cat /proc/nvt_info/nvt_pinmux/pinmux_summary
    &top {
    sdio{pinmux=<0x0>;};
    sdio2{pinmux=<0x0>;};
    sdio3{pinmux=<0x0>;};
    nand{pinmux=<0x4>;};
    sensor{pinmux=<0x220>;};
    sensor2{pinmux=<0x0>;};
    mipi_lvds{pinmux=<0xf01>;};
    i2c{pinmux=<0x51>;};
    sif{pinmux=<0x0>;};
    uart{pinmux=<0xa5>;};
    spi{pinmux=<0x0>;};
    sdp{pinmux=<0x0>;};
    remote{pinmux=<0x0>;};
    pwm{pinmux=<0x4200000>;};
    pwm2{pinmux=<0x210>;};
    ccnt{pinmux=<0x0>;};
    audio{pinmux=<0x0>;};
    lcd{pinmux=<0x10000000>;};
    tv{pinmux=<0x0>;};
    eth{pinmux=<0x22>;};
    misc{pinmux=<0x22>;};
    };

  6. sansarus commented on Oct 10, 2026

    @sansarus
    MemberAuthor

    cat /proc/nvt_info/nvt_pinmux/chip_id
    0x7021

  7. widgetii commented on Oct 10, 2026

    @widgetii
    Member

    Thank you, this is exactly what was needed. Your NT98566 output agrees with the kernel's own pinmux_summary on every pad:

    pinmux_summary meaning reginfo --pads
    nand 0x4 SPI NAND C_GPIO0-3, 8, 10 = FSPI_*
    sensor 0x220 MIPI + MCLK S_GPIO0 = SENSOR_MCLK
    mipi_lvds 0xf01 CLK0 + DAT0..3 H_GPIO0-9 = MIPI lanes; H10/11 GPIO
    i2c 0x51 CH1, CH2, CH3 S7/S8, S4/S5, P22/P21
    uart 0xa5 UART, UART2, UART3 on its 2nd location P23/24, P17/18, C21/22
    pwm 0x4200000 PWM8_2, PWM9_2 C_GPIO19/20
    pwm2 0x210 PWM4_5, PWM5_5 DSI_GPIO4/5
    lcd 0x10000000 location only, no panel all LCD pads GPIO
    eth 0x22 internal PHY, LED2 D_GPIO5/6 = ETH_LED2
    misc 0x22 SP clocks off —

    Every pad shown as carrying something is one the kernel configured, and every one it configured reads correctly. The raw gate bitmaps in reginfo agree too: for example, CGPIO 0x7faf0 has exactly bits 0-3, 8, 10 and 19-22 clear. That makes NA51089 the first Novatek die verified on hardware.

    If you have a minute, ipctool gpio scan while you toggle day/night mode in the web UI would also check the GPIO controller side. That is optional; the pad-mux side is done.

  8. sansarus commented on Oct 13, 2026

    @sansarus
    MemberAuthor

    ipctool gpio search
    and
    ioctool gpio set p_gpio8 1

    works yet

  9. widgetii commented on Oct 13, 2026

    @widgetii
    Member

    Thanks! I read "works yet" as "already works" (уже работает). If you meant "doesn't work yet", please say so and paste what it printed.

    Two notes:

    • There is no gpio search subcommand; with one it prints the usage. I assume you ran gpio scan.
    • To record the GPIO side as verified, I'd like the output itself, checked against something that isn't ipctool. On your board P_GPIO8 is Linux GPIO 40 (0x20 + 8):
    ipctool gpio set P_GPIO8 1
    ipctool gpio get P_GPIO8
    cat /sys/kernel/debug/gpio | grep -i -E "gpio-40 |gpio40"   # if debugfs is mounted
    ipctool gpio set P_GPIO8 0
    ipctool gpio get P_GPIO8
    

    From gpio scan, the first lines and any --> change lines you see while toggling day/night mode in the web UI would also help. If day/night changes a pad, that pad is the IR-cut, and its number is what possible ircut should report.

  10. sansarus commented on Oct 13, 2026

    @sansarus
    MemberAuthor

    работает. и работает правильно.
    с децимальной нумерацией в стоке группы и пины совпадают.

  11. widgetii commented on Oct 13, 2026

    @widgetii
    Member

    Спасибо! Отмечу в документации, что GPIO (gpio set/get/scan) на NT98566 работает и нумерация совпадает со стоковой прошивкой.

    Thanks! I'll note in the docs that GPIO (gpio set/get/scan) works on the NT98566 and its numbering matches the stock firmware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions