mstar v56几路hdmi_Android TV : Mstar平台 GPIO 调试
1. GPIO狀態
cat /sys/kernel/debug/gpio
可以看到當前所有GPIO口的狀態,輸入輸出模式,輸出高/低
gpiochip0: GPIOs0-115, gpio:
gpio-0 ( |sysfs ) inhi
gpio-1 ( |sysfs ) inhi
gpio-2 ( |sysfs ) outlo
gpio-3 ( |sysfs ) inhi
gpio-4 ( |sysfs ) inhi
gpio-5 ( |sysfs ) outlo
gpio-6 ( |sysfs ) inhi
gpio-7 ( |sysfs ) outhi
gpio-8 ( |sysfs ) outlo
gpio-9 ( |sysfs ) inhi
gpio-10 ( |sysfs ) outhi
gpio-11 ( |sysfs ) inhi
gpio-12 ( |sysfs ) inhi
gpio-13 ( |sysfs ) outhi
gpio-14 ( |sysfs ) outhi
gpio-15 ( |sysfs ) outhi
gpio-16 ( |sysfs ) inhi
gpio-17 ( |sysfs ) inlo
gpio-18 ( |sysfs ) inlo
gpio-19 ( |sysfs ) inhi
gpio-20 ( |sysfs ) inlo
gpio-21 ( |sysfs ) inlo
gpio-22 ( |sysfs ) inhi
gpio-23 ( |sysfs ) inlo
gpio-24 ( |sysfs ) inlo
gpio-25 ( |sysfs ) inlo
gpio-26 ( |sysfs ) inlo
gpio-27 ( |sysfs ) inhi
gpio-28 ( |sysfs ) inhi
gpio-29 ( |sysfs ) inhi
gpio-30 ( |sysfs ) inhi
gpio-31 ( |sysfs ) inlo
gpio-32 ( |sysfs ) inhi
gpio-33 ( |sysfs ) inhi
gpio-34 ( |sysfs ) inlo
gpio-35 ( |sysfs ) outlo
gpio-36 ( |sysfs ) outlo
gpio-37 ( |sysfs ) outlo
gpio-38 ( |sysfs ) outlo
gpio-39 ( |sysfs ) inlo
gpio-40 ( |sysfs ) inhi
gpio-41 ( |sysfs ) inhi
gpio-42 ( |sysfs ) inhi
gpio-43 ( |sysfs ) inhi
gpio-44 ( |sysfs ) inlo
gpio-45 ( |sysfs ) outhi
gpio-46 ( |sysfs ) inhi
gpio-47 ( |sysfs ) outhi
gpio-48 ( |sysfs ) inhi
gpio-49 ( |sysfs ) outhi
gpio-50 ( |sysfs ) inhi
gpio-51 ( |sysfs ) inhi
gpio-52 ( |sysfs ) inlo
gpio-53 ( |sysfs ) outlo
gpio-54 ( |sysfs ) outhi
gpio-55 ( |sysfs ) outlo
gpio-56 ( |sysfs ) outhi
gpio-57 ( |sysfs ) outlo
gpio-58 ( |sysfs ) outhi
gpio-59 ( |sysfs ) inhi
gpio-60 ( |sysfs ) inhi
gpio-61 ( |sysfs ) outhi
gpio-64 ( |sysfs ) outhi
gpio-65 ( |sysfs ) outhi
gpio-66 ( |sysfs ) outhi
gpio-67 ( |sysfs ) outlo
gpio-68 ( |sysfs ) inhi
gpio-69 ( |sysfs ) inhi
gpio-70 ( |sysfs ) inhi
gpio-71 ( |sysfs ) inhi
gpio-72 ( |sysfs ) inhi
gpio-73 ( |sysfs ) inhi
gpio-74 ( |sysfs ) outlo
gpio-75 ( |sysfs ) outhi
gpio-76 ( |sysfs ) inhi
gpio-77 ( |sysfs ) inhi
gpio-78 ( |sysfs ) inhi
gpio-79 ( |sysfs ) inlo
gpio-80 ( |sysfs ) inhi
gpio-81 ( |sysfs ) inlo
gpio-82 ( |sysfs ) inlo
gpio-83 ( |sysfs ) outlo
gpio-84 ( |sysfs ) inlo
gpio-85 ( |sysfs ) inlo
gpio-86 ( |sysfs ) outhi
gpio-87 ( |sysfs ) outlo
gpio-88 ( |sysfs ) inhi
gpio-89 ( |sysfs ) outlo
gpio-90 ( |sysfs ) outlo
gpio-91 ( |sysfs ) outlo
gpio-92 ( |sysfs ) inhi
gpio-93 ( |sysfs ) inhi
gpio-94 ( |sysfs ) outhi
gpio-95 ( |sysfs ) outhi
gpio-96 ( |sysfs ) inlo
gpio-97 ( |scl ) inhi
gpio-98 ( |sda ) inhi
gpio-99 ( |sysfs ) inhi
gpio-100 ( |sysfs ) inhi
gpio-101 ( |sysfs ) inhi
gpio-102 ( |sysfs ) inlo
gpio-103 ( |sysfs ) inhi
gpio-104 ( |sysfs ) inhi
gpio-105 ( |sysfs ) inhi
gpio-106 ( |sysfs ) inhi
gpio-107 ( |sysfs ) inhi
gpio-108 ( |sysfs ) inhi
gpio-109 ( |sysfs ) inhi
gpio-110 ( |sysfs ) outlo
gpio-111 ( |sysfs ) outhi
gpio-112 ( |sysfs ) inhi
gpio-113 ( |sysfs ) inhi
gpio-114 ( |sysfs ) inhi
gpio-115 ( |sysfs ) in hi
例如: GPIO74 為 輸出 低電平(lo-低,hi-高)
gpio-74 ( |sysfs ) out lo
2. GPIO屬性
以gpio-16為例:
(1)direction :?IO 輸入/輸出模式
# cat /sys/devices/gpiochip0/gpio/gpio16/directionout
(2)active_low
# cat /sys/devices/gpiochip0/gpio/gpio16/active_low0
(3)value 當前電平高低
# cat /sys/devices/gpiochip0/gpio/gpio16/value0
手動拉高:
echo 1 > /sys/devices/gpiochip0/gpio/gpio16/value
手動拉低:
echo 0 > /sys/devices/gpiochip0/gpio/gpio16/value
3. reg 與 IO 映射
reg 和 pin ID映射 vendor\mstar\kernel\linaro\mstar2\hal\m7221\gpio\mhal_gpio.c
#define GPIO0_PAD PAD_IRIN
#define GPIO0_OEN 0x0f26, BIT0
#define GPIO0_OUT 0x0f26, BIT1
#define GPIO0_IN 0x0f26, BIT2
#define GPIO1_PAD PAD_CEC0
#define GPIO1_OEN 0x0f2a, BIT0
#define GPIO1_OUT 0x0f2a, BIT1
#define GPIO1_IN 0x0f2a, BIT2
#define GPIO2_PAD PAD_PWM_PM
#define GPIO2_OEN 0x0f28, BIT0
#define GPIO2_OUT 0x0f28, BIT1
#define GPIO2_IN 0x0f28, BIT2
#define GPIO3_PAD PAD_DDCA_CK
#define GPIO3_OEN 0x0494, BIT1
#define GPIO3_OUT 0x0494, BIT2
#define GPIO3_IN 0x0494, BIT0
#define GPIO4_PAD PAD_DDCA_DA
#define GPIO4_OEN 0x0494, BIT5
#define GPIO4_OUT 0x0494, BIT6
#define GPIO4_IN 0x0494, BIT4
#define GPIO5_PAD PAD_GPIO0_PM
#define GPIO5_OEN 0x0f00, BIT0
#define GPIO5_OUT 0x0f00, BIT1
#define GPIO5_IN 0x0f00, BIT2
#define GPIO6_PAD PAD_GPIO1_PM
#define GPIO6_OEN 0x0f02, BIT0
#define GPIO6_OUT 0x0f02, BIT1
#define GPIO6_IN 0x0f02, BIT2
#define GPIO7_PAD PAD_GPIO2_PM
#define GPIO7_OEN 0x0f04, BIT0
#define GPIO7_OUT 0x0f04, BIT1
#define GPIO7_IN 0x0f04, BIT2
#define GPIO8_PAD PAD_USB_CTRL
#define GPIO8_OEN 0x0f06, BIT0
#define GPIO8_OUT 0x0f06, BIT1
#define GPIO8_IN 0x0f06, BIT2
#define GPIO9_PAD PAD_GPIO5_PM
#define GPIO9_OEN 0x0f0a, BIT0
#define GPIO9_OUT 0x0f0a, BIT1
#define GPIO9_IN 0x0f0a, BIT2
#define GPIO10_PAD PAD_GPIO6_PM
#define GPIO10_OEN 0x0f0c, BIT0
#define GPIO10_OUT 0x0f0c, BIT1
#define GPIO10_IN 0x0f0c, BIT2
#define GPIO11_PAD PAD_GPIO7_PM
#define GPIO11_OEN 0x0f0e, BIT0
#define GPIO11_OUT 0x0f0e, BIT1
#define GPIO11_IN 0x0f0e, BIT2
#define GPIO12_PAD PAD_GPIO8_PM
#define GPIO12_OEN 0x0f10, BIT0
#define GPIO12_OUT 0x0f10, BIT1
#define GPIO12_IN 0x0f10, BIT2
#define GPIO13_PAD PAD_GPIO9_PM
#define GPIO13_OEN 0x0f12, BIT0
#define GPIO13_OUT 0x0f12, BIT1
#define GPIO13_IN 0x0f12, BIT2
#define GPIO14_PAD PAD_GPIO10_PM
#define GPIO14_OEN 0x0f14, BIT0
#define GPIO14_OUT 0x0f14, BIT1
#define GPIO14_IN 0x0f14, BIT2
#define GPIO15_PAD PAD_GPIO11_PM
#define GPIO15_OEN 0x0f16, BIT0
#define GPIO15_OUT 0x0f16, BIT1
#define GPIO15_IN 0x0f16, BIT2
#define GPIO16_PAD PAD_GPIO12_PM
#define GPIO16_OEN 0x0f18, BIT0
#define GPIO16_OUT 0x0f18, BIT1
#define GPIO16_IN 0x0f18, BIT2
#define GPIO17_PAD PAD_HOTPLUGA
#define GPIO17_OEN 0x0e4e, BIT0
#define GPIO17_OUT 0x0e4e, BIT4
#define GPIO17_IN 0x0e4f, BIT0
#define GPIO18_PAD PAD_HOTPLUGB
#define GPIO18_OEN 0x0e4e, BIT1
#define GPIO18_OUT 0x0e4e, BIT5
#define GPIO18_IN 0x0e4f, BIT1
#define GPIO19_PAD PAD_HOTPLUGC
#define GPIO19_OEN 0x0e4e, BIT2
#define GPIO19_OUT 0x0e4e, BIT6
#define GPIO19_IN 0x0e4f, BIT2
#define GPIO20_PAD PAD_HOTPLUGA_HDMI20_5V
#define GPIO20_OEN 0x010218, BIT5
#define GPIO20_OUT 0x010218, BIT4
#define GPIO20_IN 0x010218, BIT6
#define GPIO21_PAD PAD_HOTPLUGB_HDMI20_5V
#define GPIO21_OEN 0x010318, BIT5
#define GPIO21_OUT 0x010318, BIT4
#define GPIO21_IN 0x010318, BIT6
#define GPIO22_PAD PAD_HOTPLUGC_HDMI20_5V
#define GPIO22_OEN 0x010418, BIT5
#define GPIO22_OUT 0x010418, BIT4
#define GPIO22_IN 0x010418, BIT6
#define GPIO23_PAD PAD_DDCDA_CK
#define GPIO23_OEN 0x0496, BIT1
#define GPIO23_OUT 0x0496, BIT2
#define GPIO23_IN 0x0496, BIT0
#define GPIO24_PAD PAD_DDCDA_DA
#define GPIO24_OEN 0x0496, BIT5
#define GPIO24_OUT 0x0496, BIT6
#define GPIO24_IN 0x0496, BIT4
#define GPIO25_PAD PAD_DDCDB_CK
#define GPIO25_OEN 0x0497, BIT1
#define GPIO25_OUT 0x0497, BIT2
#define GPIO25_IN 0x0497, BIT0
#define GPIO26_PAD PAD_DDCDB_DA
#define GPIO26_OEN 0x0497, BIT5
#define GPIO26_OUT 0x0497, BIT6
#define GPIO26_IN 0x0497, BIT4
#define GPIO27_PAD PAD_DDCDC_CK
#define GPIO27_OEN 0x0498, BIT1
#define GPIO27_OUT 0x0498, BIT2
#define GPIO27_IN 0x0498, BIT0
#define GPIO28_PAD PAD_DDCDC_DA
#define GPIO28_OEN 0x0498, BIT5
#define GPIO28_OUT 0x0498, BIT6
#define GPIO28_IN 0x0498, BIT4
#define GPIO29_PAD PAD_SAR0
#define GPIO29_OEN 0x1423, BIT0
#define GPIO29_OUT 0x1424, BIT0
#define GPIO29_IN 0x1425, BIT0
#define GPIO30_PAD PAD_SAR1
#define GPIO30_OEN 0x1423, BIT1
#define GPIO30_OUT 0x1424, BIT1
#define GPIO30_IN 0x1425, BIT1
#define GPIO31_PAD PAD_SAR2
#define GPIO31_OEN 0x1423, BIT2
#define GPIO31_OUT 0x1424, BIT2
#define GPIO31_IN 0x1425, BIT2
#define GPIO32_PAD PAD_SAR3
#define GPIO32_OEN 0x1423, BIT3
#define GPIO32_OUT 0x1424, BIT3
#define GPIO32_IN 0x1425, BIT3
#define GPIO33_PAD PAD_SAR4
#define GPIO33_OEN 0x1423, BIT4
#define GPIO33_OUT 0x1424, BIT4
#define GPIO33_IN 0x1425, BIT4
#define GPIO34_PAD PAD_VPLUGIN
#define GPIO34_OEN 0x1423, BIT5
#define GPIO34_OUT 0x1424, BIT5
#define GPIO34_IN 0x1425, BIT5
#define GPIO35_PAD PAD_VID0
#define GPIO35_OEN 0x2e84, BIT1
#define GPIO35_OUT 0x2e84, BIT0
#define GPIO35_IN 0x2e84, BIT2
#define GPIO36_PAD PAD_VID1
#define GPIO36_OEN 0x2e85, BIT1
#define GPIO36_OUT 0x2e85, BIT0
#define GPIO36_IN 0x2e85, BIT2
#define GPIO37_PAD PAD_VID2
#define GPIO37_OEN 0x0f22, BIT0
#define GPIO37_OUT 0x0f22, BIT1
#define GPIO37_IN 0x0f22, BIT2
#define GPIO38_PAD PAD_VID3
#define GPIO38_OEN 0x0f24, BIT0
#define GPIO38_OUT 0x0f24, BIT1
#define GPIO38_IN 0x0f24, BIT2
#define GPIO39_PAD PAD_WOL_INT_OUT
#define GPIO39_OEN 0x2e82, BIT1
#define GPIO39_OUT 0x2e82, BIT0
#define GPIO39_IN 0x2e82, BIT2
#define GPIO40_PAD PAD_I2S_IN_BCK
#define GPIO40_OEN 0x0f3e, BIT0
#define GPIO40_OUT 0x0f3e, BIT1
#define GPIO40_IN 0x0f3e, BIT2
#define GPIO41_PAD PAD_I2S_IN_WS
#define GPIO41_OEN 0x0f40, BIT0
#define GPIO41_OUT 0x0f40, BIT1
#define GPIO41_IN 0x0f40, BIT2
#define GPIO42_PAD PAD_I2S_IN_MCK
#define GPIO42_OEN 0x0f42, BIT0
#define GPIO42_OUT 0x0f42, BIT1
#define GPIO42_IN 0x0f42, BIT2
#define GPIO43_PAD PAD_I2S_IN_SD0
#define GPIO43_OEN 0x0f44, BIT0
#define GPIO43_OUT 0x0f44, BIT1
#define GPIO43_IN 0x0f44, BIT2
#define GPIO44_PAD PAD_I2S_IN_SD1
#define GPIO44_OEN 0x0f46, BIT0
#define GPIO44_OUT 0x0f46, BIT1
#define GPIO44_IN 0x0f46, BIT2
#define GPIO45_PAD PAD_CILINK_DEMOD0_CLK
#define GPIO45_OEN 0x102b13, BIT1
#define GPIO45_OUT 0x102b13, BIT0
#define GPIO45_IN 0x102b13, BIT2
#define GPIO46_PAD PAD_CILINK_DEMOD1_CLK
#define GPIO46_OEN 0x102b1a, BIT1
#define GPIO46_OUT 0x102b1a, BIT0
#define GPIO46_IN 0x102b1a, BIT2
#define GPIO47_PAD PAD_CILINK_INT
#define GPIO47_OEN 0x102b12, BIT1
#define GPIO47_OUT 0x102b12, BIT0
#define GPIO47_IN 0x102b12, BIT2
#define GPIO48_PAD PAD_CILINK_RX0_D0
#define GPIO48_OEN 0x102b18, BIT1
#define GPIO48_OUT 0x102b18, BIT0
#define GPIO48_IN 0x102b18, BIT2
#define GPIO49_PAD PAD_CILINK_RX0_D1
#define GPIO49_OEN 0x102b19, BIT1
#define GPIO49_OUT 0x102b19, BIT0
#define GPIO49_IN 0x102b19, BIT2
#define GPIO50_PAD PAD_CILINK_RX1_D0
#define GPIO50_OEN 0x102ba1, BIT1
#define GPIO50_OUT 0x102ba1, BIT0
#define GPIO50_IN 0x102ba1, BIT2
#define GPIO51_PAD PAD_CILINK_RX1_D1
#define GPIO51_OEN 0x102ba2, BIT1
#define GPIO51_OUT 0x102ba2, BIT0
#define GPIO51_IN 0x102ba2, BIT2
#define GPIO52_PAD PAD_CILINK_RX_CLK
#define GPIO52_OEN 0x102b17, BIT1
#define GPIO52_OUT 0x102b17, BIT0
#define GPIO52_IN 0x102b17, BIT2
#define GPIO53_PAD PAD_CILINK_SPI_CLK
#define GPIO53_OEN 0x102b0e, BIT1
#define GPIO53_OUT 0x102b0e, BIT0
#define GPIO53_IN 0x102b0e, BIT2
#define GPIO54_PAD PAD_CILINK_SPI_CS
#define GPIO54_OEN 0x102b11, BIT1
#define GPIO54_OUT 0x102b11, BIT0
#define GPIO54_IN 0x102b11, BIT2
#define GPIO55_PAD PAD_CILINK_SPI_MISO
#define GPIO55_OEN 0x102b10, BIT1
#define GPIO55_OUT 0x102b10, BIT0
#define GPIO55_IN 0x102b10, BIT2
#define GPIO56_PAD PAD_CILINK_SPI_MOSI
#define GPIO56_OEN 0x102b0f, BIT1
#define GPIO56_OUT 0x102b0f, BIT0
#define GPIO56_IN 0x102b0f, BIT2
#define GPIO57_PAD PAD_CILINK_TX0_D0
#define GPIO57_OEN 0x102b15, BIT1
#define GPIO57_OUT 0x102b15, BIT0
#define GPIO57_IN 0x102b15, BIT2
#define GPIO58_PAD PAD_CILINK_TX0_D1
#define GPIO58_OEN 0x102b16, BIT1
#define GPIO58_OUT 0x102b16, BIT0
#define GPIO58_IN 0x102b16, BIT2
#define GPIO59_PAD PAD_CILINK_TX1_D0
#define GPIO59_OEN 0x102b1b, BIT1
#define GPIO59_OUT 0x102b1b, BIT0
#define GPIO59_IN 0x102b1b, BIT2
#define GPIO60_PAD PAD_CILINK_TX1_D1
#define GPIO60_OEN 0x102ba0, BIT1
#define GPIO60_OUT 0x102ba0, BIT0
#define GPIO60_IN 0x102ba0, BIT2
#define GPIO61_PAD PAD_CILINK_TX_CLK
#define GPIO61_OEN 0x102b14, BIT1
#define GPIO61_OUT 0x102b14, BIT0
#define GPIO61_IN 0x102b14, BIT2
#define GPIO62_PAD PAD_DDCR_CK
#define GPIO62_OEN 0x102b87, BIT1
#define GPIO62_OUT 0x102b87, BIT0
#define GPIO62_IN 0x102b87, BIT2
#define GPIO63_PAD PAD_DDCR_DA
#define GPIO63_OEN 0x102b86, BIT1
#define GPIO63_OUT 0x102b86, BIT0
#define GPIO63_IN 0x102b86, BIT2
#define GPIO64_PAD PAD_GPIO2
#define GPIO64_OEN 0x102b00, BIT1
#define GPIO64_OUT 0x102b00, BIT0
#define GPIO64_IN 0x102b00, BIT2
#define GPIO65_PAD PAD_GPIO3
#define GPIO65_OEN 0x102b01, BIT1
#define GPIO65_OUT 0x102b01, BIT0
#define GPIO65_IN 0x102b01, BIT2
#define GPIO66_PAD PAD_GPIO4
#define GPIO66_OEN 0x102b02, BIT1
#define GPIO66_OUT 0x102b02, BIT0
#define GPIO66_IN 0x102b02, BIT2
#define GPIO67_PAD PAD_GPIO5
#define GPIO67_OEN 0x102b03, BIT1
#define GPIO67_OUT 0x102b03, BIT0
#define GPIO67_IN 0x102b03, BIT2
#define GPIO68_PAD PAD_GPIO9
#define GPIO68_OEN 0x102b04, BIT1
#define GPIO68_OUT 0x102b04, BIT0
#define GPIO68_IN 0x102b04, BIT2
#define GPIO69_PAD PAD_GPIO10
#define GPIO69_OEN 0x102b05, BIT1
#define GPIO69_OUT 0x102b05, BIT0
#define GPIO69_IN 0x102b05, BIT2
#define GPIO70_PAD PAD_GPIO11
#define GPIO70_OEN 0x102b06, BIT1
#define GPIO70_OUT 0x102b06, BIT0
#define GPIO70_IN 0x102b06, BIT2
#define GPIO71_PAD PAD_GPIO12
#define GPIO71_OEN 0x102b07, BIT1
#define GPIO71_OUT 0x102b07, BIT0
#define GPIO71_IN 0x102b07, BIT2
#define GPIO72_PAD PAD_GPIO19
#define GPIO72_OEN 0x102b08, BIT1
#define GPIO72_OUT 0x102b08, BIT0
#define GPIO72_IN 0x102b08, BIT2
#define GPIO73_PAD PAD_GPIO20
#define GPIO73_OEN 0x102b09, BIT1
#define GPIO73_OUT 0x102b09, BIT0
#define GPIO73_IN 0x102b09, BIT2
#define GPIO74_PAD PAD_GPIO25
#define GPIO74_OEN 0x102b0a, BIT1
#define GPIO74_OUT 0x102b0a, BIT0
#define GPIO74_IN 0x102b0a, BIT2
#define GPIO75_PAD PAD_GPIO26
#define GPIO75_OEN 0x102b0b, BIT1
#define GPIO75_OUT 0x102b0b, BIT0
#define GPIO75_IN 0x102b0b, BIT2
#define GPIO76_PAD PAD_GPIO30
#define GPIO76_OEN 0x102b0c, BIT1
#define GPIO76_OUT 0x102b0c, BIT0
#define GPIO76_IN 0x102b0c, BIT2
#define GPIO77_PAD PAD_GPIO31
#define GPIO77_OEN 0x102b0d, BIT1
#define GPIO77_OUT 0x102b0d, BIT0
#define GPIO77_IN 0x102b0d, BIT2
#define GPIO78_PAD PAD_HDMIRX_ARCTX
#define GPIO78_OEN 0x110320, BIT1
#define GPIO78_OUT 0x110320, BIT0
#define GPIO78_IN 0x110320, BIT2
#define GPIO79_PAD PAD_I2S_OUT_BCK
#define GPIO79_OEN 0x102b38, BIT1
#define GPIO79_OUT 0x102b38, BIT0
#define GPIO79_IN 0x102b38, BIT2
#define GPIO80_PAD PAD_I2S_OUT_MCK
#define GPIO80_OEN 0x102b39, BIT1
#define GPIO80_OUT 0x102b39, BIT0
#define GPIO80_IN 0x102b39, BIT2
#define GPIO81_PAD PAD_I2S_OUT_SD
#define GPIO81_OEN 0x102b3b, BIT1
#define GPIO81_OUT 0x102b3b, BIT0
#define GPIO81_IN 0x102b3b, BIT2
#define GPIO82_PAD PAD_I2S_OUT_SD1
#define GPIO82_OEN 0x102b3c, BIT1
#define GPIO82_OUT 0x102b3c, BIT0
#define GPIO82_IN 0x102b3c, BIT2
#define GPIO83_PAD PAD_I2S_OUT_SD2
#define GPIO83_OEN 0x102b3d, BIT1
#define GPIO83_OUT 0x102b3d, BIT0
#define GPIO83_IN 0x102b3d, BIT2
#define GPIO84_PAD PAD_I2S_OUT_WS
#define GPIO84_OEN 0x102b3a, BIT1
#define GPIO84_OUT 0x102b3a, BIT0
#define GPIO84_IN 0x102b3a, BIT2
#define GPIO85_PAD PAD_PWM0
#define GPIO85_OEN 0x102b88, BIT1
#define GPIO85_OUT 0x102b88, BIT0
#define GPIO85_IN 0x102b88, BIT2
#define GPIO86_PAD PAD_PWM1
#define GPIO86_OEN 0x102b89, BIT1
#define GPIO86_OUT 0x102b89, BIT0
#define GPIO86_IN 0x102b89, BIT2
#define GPIO87_PAD PAD_PWM2
#define GPIO87_OEN 0x102b8a, BIT1
#define GPIO87_OUT 0x102b8a, BIT0
#define GPIO87_IN 0x102b8a, BIT2
#define GPIO88_PAD PAD_PWM3
#define GPIO88_OEN 0x102b8b, BIT1
#define GPIO88_OUT 0x102b8b, BIT0
#define GPIO88_IN 0x102b8b, BIT2
#define GPIO89_PAD PAD_SD_CLK
#define GPIO89_OEN 0x102bfa, BIT1
#define GPIO89_OUT 0x102bfa, BIT0
#define GPIO89_IN 0x102bfa, BIT2
#define GPIO90_PAD PAD_SD_CMD
#define GPIO90_OEN 0x102bfb, BIT1
#define GPIO90_OUT 0x102bfb, BIT0
#define GPIO90_IN 0x102bfb, BIT2
#define GPIO91_PAD PAD_SD_D0
#define GPIO91_OEN 0x102bac, BIT1
#define GPIO91_OUT 0x102bac, BIT0
#define GPIO91_IN 0x102bac, BIT2
#define GPIO92_PAD PAD_SD_D1
#define GPIO92_OEN 0x102bad, BIT1
#define GPIO92_OUT 0x102bad, BIT0
#define GPIO92_IN 0x102bad, BIT2
#define GPIO93_PAD PAD_SD_D2
#define GPIO93_OEN 0x102bae, BIT1
#define GPIO93_OUT 0x102bae, BIT0
#define GPIO93_IN 0x102bae, BIT2
#define GPIO94_PAD PAD_SD_D3
#define GPIO94_OEN 0x102bf9, BIT1
#define GPIO94_OUT 0x102bf9, BIT0
#define GPIO94_IN 0x102bf9, BIT2
#define GPIO95_PAD PAD_SPDIF_IN
#define GPIO95_OEN 0x102b36, BIT1
#define GPIO95_OUT 0x102b36, BIT0
#define GPIO95_IN 0x102b36, BIT2
#define GPIO96_PAD PAD_SPDIF_OUT
#define GPIO96_OEN 0x102b37, BIT1
#define GPIO96_OUT 0x102b37, BIT0
#define GPIO96_IN 0x102b37, BIT2
#define GPIO97_PAD PAD_TGPIO0
#define GPIO97_OEN 0x102b8d, BIT1
#define GPIO97_OUT 0x102b8d, BIT0
#define GPIO97_IN 0x102b8d, BIT2
#define GPIO98_PAD PAD_TGPIO1
#define GPIO98_OEN 0x102b8e, BIT1
#define GPIO98_OUT 0x102b8e, BIT0
#define GPIO98_IN 0x102b8e, BIT2
#define GPIO99_PAD PAD_TGPIO2
#define GPIO99_OEN 0x102b8f, BIT1
#define GPIO99_OUT 0x102b8f, BIT0
#define GPIO99_IN 0x102b8f, BIT2
#define GPIO100_PAD PAD_TGPIO3
#define GPIO100_OEN 0x102b90, BIT1
#define GPIO100_OUT 0x102b90, BIT0
#define GPIO100_IN 0x102b90, BIT2
#define GPIO101_PAD PAD_TS1_CLK
#define GPIO101_OEN 0x102b27, BIT1
#define GPIO101_OUT 0x102b27, BIT0
#define GPIO101_IN 0x102b27, BIT2
#define GPIO102_PAD PAD_TS1_D0
#define GPIO102_OEN 0x102b31, BIT1
#define GPIO102_OUT 0x102b31, BIT0
#define GPIO102_IN 0x102b31, BIT2
#define GPIO103_PAD PAD_TS1_D1
#define GPIO103_OEN 0x102b30, BIT1
#define GPIO103_OUT 0x102b30, BIT0
#define GPIO103_IN 0x102b30, BIT2
#define GPIO104_PAD PAD_TS1_D2
#define GPIO104_OEN 0x102b2f, BIT1
#define GPIO104_OUT 0x102b2f, BIT0
#define GPIO104_IN 0x102b2f, BIT2
#define GPIO105_PAD PAD_TS1_D3
#define GPIO105_OEN 0x102b2e, BIT1
#define GPIO105_OUT 0x102b2e, BIT0
#define GPIO105_IN 0x102b2e, BIT2
#define GPIO106_PAD PAD_TS1_D4
#define GPIO106_OEN 0x102b2d, BIT1
#define GPIO106_OUT 0x102b2d, BIT0
#define GPIO106_IN 0x102b2d, BIT2
#define GPIO107_PAD PAD_TS1_D5
#define GPIO107_OEN 0x102b2c, BIT1
#define GPIO107_OUT 0x102b2c, BIT0
#define GPIO107_IN 0x102b2c, BIT2
#define GPIO108_PAD PAD_TS1_D6
#define GPIO108_OEN 0x102b2b, BIT1
#define GPIO108_OUT 0x102b2b, BIT0
#define GPIO108_IN 0x102b2b, BIT2
#define GPIO109_PAD PAD_TS1_D7
#define GPIO109_OEN 0x102b2a, BIT1
#define GPIO109_OUT 0x102b2a, BIT0
#define GPIO109_IN 0x102b2a, BIT2
#define GPIO110_PAD PAD_TS1_SYNC
#define GPIO110_OEN 0x102b28, BIT1
#define GPIO110_OUT 0x102b28, BIT0
#define GPIO110_IN 0x102b28, BIT2
#define GPIO111_PAD PAD_TS1_VLD
#define GPIO111_OEN 0x102b29, BIT1
#define GPIO111_OUT 0x102b29, BIT0
#define GPIO111_IN 0x102b29, BIT2
#define GPIO112_PAD PAD_TS2_CLK
#define GPIO112_OEN 0x102b35, BIT1
#define GPIO112_OUT 0x102b35, BIT0
#define GPIO112_IN 0x102b35, BIT2
#define GPIO113_PAD PAD_TS2_D0
#define GPIO113_OEN 0x102b32, BIT1
#define GPIO113_OUT 0x102b32, BIT0
#define GPIO113_IN 0x102b32, BIT2
#define GPIO114_PAD PAD_TS2_SYNC
#define GPIO114_OEN 0x102b34, BIT1
#define GPIO114_OUT 0x102b34, BIT0
#define GPIO114_IN 0x102b34, BIT2
#define GPIO115_PAD PAD_TS2_VLD
#define GPIO115_OEN 0x102b33, BIT1
#define GPIO115_OUT 0x102b33, BIT0
#define GPIO115_IN 0x102b33, BIT2
#define GPIO_EXT0_MSK 0x10190c, BIT7
#define GPIO_EXT0_POL 0x101914, BIT7
#define GPIO_EXT0_CLR 0x10191c, BIT7
#define GPIO_EXT0_STS 0x10191c, BIT7
#define GPIO_EXT1_MSK 0x10190c, BIT11
#define GPIO_EXT1_POL 0x101914, BIT11
#define GPIO_EXT1_CLR 0x10191c, BIT11
#define GPIO_EXT1_STS 0x10191c, BIT11
#define GPIO_EXT2_MSK 0x10190c, BIT15
#define GPIO_EXT2_POL 0x101914, BIT15
#define GPIO_EXT2_CLR 0x10191c, BIT15
#define GPIO_EXT2_STS 0x10191c, BIT15
#define GPIO_EXT3_MSK 0x10190e, BIT7
#define GPIO_EXT3_POL 0x101916, BIT7
#define GPIO_EXT3_CLR 0x10191e, BIT7
#define GPIO_EXT3_STS 0x10191e, BIT7
#define GPIO_EXT4_MSK 0x10190e, BIT8
#define GPIO_EXT4_POL 0x101916, BIT8
#define GPIO_EXT4_CLR 0x10191e, BIT8
#define GPIO_EXT4_STS 0x10191e, BIT8
#define GPIO_EXT5_MSK 0x10190e, BIT8
#define GPIO_EXT5_POL 0x101916, BIT8
#define GPIO_EXT5_CLR 0x10191e, BIT8
#define GPIO_EXT5_STS 0x10191e, BIT8
#define GPIO_EXT6_MSK 0x10190e, BIT10
#define GPIO_EXT6_POL 0x101916, BIT10
#define GPIO_EXT6_CLR 0x10191e, BIT10
#define GPIO_EXT6_STS 0x10191e, BIT10
#define GPIO_EXT7_MSK 0x10190e, BIT15
#define GPIO_EXT7_POL 0x101916, BIT15
#define GPIO_EXT7_CLR 0x10191e, BIT15
#define GPIO_EXT7_STS 0x10191e, BIT15
例如 PAD_IRIN,PAD_CEC0,PAD_PWM_PM是pin id,在 vendor\mstar\kernel\linaro\mstar2\hal\m7221\gpio\mhal_gpio_reg.h 中定義:
#define PAD_IRIN 0
#define PAD_CEC0 1
#define PAD_PWM_PM 2
#define PAD_DDCA_CK 3
#define PAD_DDCA_DA 4
#define PAD_GPIO0_PM 5
#define PAD_GPIO1_PM 6
#define PAD_GPIO2_PM 7
#define PAD_USB_CTRL 8
#define PAD_GPIO5_PM 9
#define PAD_GPIO6_PM 10
#define PAD_GPIO7_PM 11
#define PAD_GPIO8_PM 12
#define PAD_GPIO9_PM 13
#define PAD_GPIO10_PM 14
#define PAD_GPIO11_PM 15
#define PAD_GPIO12_PM 16
#define PAD_HOTPLUGA 17
#define PAD_HOTPLUGB 18
#define PAD_HOTPLUGC 19
#define PAD_HOTPLUGA_HDMI20_5V 20
#define PAD_HOTPLUGB_HDMI20_5V 21
#define PAD_HOTPLUGC_HDMI20_5V 22
#define PAD_DDCDA_CK 23
#define PAD_DDCDA_DA 24
#define PAD_DDCDB_CK 25
#define PAD_DDCDB_DA 26
#define PAD_DDCDC_CK 27
#define PAD_DDCDC_DA 28
#define PAD_SAR0 29
#define PAD_SAR1 30
#define PAD_SAR2 31
#define PAD_SAR3 32
#define PAD_SAR4 33
#define PAD_VPLUGIN 34
#define PAD_VID0 35
#define PAD_VID1 36
#define PAD_VID2 37
#define PAD_VID3 38
#define PAD_WOL_INT_OUT 39
#define PAD_I2S_IN_BCK 40
#define PAD_I2S_IN_WS 41
#define PAD_I2S_IN_MCK 42
#define PAD_I2S_IN_SD0 43
#define PAD_I2S_IN_SD1 44
#define PAD_CILINK_DEMOD0_CLK 45
#define PAD_CILINK_DEMOD1_CLK 46
#define PAD_CILINK_INT 47
#define PAD_CILINK_RX0_D0 48
#define PAD_CILINK_RX0_D1 49
#define PAD_CILINK_RX1_D0 50
#define PAD_CILINK_RX1_D1 51
#define PAD_CILINK_RX_CLK 52
#define PAD_CILINK_SPI_CLK 53
#define PAD_CILINK_SPI_CS 54
#define PAD_CILINK_SPI_MISO 55
#define PAD_CILINK_SPI_MOSI 56
#define PAD_CILINK_TX0_D0 57
#define PAD_CILINK_TX0_D1 58
#define PAD_CILINK_TX1_D0 59
#define PAD_CILINK_TX1_D1 60
#define PAD_CILINK_TX_CLK 61
#define PAD_DDCR_CK 62
#define PAD_DDCR_DA 63
#define PAD_GPIO2 64
#define PAD_GPIO3 65
#define PAD_GPIO4 66
#define PAD_GPIO5 67
#define PAD_GPIO9 68
#define PAD_GPIO10 69
#define PAD_GPIO11 70
#define PAD_GPIO12 71
#define PAD_GPIO19 72
#define PAD_GPIO20 73
#define PAD_GPIO25 74
#define PAD_GPIO26 75
#define PAD_GPIO30 76
#define PAD_GPIO31 77
#define PAD_HDMIRX_ARCTX 78
#define PAD_I2S_OUT_BCK 79
#define PAD_I2S_OUT_MCK 80
#define PAD_I2S_OUT_SD 81
#define PAD_I2S_OUT_SD1 82
#define PAD_I2S_OUT_SD2 83
#define PAD_I2S_OUT_WS 84
#define PAD_PWM0 85
#define PAD_PWM1 86
#define PAD_PWM2 87
#define PAD_PWM3 88
#define PAD_SD_CLK 89
#define PAD_SD_CMD 90
#define PAD_SD_D0 91
#define PAD_SD_D1 92
#define PAD_SD_D2 93
#define PAD_SD_D3 94
#define PAD_SPDIF_IN 95
#define PAD_SPDIF_OUT 96
#define PAD_TGPIO0 97
#define PAD_TGPIO1 98
#define PAD_TGPIO2 99
#define PAD_TGPIO3 100
#define PAD_TS1_CLK 101
#define PAD_TS1_D0 102
#define PAD_TS1_D1 103
#define PAD_TS1_D2 104
#define PAD_TS1_D3 105
#define PAD_TS1_D4 106
#define PAD_TS1_D5 107
#define PAD_TS1_D6 108
#define PAD_TS1_D7 109
#define PAD_TS1_SYNC 110
#define PAD_TS1_VLD 111
#define PAD_TS2_CLK 112
#define PAD_TS2_D0 113
#define PAD_TS2_SYNC 114
#define PAD_TS2_VLD 115
#define GPIO_OEN 0 //set o to nake output
#define GPIO_ODN 1
#define IN_HIGH 1 //input high
#define IN_LOW 0 //input low
#define OUT_HIGH 1 //output high
#define OUT_LOW 0 //output low
4. pin id 與芯片管腳映射
以GPIO16 為例:
vendor\mstar\kernel\linaro\mstar2\hal\m7221\gpio\mhal_gpio.c
#define GPIO16_PAD PAD_GPIO12_PM
supernova\projects\board\m7221\ChipInfo\MSD96BUXM8.h
#define BALL_U3 PAD_GPIO12_PM
#define PAD_GPIO12_PM 17
#define GPIO_PAD_17 GPIO16#ifndef BALL_U3_IS_GPIO#define BALL_U3_IS_GPIO 0
#endif #ifndef PAD_GPIO12_PM_IS_GPIO#define PAD_GPIO12_PM_IS_GPIO BALL_U3_IS_GPIO
#endif
其中BALL_U3即為芯片的管腳
總結
以上是生活随笔為你收集整理的mstar v56几路hdmi_Android TV : Mstar平台 GPIO 调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果7plus元件分布图_苹果iphon
- 下一篇: matplotlib 一张图多个图,如何