Part Number: PHYTC-3P-PHYCORE-AM335X
Hello,
I'm trying set a gpio pin (GPIO0[23]) always high on our custom board based of PHYCORE-AM335X using U-boot v2021.04(commit hash: b46dd116ce03e235f2a7d4843c6278e1da44b5e1 ). I configured my dts file as below by taking referrence from am335x-icev2.dts file
&am33xx_pinmux {
system_busy_light: system_busy_light{
pinctrl-single,pins = <
AM33XX_IOPAD(0x824, PIN_OUTPUT_PULLUP | MUX_MODE7)
>;
};
};
&gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&system_busy_light>;
status = "okay";
ti,no-reset-on-init;
p23 {
gpio-hog;
gpios = <23 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "SYSTEM_BUSY_LIGHT";
};
};
This didn't hogged the gpio pin.
Later tried to enable pin mux thru mux.c file and use "gpio set" command
static struct module_pin_mux shutdown_pin_mux[] = {
{OFFSET(gpmc_ad9), (MODE(7) | PULLUP_EN)}, /* SYSTEM BUSY LIGHT */
{-1},
};
void enable_board_pin_mux(void)
{
configure_module_pin_mux(shutdown_pin_mux);
}
When I stop the u-boot and use "gpio status -a" or "gpio set 23", I get these errors
GPIO: '23' not found
Command 'gpio' failed: Error -38
CONFIG_ARM=y
CONFIG_ARCH_CPU_INIT=y
CONFIG_ARCH_OMAP2PLUS=y
CONFIG_TI_COMMON_CMD_OPTIONS=y
CONFIG_AM33XX=y
CONFIG_TARGET_AM335X_base=y
CONFIG_SPL=y
CONFIG_SYS_EXTRA_OPTIONS=""
CONFIG_DEFAULT_DEVICE_TREE="am335x-base"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_SPL_LOAD_FIT=y
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_OF_BOARD_SETUP=y
CONFIG_SYS_PROMPT="base# "
CONFIG_BOOTCOMMAND="if test ${boot_fit} -eq 1; then run update_to_fit; fi;run findfdt; run init_console; run mmcboot"
CONFIG_AUTOBOOT_KEYED=y
CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
CONFIG_AUTOBOOT_DELAY_STR="d"
CONFIG_AUTOBOOT_STOP_STR=" "
CONFIG_LOGLEVEL=3
CONFIG_SYS_CONSOLE_INFO_QUIET=y
CONFIG_ARCH_MISC_INIT=y
CONFIG_SPL_ALLOC_BD=y
CONFIG_SPL_FIT_IMAGE_TINY=y
CONFIG_SPL_ETH_SUPPORT=y
#CONFIG_SPL_FS_EXT4 is not set
CONFIG_SPL_MTD_SUPPORT=y
CONFIG_SPL_MUSB_NEW_SUPPORT=y
CONFIG_SPL_NAND_DRIVERS=y
CONFIG_SPL_NAND_ECC=y
CONFIG_SPL_NAND_BASE=y
CONFIG_SPL_NET_SUPPORT=y
CONFIG_SPL_OS_BOOT=y
CONFIG_SPL_USB_GADGET=y
CONFIG_SPL_USB_ETHER=y
CONFIG_CMD_SPL=y
CONFIG_CMD_SPL_NAND_OFS=0x00080000
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_SETEXPR is not set
CONFIG_BOOTP_DNS2=y
CONFIG_CMD_MTDPARTS=y
# CONFIG_SPL_EFI_PARTITION is not set
CONFIG_OF_CONTROL=y
CONFIG_ENV_OVERWRITE=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
#CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_SPL_ENV_IS_NOWHERE=y
CONFIG_VERSION_VARIABLE=y
CONFIG_BOOTP_SEND_HOSTNAME=y
CONFIG_BOOTCOUNT_LIMIT=y
CONFIG_DFU=y
CONFIG_DFU_OVER_USB=y
CONFIG_DFU_MMC=y
CONFIG_DFU_MTD=y
CONFIG_DFU_NAND=y
CONFIG_DFU_RAM=y
CONFIG_DFU_SF=y
CONFIG_DFU_SF_PART=y
CONFIG_DFU_TIMEOUT=y
CONFIG_DFU_VIRTUAL=y
CONFIG_CMD_DFU=y
CONFIG_USB_FUNCTION_FASTBOOT=y
CONFIG_FASTBOOT_FLASH=y
CONFIG_FASTBOOT_FLASH_MMC_DEV=1
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
CONFIG_CMD_MMC=y
#CONFIG_CMD_NAND=y
#CONFIG_CMD_SF=y
CONFIG_CMD_SPI=y
CONFIG_CMD_I2C=y
#CONFIG_CMD_USB=y
CONFIG_CMD_GPIO=y
CONFIG_OMAP_GPIO=y
CONFIG_MISC=y
CONFIG_DM_MMC=y
CONFIG_DM=y
CONFIG_DM_GPIO=y
# CONFIG_MMC_HW_PARTITIONING is not set
CONFIG_MMC_OMAP_HS=y
CONFIG_MTD=y
CONFIG_MTD_RAW_NAND=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SF_DEFAULT_SPEED=24000000
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_PHY_ATHEROS=y
CONFIG_PHY_SMSC=y
CONFIG_DM_ETH=y
CONFIG_MII=y
CONFIG_DRIVER_TI_CPSW=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
CONFIG_OMAP3_SPI=y
CONFIG_USB=y
CONFIG_DM_USB=y
CONFIG_DM_USB_GADGET=y
CONFIG_SPL_DM_USB_GADGET=y
CONFIG_USB_MUSB_HOST=y
CONFIG_USB_MUSB_GADGET=y
CONFIG_USB_MUSB_TI=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
CONFIG_USB_GADGET_VENDOR_NUM=0x0451
CONFIG_USB_GADGET_PRODUCT_NUM=0xd022
CONFIG_USB_ETHER=y
CONFIG_WDT=y
CONFIG_SPL_BANNER_PRINT=n
# CONFIG_SPL_WDT is not set
CONFIG_DYNAMIC_CRC_TABLE=y
CONFIG_RSA=y
CONFIG_LZO=y
CONFIG_CONS_INDEX=3
CONFIG_SYS_NS16550=y
FYI: gpio-hog was working when I configured in my linux kernel (V5.10.65). I want set this particular gpio always high since the start of bootup.
Thanks in advance.