Browse Source

Support Orange Pi Zero Plus 2 (H3&H5)

pull/11/head
leeboby 5 years ago
parent
commit
4c16ef29b9
  1. 2
      build
  2. 4
      examples/blink.c
  3. 4
      examples/w25q64_test.c
  4. 18
      gpio/Makefile
  5. 271
      gpio/OrangePi.c
  6. 4
      gpio/gpio.c
  7. 18
      wiringPi/Makefile
  8. 12
      wiringPi/OrangePi.c
  9. 6
      wiringPi/OrangePi.h
  10. 2
      wiringPi/wiringPi.c
  11. 2
      wiringPi/wiringPiSPI.c

2
build

@ -49,7 +49,7 @@ select_boards()
local choice
local call=${1}
boards=("OrangePi_PC2" "OrangePi_ZEROPLUS" "OrangePi_PRIME" "OrangePi_A64" "OrangePi_ZERO" "OrangePi_H3" "OrangePi_LITE2" "OrangePi_H3_ZEROPLUS2" "OrangePi_3" "OrangePi_RK3399" "OrangePi_ONEPLUS" "OrangePi_4")
boards=("OrangePi_R1" "OrangePi_ZERO" "OrangePi_H3" "OrangePi_ZEROPLUS2_H3" "OrangePi_PC2" "OrangePi_PRIME" "OrangePi_ZEROPLUS" "OrangePi_ZEROPLUS2_H5" "OrangePi_A64" "OrangePi_3" "OrangePi_LITE2" "OrangePi_ONEPLUS" "OrangePi_4" "OrangePi_RK3399")
printf "All available boards:\n"
for var in ${boards[@]} ; do

4
examples/blink.c

@ -1,8 +1,8 @@
#include <stdio.h>
#include <wiringPi.h>
//#define NUM 17
#define NUM 28
#define NUM 17
//#define NUM 28
int main (void)
{

4
examples/w25q64_test.c

@ -13,8 +13,8 @@
#include <string.h>
#include "w25q64.h"
#define SPI_CHANNEL 0 // /dev/spidev0.0
//#define SPI_CHANNEL 1 // /dev/spidev0.1
//#define SPI_CHANNEL 0 // /dev/spidev0.0
#define SPI_CHANNEL 1 // /dev/spidev0.1
//
// 書込みデータのダンプリスト

18
gpio/Makefile

@ -50,7 +50,8 @@ ifeq ($(PLATFORM),)
#PLATFORM = OrangePi_H3
#PLATFORM = OrangePi_LITE2
PLATFORM = OrangePi_ONEPLUS
#PLATFORM = OrangePi_H3_ZEROPLUS2
#PLATFORM = OrangePi_ZEROPLUS2_H3
#PLATFORM = OrangePi_ZEROPLUS2_H5
#PLATFORM = OrangePi_3
#PLATFORM = OrangePi_RK3399
endif
@ -105,8 +106,13 @@ EXTRA_CFLAGS = -DCONFIG_ORANGEPI_3
EXTRA_CFLAGS += -DCONFIG_ORANGEPI
endif
ifeq ($(PLATFORM), OrangePi_H3_ZEROPLUS2)
EXTRA_CFLAGS = -DCONFIG_ORANGEPI_H3_ZEROPLUS2
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H3)
EXTRA_CFLAGS = -DCONFIG_ORANGEPI_ZEROPLUS2_H3
EXTRA_CFLAGS += -DCONFIG_ORANGEPI
endif
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H5)
EXTRA_CFLAGS = -DCONFIG_ORANGEPI_ZEROPLUS2_H5
EXTRA_CFLAGS += -DCONFIG_ORANGEPI
endif
@ -165,7 +171,11 @@ ifeq ($(PLATFORM), OrangePi_3)
SRC += OrangePi.c
endif
ifeq ($(PLATFORM), OrangePi_H3_ZEROPLUS2)
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H3)
SRC += OrangePi.c
endif
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H5)
SRC += OrangePi.c
endif

271
gpio/OrangePi.c

@ -37,26 +37,26 @@ char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" SDA.0", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "GND ",
" PWM1", "PC05 ",
" PWM.1", "PC05 ",
" GND", "PC06 ",
" RxD.2", "PD14 ",
" TxD.2", "GND ",
" RXD.2", "PD14 ",
" TXD.2", "GND ",
" CTS.2", "PC04 ",
" 3.3v", "PC07 ",
" 3.3V", "PC07 ",
" MOSI.1", "GND ",
" MISO.1", "RTS.2 ",
" SCLK.1", "CS.1 ",
" SCLK.1", "CE.1 ",
" GND", "PA21 ",
" SDA.1", "SCL.1 ",
" PA07", "GND ",
" PA08", "RTS.1 ",
" PA09", "GND ",
" PA10", "CTS.1 ",
" PD11", "TxD.1 ",
" GND", "RxD.1 ",
" PD11", "TXD.1 ",
" GND", "RXD.1 ",
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -101,18 +101,18 @@ char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" SDA.0", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "GND ",
" PWM1", "PC05 ",
" PWM.1", "PC05 ",
" GND", "PC06 ",
" RxD.2", "PD14 ",
" TxD.2", "GND ",
" RXD.2", "PD14 ",
" TXD.2", "GND ",
" CTS.2", "PC04 ",
" 3.3v", "PC07 ",
" 3.3V", "PC07 ",
" MOSI.1", "GND ",
" MISO.1", "RTS.2 ",
" SCLK.1", "CS.1 ",
" SCLK.1", "CE.1 ",
" GND", "PC08 ",
" SDA.1", "SCL.1 ",
" PA07", "GND ",
@ -168,18 +168,18 @@ char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" SDA.0", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "GND ",
" PA6", "TxD.1 ",
" GND", "RxD.1 ",
" PA6", "TXD.1 ",
" GND", "RXD.1 ",
" RXD.2", "PA07 ",
" TXD.2", "GND ",
" CTS.2", "SDA.1 ",
" 3.3v", "SCL.1 ",
" 3.3V", "SCL.1 ",
" MOSI.1", "GND ",
" MISO.1", "RTS.2 ",
" SCLK.1", "CS.1 ",
" SCLK.1", "CE.1 ",
" GND", "PA10 ",
NULL, NULL,
@ -208,26 +208,26 @@ char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "0v ",
" GPIO.7", "TxD2 ",
" 0v", "RxD2 ",
" RxD1", "GPIO.1 ",
" TxD1", "0v ",
" CTS1", "GPIO.4 ",
" 3.3v", "GPIO.5 ",
" SPI2_DI", "0v ",
"SPI2_DIO", "RTS1 ",
"SPI2_CLK", "SPI2_CS0",
" 0v", "SPI2_CS1",
" SCL.0", "GND ",
" GPIO.7", "TXD.2 ",
" GND", "RXD.2 ",
" RXD.1", "GPIO.1 ",
" TXD.1", "GND ",
" CTS.1", "GPIO.4 ",
" 3.3V", "GPIO.5 ",
" SDI.2", "GND ",
" SDIO.2", "RTS1 ",
" SCLK.2", "CE.0 ",
" GND", "CE.1 ",
" SDA.1", "SCL.1 ",
" GPIO.21", "0v ",
" GPIO.22", "RTS2 ",
" GPIO.23", "0v ",
" GPIO.24", "CTS2 ",
" GPIO.21", "GND ",
" GPIO.22", "RTS.2 ",
" GPIO.23", "GND ",
" GPIO.24", "CTS.2 ",
" GPIO.25", "SCL.2 ",
" 0v", "SDA.2 ",
" GND", "SDA.2 ",
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -271,26 +271,26 @@ char *physNames [64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
" SDA.1", "5V ",
" SCL.1", "0v ",
" SCL.1", "GND ",
" GPIO.7", "S_TX ",
" 0v", "S_RX ",
" RxD3", "GPIO.1 ",
" TxD3", "0v ",
" GND", "S_RX ",
" RXD3", "GPIO.1 ",
" TXD3", "GND ",
" CTS3", "GPIO.4 ",
" 3.3v", "GPIO.5 ",
" MOSI", "0v ",
" 3.3V", "GPIO.5 ",
" MOSI", "GND ",
" MISO", "RTS3 ",
" SCLK", "CE0 ",
" 0v", "GPIO.11 ",
" GND", "GPIO.11 ",
" SDA.2", "SCL.2 ",
" GPIO.21", "0v ",
" GPIO.21", "GND ",
" GPIO.22", "RTS2 ",
" GPIO.23", "0v ",
" GPIO.23", "GND ",
" GPIO.24", "CTS2 ",
" GPIO.25", "TxD2 ",
" 0v", "RxD2 ",
" GPIO.25", "TXD2 ",
" GND", "RXD2 ",
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -365,38 +365,38 @@ char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "0v ",
" PA6", "TxD3 ",
" 0v", "RxD3 ",
" RxD2", "PD14 ",
" TxD2", "0v ",
" CTS2", "PC04 ",
" 3.3v", "PC07 ",
" MOSI", "0v ",
" MISO", "RTS2 ",
" SCLK", "CE0 ",
" 0v", "PA21 ",
" SCL.0", "GND ",
" PA6", "TXD.3 ",
" GND", "RXD.3 ",
" RXD.2", "PD14 ",
" TXD.2", "GND ",
" CTS.2", "PC04 ",
" 3.3V", "PC07 ",
" MOSI.0", "GND ",
" MISO.0", "RTS.2 ",
" SCLK.0", "CE.0 ",
" GND", "PA21 ",
" SDA.1", "SCL.1 ",
" PA07", "0v ",
" PA08", "RTS1 ",
" PA09", "0v ",
" PA10", "CTS1 ",
" PA20", "TxD1 ",
" 0v", "RxD1 ",
" PA07", "GND ",
" PA08", "RTS.1 ",
" PA09", "GND ",
" PA10", "CTS.1 ",
" PA20", "TXD.1 ",
" GND", "RXD.1 ",
" PA04", "PA05 ",
NULL, NULL,
NULL, NULL,
NULL, NULL,
NULL, NULL,
NULL, NULL,
NULL, NULL,
NULL, NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
};
#endif
#ifdef CONFIG_ORANGEPI_H3_ZEROPLUS2
#if CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H5
int physToWpi [64] = //return wiringPI pin
{
-1, // 0
@ -432,19 +432,19 @@ char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" SDA.0", "5v ",
" SCL.0", "0v ",
" PA6", "TxD2 ",
" 0v", "RxD2 ",
" S-TWI", "PD11 ",
" S-SDA", "0v ",
" CTS2", "SDA.1 ",
" 3.3v", "SCL.1 ",
" MOSI.1", "0v ",
" MISO.1", "RTS2 ",
" SCLK.1", "CS.1 ",
" 0v", "PD14 ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "GND ",
" PA6", "TXD.2 ",
" GND", "RXD.2 ",
" S-SCL", "PD11 ",
" S-SDA", "GND ",
" CTS.2", "SDA.1 ",
" 3.3V", "SCL.1 ",
" MOSI.1", "GND ",
" MISO.1", "RTS.2 ",
" SCLK.1", "CE.1 ",
" GND", "PD14 ",
NULL, NULL,
NULL, NULL,
@ -465,7 +465,7 @@ char *physNames[64] =
NULL, NULL,
NULL,
};
#endif
#endif /* ZERO_PLUS2 */
#ifdef CONFIG_ORANGEPI_ZERO
@ -502,15 +502,15 @@ char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "0v ",
" SCL.0", "GND ",
" PWM.1", "TXD.1 ",
" GND", "RxD.1 ",
" RxD.2", "PA07 ",
" TxD.2", "GND ",
" GND", "RXD.1 ",
" RXD.2", "PA07 ",
" TXD.2", "GND ",
" CTS.2", "SDA.1 ",
" 3.3v", "SCK.1 ",
" 3.3V", "SCK.1 ",
" MOSI.1", "GND ",
" MISO.1", "RTS.2 ",
" SCLK.1", "CS.1 ",
@ -565,19 +565,19 @@ char *physNames [64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
" SDA.1", "5V ",
" SCL.1", "0v ",
" SCL.1", "GND ",
" PWM1", "PD21 ",
" 0v", "PD22 ",
" RxD3", "PC09 ",
" TxD3", "0v ",
" GND", "PD22 ",
" RXD3", "PC09 ",
" TXD3", "GND ",
" CTS3", "PC08 ",
" 3.3v", "PC07 ",
" MOSI.0", "0v ",
" 3.3V", "PC07 ",
" MOSI.0", "GND ",
" MISO.0", "RTS3 ",
" SCLK.0", "CE.0 ",
" 0v", "PH03 ",
" GND", "PH03 ",
NULL, NULL,
NULL, NULL,
@ -628,19 +628,19 @@ char *physNames [64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "0v ",
" SCL.0", "GND ",
" PWM0", "PL02 ",
" 0v", "PL03 ",
" RxD3", "PD18 ",
" TxD3", "0v ",
" GND", "PL03 ",
" RXD3", "PD18 ",
" TXD3", "GND ",
" PL10", "PD15 ",
" 3.3v", "PD16 ",
" MOSI.1", "0v ",
" 3.3V", "PD16 ",
" MOSI.1", "GND ",
" MISO.1", "PD21 ",
" SCLK.1", "CE.1 ",
" 0v", "PL08 ",
" GND", "PL08 ",
NULL, NULL,
NULL, NULL,
@ -721,26 +721,26 @@ int physToWpi[64] =
char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
" SDA.0", "5V ",
" SCL.0", "0v ",
" SCL.0", "GND ",
" GPIO4", "Tx ",
" 0v", "Rx ",
" GND", "Rx ",
" GPIO17", "GPIO18 ",
" GPIO27", "0v ",
" GPIO27", "GND ",
" GPIO22", "GPIO23 ",
" 3.3v", "GPIO24 ",
" MOSI", "0v ",
" 3.3V", "GPIO24 ",
" MOSI", "GND ",
" MISO", "GPIO25 ",
" SCLK", "CS0 ",
" 0v", "CS1 ",
" GND", "CS1 ",
" DNP1", "DNP2 ",
" GPIO5", "0v ",
" GPIO5", "GND ",
" GPIO6", "GPIO12 ",
" GPIO13", "0v ",
" GPIO13", "GND ",
" GPIO19", "GPIO16 ",
" GPIO26", "GPIO20 ",
" 0v", "GPIO21 ",
" GND", "GPIO21 ",
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -813,26 +813,26 @@ int physToWpi[64] =
char *physNames[64] =
{
NULL,
" 3.3v", "5v ",
" 3.3V", "5V ",
"I2C2_SDA", "5V ",
"I2C2_SCL", "0v ",
"I2C2_SCL", "GND ",
" PWM1", "I2C3_SCL",
" 0v", "I2C3_SDA",
" GND", "I2C3_SDA",
"GPIO1_A1", "GPIO1_C2",
"GPIO1_A3", "0v ",
"GPIO1_A3", "GND ",
"GPIO2_D4", "GPIO1_C6",
" 3.3v", "GPIO1_C7",
"SPI1_TXD", "0v ",
" 3.3V", "GPIO1_C7",
"SPI1_TXD", "GND ",
"SPI1_RXD", "GPIO1_D0",
"SPI1_CLK", "SPI1_CS ",
" 0v", "GPIO4_C5",
" GND", "GPIO4_C5",
"I2C2_SDA", "I2C2_SCL",
" I2S0_RX", "0v ",
" I2S0_RX", "GND ",
" I2S0_TX", "I2S_CLK ",
"I2S0_SCK", "0v ",
"I2S0_SCK", "GND ",
"I2S0_SI0", "I2S0_SO0",
"I2S0_SI1", "I2S0_SI2",
" 0v", "I2S0_SI3",
" GND", "I2S0_SI3",
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -861,10 +861,14 @@ void OrangePiReadAll(void)
printf (" +------+-----+----------+------+---+ PRIME +---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZEROPLUS
printf (" +------+-----+----------+------+---+ ZEROPLUS +---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZEROPLUS2_H5
printf (" +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_2G_IOT
printf (" +-----+-----+----------+------+---+OrangePi 2G-IOT+---+---+------+---------+-----+--+\n");
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_H3_ZEROPLUS2
#elif CONFIG_ORANGEPI_H3
printf (" +------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZEROPLUS2_H3
printf (" +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZERO
printf (" +------+-----+----------+------+---+OrangePi Zero+---+---+------+---------+-----+--+\n");
#elif CONFIG_ORANGEPI_A64
@ -880,10 +884,10 @@ void OrangePiReadAll(void)
printf (" | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |\n");
printf (" +------+-----+----------+------+---+----++----+---+------+----------+-----+------+\n");
#if defined CONFIG_ORANGEPI_H3 || defined CONFIG_ORANGEPI_RK3399 || CONFIG_ORANGEPI_4 || CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_PRIME
#if defined CONFIG_ORANGEPI_H3 || defined CONFIG_ORANGEPI_RK3399 || CONFIG_ORANGEPI_4 || CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_PRIME || CONFIG_ORANGEPI_A64
for (pin = 1 ; pin <= 40; pin += 2)
#elif CONFIG_ORANGEPI_LITE2 || CONFIG_ORANGEPI_H3_ZEROPLUS2 || CONFIG_ORANGEPI_3 || CONFIG_ORANGEPI_ZERO || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_H5_ZEROPLUS2 || CONFIG_ORANGEPI_R1
#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)
#endif
readallPhys(pin);
@ -896,10 +900,14 @@ void OrangePiReadAll(void)
printf (" +------+-----+----------+------+---+ PRIME +---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZEROPLUS
printf (" +------+-----+----------+------+---+ ZEROPLUS +---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZEROPLUS2_H5
printf (" +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_2G_IOT
printf (" +------+-----+----------+------+---+OrangePi 2G-IOT+---+------+----------+-----+-----+\n");
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_H3_ZEROPLUS2
#elif CONFIG_ORANGEPI_H3
printf (" +------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZEROPLUS2_H3
printf (" +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+\n");
#elif CONFIG_ORANGEPI_ZERO
printf (" +------+-----+----------+------+---+OrangePi Zero+---+------+----------+-----+-----+\n");
#elif CONFIG_ORANGEPI_A64
@ -911,7 +919,6 @@ void OrangePiReadAll(void)
#elif CONFIG_ORANGEPI_4
printf (" +------+-----+----------+------+---+OrangePi 4---+---+------+---------+-----+--+\n");
#endif
wiringPiDebug = tmp;
}

4
gpio/gpio.c

@ -77,11 +77,11 @@ const char *piModelNames[6] =
"Compute Module",
#ifdef CONFIG_ORANGEPI_2G_IOT
"OrangePi 2G-IOT",
#elif CONFIG_ORANGEPI_PC2
#elif CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_ZEROPLUS2_H5 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_PRIME
"OrangePi PC2",
#elif CONFIG_ORANGEPI_A64
"OrangePi Win/Winplus",
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_H3_ZEROPLUS2
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H3
"OrangePi H3 family",
#elif CONFIG_ORANGEPI_ZERO
"OrangePi Zero",

18
wiringPi/Makefile

@ -54,7 +54,8 @@ ifeq ($(PLATFORM),)
#PLATFORM = OrangePi_LITE2
PLATFORM = OrangePi_ONEPLUS
#PLATFORM = OrangePi_ZERO
#PLATFORM = OrangePi_H3_ZEROPLUS2
#PLATFORM = OrangePi_ZEROPLUS2_H3
#PLATFORM = OrangePi_ZEROPLUS2_H5
#PLATFORM = OrangePi_3
#PLATFORM = OrangePi_RK3399
endif
@ -109,8 +110,13 @@ EXTRA_CFLAGS = -DCONFIG_ORANGEPI_3
EXTRA_CFLAGS += -DCONFIG_ORANGEPI
endif
ifeq ($(PLATFORM), OrangePi_H3_ZEROPLUS2)
EXTRA_CFLAGS = -DCONFIG_ORANGEPI_H3_ZEROPLUS2
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H3)
EXTRA_CFLAGS = -DCONFIG_ORANGEPI_ZEROPLUS2_H3
EXTRA_CFLAGS += -DCONFIG_ORANGEPI
endif
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H5)
EXTRA_CFLAGS = -DCONFIG_ORANGEPI_ZEROPLUS2_H5
EXTRA_CFLAGS += -DCONFIG_ORANGEPI
endif
@ -185,7 +191,11 @@ ifeq ($(PLATFORM), OrangePi_3)
SRC += OrangePi.c
endif
ifeq ($(PLATFORM), OrangePi_H3_ZEROPLUS2)
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H3)
SRC += OrangePi.c
endif
ifeq ($(PLATFORM), OrangePi_ZEROPLUS2_H5)
SRC += OrangePi.c
endif

12
wiringPi/OrangePi.c

@ -599,7 +599,7 @@ int ORANGEPI_PIN_MASK[9][32] = //[BANK] [INDEX]
};
#endif
#ifdef CONFIG_ORANGEPI_H3_ZEROPLUS2
#if CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H5
int pinToGpioOrangePi [64] =
{
12, 11, 6, 0, 1, 352, 107, 353, 3, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
@ -612,8 +612,6 @@ int pinToGpioOrangePi [64] =
-1, -1, // wpi 26, 27
-1, -1, //PA4, PA5(PWM0) wpi 28, 29
-1, -1, // B+ wpi 30, 31
// Padding:
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 47
@ -1185,11 +1183,11 @@ const char *piModelNames[6] =
"Compute Module",
#ifdef CONFIG_ORANGEPI_2G_IOT
"OrangePi 2G-IOT",
#elif CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_H5_ZEROPLUS2 || CONFIG_ORANGEPI_PRIME
#elif CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_ZEROPLUS2_H5 || CONFIG_ORANGEPI_PRIME
"OrangePi H5 family",
#elif CONFIG_ORANGEPI_A64
"OrangePi Win/Winplus",
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_H3_ZEROPLUS2
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H3
"OrangePi H3 family",
#elif CONFIG_ORANGEPI_ZERO
"OrangePi H2+ family",
@ -1854,13 +1852,13 @@ int isOrangePi(void)
#ifdef CONFIG_ORANGEPI_2G_IOT
/* Support: OrangePi 2G-IOT and OrangePi i96 */
char *OrangePi_string = "rda8810";
#elif CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_H5_ZEROPLUS2 || CONFIG_ORANGEPI_PRIME
#elif CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_ZEROPLUS2_H5 || CONFIG_ORANGEPI_PRIME
/* Support: OrangePi PC2 */
char *OrangePi_string = "sun50iw2";
#elif CONFIG_ORANGEPI_A64
/* Support: OrangePi Win/Win plus */
char *OrangePi_string = "sun50iw1";
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_H3_ZEROPLUS2
#elif CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H3
/* Support: OrangePi Win/Win plus */
char *OrangePi_string = "sun8i";
#elif CONFIG_ORANGEPI_ZERO

6
wiringPi/OrangePi.h

@ -30,7 +30,7 @@
#endif /* CONFIG_ORANGEPI_2G_IOT */
#if CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_H5_ZEROPLUS2 || CONFIG_ORANGEPI_PRIME
#if CONFIG_ORANGEPI_PC2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_ZEROPLUS2_H5 || CONFIG_ORANGEPI_PRIME
/************** OrangePi H5 ***********************/
#define GPIOA_BASE (0x01C20000)
#define GPIO_NUM (0x40)
@ -55,7 +55,7 @@
#endif
/************** OrangePi H3 ***********************/
#if CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_H3_ZEROPLUS2 || CONFIG_ORANGEPI_ZERO
#if CONFIG_ORANGEPI_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_ZERO
#define GPIOA_BASE (0x01C20000)
#define GPIO_NUM (0x40)
#define GPIO_BASE_MAP (0x01C20800)
@ -209,7 +209,7 @@ extern int ORANGEPI_PIN_MASK[9][32];
extern int ORANGEPI_PIN_MASK[12][32];
#elif CONFIG_ORANGEPI_H3
extern int ORANGEPI_PIN_MASK[9][32];
#elif CONFIG_ORANGEPI_ZERO || CONFIG_ORANGEPI_H3_ZEROPLUS2 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_H5_ZEROPLUS2
#elif CONFIG_ORANGEPI_ZERO || CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_ZEROPLUS || CONFIG_ORANGEPI_ZEROPLUS2_H5
extern int ORANGEPI_PIN_MASK[12][32];
#elif CONFIG_ORANGEPI_RK3399
extern int ORANGEPI_PIN_MASK[5][32];

2
wiringPi/wiringPi.c

@ -2377,7 +2377,7 @@ int wiringPiSetup (void)
return wiringPiFailure (WPI_ALMOST, "wiringPiSetup: mmap (PWM) failed: %s\n", strerror (errno)) ;
#if CONFIG_ORANGEPI_A64 || CONFIG_ORANGEPI_H3_ZEROPLUS2 || CONFIG_ORANGEPI_3 || CONFIG_ORANGEPI_H5_ZEROPLUS2
#if CONFIG_ORANGEPI_A64 || CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_3 || CONFIG_ORANGEPI_ZEROPLUS2_H5
/* GPIOC connect CPU with Modem */
OrangePi_gpioC = (uint32_t *)mmap(0, BLOCK_SIZE, PROT_READ | PROT_WRITE,
MAP_SHARED, fd, GPIOL_BASE_MAP);

2
wiringPi/wiringPiSPI.c

@ -40,7 +40,7 @@
// Variables as they need to be passed as pointers later on
static const char *spiDev0 = "/dev/spidev0.0" ;
static const char *spiDev1 = "/dev/spidev0.1" ;
static const char *spiDev1 = "/dev/spidev1.0" ;
static const uint8_t spiBPW = 8 ;
static const uint16_t spiDelay = 0 ;

Loading…
Cancel
Save