From 5a8e2b85af902d3af4a285c6a04d5fa8c74ccea5 Mon Sep 17 00:00:00 2001 From: leeboby Date: Wed, 23 Sep 2020 20:44:07 +0800 Subject: [PATCH] Support PC1/PI6/PI16 for Orange Pi Zero 2 --- examples/blink.c | 3 ++- gpio/OrangePi.c | 14 ++++++++++++-- wiringPi/OrangePi.c | 22 ++++++++++++++-------- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/examples/blink.c b/examples/blink.c index 77c0a97..39c2ab8 100644 --- a/examples/blink.c +++ b/examples/blink.c @@ -2,7 +2,8 @@ #include #define NUM 17 //26pin -//#define NUM 19 //for orangepi4 +#define NUM 20 //for Orange Pi Zero 2 +//#define NUM 19 //for Orange Pi 4 //#define NUM 28 //40pin int main (void) diff --git a/gpio/OrangePi.c b/gpio/OrangePi.c index f922b6f..6550e26 100755 --- a/gpio/OrangePi.c +++ b/gpio/OrangePi.c @@ -688,9 +688,12 @@ int physToWpi [64] = 12, 13, 14, 15, //23, 24 -1, 16, // 25, 26 + 17, -1, + 18, -1, + 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 56 - -1, -1, -1, -1, -1, -1, -1, // ... 63 + -1, // ... 63 }; @@ -711,6 +714,10 @@ char *physNames [64] = " MISO.1", "PC7 ", " SCLK.1", "CE.1 ", " GND", "PC10 ", + " PC1", " ", + " PI16", " ", + " PI6", " ", + NULL, NULL, NULL, NULL, @@ -963,8 +970,11 @@ void OrangePiReadAll(void) #if defined CONFIG_ORANGEPI_H3 || defined CONFIG_ORANGEPI_RK3399 || CONFIG_ORANGEPI_4 || CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_PRIME || CONFIG_ORANGEPI_WIN for (pin = 1 ; pin <= 40; pin += 2) -#elif CONFIG_ORANGEPI_LITE2 || CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_3 || CONFIG_ORANGEPI_ZERO || CONFIG_ORANGEPI_ZERO2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_R1 || CONFIG_ORANGEPI_ZEROPLUS2_H5 +#elif CONFIG_ORANGEPI_LITE2 || CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_3 || CONFIG_ORANGEPI_ZERO || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_R1 || CONFIG_ORANGEPI_ZEROPLUS2_H5 for (pin = 1 ; pin <= 26; pin += 2) + +#elif CONFIG_ORANGEPI_ZERO2 + for (pin = 1 ; pin <= 32; pin += 2) #endif readallPhys(pin); diff --git a/wiringPi/OrangePi.c b/wiringPi/OrangePi.c index 4dac610..919910d 100755 --- a/wiringPi/OrangePi.c +++ b/wiringPi/OrangePi.c @@ -962,12 +962,12 @@ int pinToGpioOrangePi [64] = { 229, 228, 73, 226, 227, 70, 75, 69, 72, 79, 78, 231, 232, - 71, 230, 233, 74, + 71, 230, 233, 74, 65, 272, 262, // Padding: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 47 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 63 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 63 }; int physToGpioOrangePi [64] = @@ -987,9 +987,12 @@ int physToGpioOrangePi [64] = 232, 71, 230, 233, -1, 74, // 25, 26 + 65, -1, + 272, -1, + 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 56 - -1, -1, -1, -1, -1, -1, -1, // ... 63 + -1, -1, -1, -1, // ... 63 } ; int physToPinOrangePi [64] = @@ -1008,24 +1011,27 @@ int physToPinOrangePi [64] = 12, 13, 14, 15, //23, 24 -1, 16, // 25, 26 + 17, -1, + 18, -1, + 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 56 - -1, -1, -1, -1, -1, -1, -1, // ... 63 + -1, // ... 63 }; int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX] { {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PA {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PB - {-1,-1,-1,-1,-1, 5, 6, 7, 8, 9,10,11,-1,-1,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PC + {-1, 1,-1,-1,-1, 5, 6, 7, 8, 9,10,11,-1,-1,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PC {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PD {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PE {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PF {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PG {-1,-1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PH - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PE - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PE - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PE + {-1,-1,-1,-1,-1,-1, 6,-1,-1,-1,-1,-1,-1,-1,-1,-1,16,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PI + {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PJ + {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PK {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PE }; #endif