Compare commits
10 Commits
ff816c7f69
...
82fcfbb64e
| Author | SHA1 | Date | |
|---|---|---|---|
| 82fcfbb64e | |||
| c36d1495cd | |||
| 5d169c71ac | |||
| 658ed97ca7 | |||
| 02877a9493 | |||
| 4baa1a1b36 | |||
| 423e0bbcd4 | |||
| a79270835f | |||
| b99cbc570b | |||
| d29db23b92 |
@@ -29,6 +29,7 @@ cc_library_shared {
|
||||
"wiringPi/odroidm1.c",
|
||||
"wiringPi/odroidm1s.c",
|
||||
"wiringPi/odroidm2.c",
|
||||
"wiringPi/odroidc5.c",
|
||||
"wiringPi/drcSerial.c",
|
||||
"wiringPi/mcp23s08.c",
|
||||
"wiringPi/odroidn1.c",
|
||||
|
||||
7
debian/changelog
vendored
7
debian/changelog
vendored
@@ -1,3 +1,10 @@
|
||||
odroid-wiringpi (3.17.1) stable; urgency=medium
|
||||
|
||||
* ODROID-C5: New Support for ODROID-C5
|
||||
* ODROID: Change binary installation path
|
||||
|
||||
-- Bob Shin <shinys000114@gmail.com> Thu, 29 Oct 2024 06:07:00 +0000
|
||||
|
||||
odroid-wiringpi (3.17.0) stable; urgency=medium
|
||||
|
||||
* ODROID-M2: New Support for ODROID-M2
|
||||
|
||||
4
debian/libwiringpi2.install
vendored
4
debian/libwiringpi2.install
vendored
@@ -1,4 +1,4 @@
|
||||
debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/libwiringPi.so* usr/lib/${DEB_HOST_MULTIARCH}
|
||||
debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/libwiringPiDev.so* usr/lib/${DEB_HOST_MULTIARCH}
|
||||
debian/tmp/usr/sbin/gpio
|
||||
debian/tmp/usr/sbin/wiringPiD
|
||||
debian/tmp/usr/bin/gpio
|
||||
debian/tmp/usr/bin/wiringPiD
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
sbin_PROGRAMS = gpio
|
||||
bin_PROGRAMS = gpio
|
||||
|
||||
gpio_SOURCES = \
|
||||
gpio.c \
|
||||
|
||||
@@ -779,6 +779,69 @@ static const char *physNamesOdroidM2 [64] =
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static const char *physNamesOdroidC5All [64] =
|
||||
{
|
||||
NULL,
|
||||
|
||||
" 3.3V", "5V ",
|
||||
" SDA.0", "5V ",
|
||||
" SCL.0", "GND(0V) ",
|
||||
" GPIOD_4", "TxD.1 ",
|
||||
" GND(0V)", "RxD.1 ",
|
||||
" GPIOX_5", "GPIOX_6 ",
|
||||
"GPIOX_15", "GND(0V) ",
|
||||
" GPIOX_4", "GPIODV_1",
|
||||
" 3.3V", "GPIODV_2",
|
||||
" MOSI", "GND(0V) ",
|
||||
" MISO", "GPIOX_14",
|
||||
" SLCK", "SS ",
|
||||
" GND(0V)", "GPIOX_7 ",
|
||||
" SDA.1", "SCL.1 ",
|
||||
" GPIOH_4", "GND(0V) ",
|
||||
" GPIOH_5", "GPIOX_2 ",
|
||||
" GPIOX_0", "GND(0V) ",
|
||||
" GPIOX_1", "GPIOX_3 ",
|
||||
" AIN.1", "1V8 ",
|
||||
" GND(0V)", "AIN.0 ",
|
||||
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static const char *physNamesOdroidC5 [64] =
|
||||
{
|
||||
NULL,
|
||||
|
||||
" 3.3V", "5V ",
|
||||
" SDA.0", "5V ",
|
||||
" SCL.0", "0V ",
|
||||
" IO_D4", "TxD1 ",
|
||||
" 0V", "RxD1 ",
|
||||
" IO_X5", "IOX_6 ",
|
||||
" IO_X15", "0V ",
|
||||
" IO_X4", "IO_DV1 ",
|
||||
" 3.3V", "IO_DV2 ",
|
||||
" MOSI", "0V ",
|
||||
" MISO", "IO_X14 ",
|
||||
" SLCK", "SS ",
|
||||
" 0V", "IOX_7 ",
|
||||
" SDA.1", "SCL.1 ",
|
||||
" IO_H4", "0V ",
|
||||
" IO_H5", "IOX_2 ",
|
||||
" IO_X0", "0V ",
|
||||
" IO_X1", "IOX_3 ",
|
||||
" AIN.1", "1V8 ",
|
||||
" 0V", "AIN.0 ",
|
||||
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
static void readallPhys(int model, int UNU rev, int physPin, const char *physNames[], int isAll) {
|
||||
int pin ;
|
||||
|
||||
@@ -834,6 +897,7 @@ static void readallPhys(int model, int UNU rev, int physPin, const char *physNam
|
||||
case MODEL_ODROID_M1:
|
||||
case MODEL_ODROID_M1S:
|
||||
case MODEL_ODROID_M2:
|
||||
case MODEL_ODROID_C5:
|
||||
printf (" | %2d | %5s", getDrive(pin), pupd[getPUPD(pin)]);
|
||||
break;
|
||||
default:
|
||||
@@ -878,6 +942,7 @@ static void readallPhys(int model, int UNU rev, int physPin, const char *physNam
|
||||
case MODEL_ODROID_M1:
|
||||
case MODEL_ODROID_M1S:
|
||||
case MODEL_ODROID_M2:
|
||||
case MODEL_ODROID_C5:
|
||||
printf (" | %-5s | %-2d", pupd[getPUPD(pin)], getDrive(pin));
|
||||
break;
|
||||
default:
|
||||
@@ -1108,6 +1173,10 @@ void doReadall(int argc, char *argv[]) {
|
||||
headerName = (isAll == FALSE) ? "--- M2 ---" : "---- Model ODROID-M2 ----";
|
||||
physNames = (char *) ((isAll == FALSE) ? physNamesOdroidM2 : physNamesOdroidM2All);
|
||||
break;
|
||||
case MODEL_ODROID_C5:
|
||||
headerName = (isAll == FALSE) ? "--- C5 ---" : "---- Model ODROID-C5 ----";
|
||||
physNames = (char *) ((isAll == FALSE) ? physNamesOdroidC5 : physNamesOdroidC5All);
|
||||
break;
|
||||
default:
|
||||
printf("Oops - unknown model: %d\n", model);
|
||||
return;
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# /dev/gpiomem
|
||||
SUBSYSTEM=="rk3568-gpiomem", GROUP="odroid", MODE="0660"
|
||||
SUBSYSTEM=="rk35xx-gpiomem", GROUP="odroid", MODE="0660"
|
||||
SUBSYSTEM=="rk3568-gpiomem", GROUP="gpio", MODE="0660"
|
||||
SUBSYSTEM=="rk35xx-gpiomem", GROUP="gpio", MODE="0660"
|
||||
|
||||
@@ -21,6 +21,7 @@ libwiringPi_la_SOURCES = \
|
||||
odroidc1.c \
|
||||
odroidc2.c \
|
||||
odroidc4.c \
|
||||
odroidc5.c \
|
||||
odroidhc4.c \
|
||||
odroidm1.c \
|
||||
odroidm1s.c \
|
||||
|
||||
1001
wiringPi/odroidc5.c
Normal file
1001
wiringPi/odroidc5.c
Normal file
File diff suppressed because it is too large
Load Diff
68
wiringPi/odroidc5.h
Normal file
68
wiringPi/odroidc5.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/*
|
||||
|
||||
WiringPi ODROID-C5 Board Header file
|
||||
|
||||
*/
|
||||
/*----------------------------------------------------------------------------*/
|
||||
#ifndef __ODROID_C5_H__
|
||||
#define __ODROID_C5_H__
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#define C5_PWM_INTERNAL_CLK 24000000
|
||||
|
||||
#define C5_GPIO_BASE 0xfe004000
|
||||
|
||||
#define C5_GPIO_D_WPI_START 452
|
||||
#define C5_GPIO_DV_WPI_START 457
|
||||
#define C5_GPIO_H_WPI_START 464
|
||||
#define C5_GPIO_X_WPI_START 476
|
||||
|
||||
#define C5_GPIO_D(REG) (REG + C5_GPIO_D_WPI_START)
|
||||
#define C5_GPIO_DV(REG) (REG + C5_GPIO_DV_WPI_START)
|
||||
#define C5_GPIO_H(REG) (REG + C5_GPIO_H_WPI_START)
|
||||
#define C5_GPIO_X(REG) (REG + C5_GPIO_X_WPI_START)
|
||||
|
||||
#define C5_IS_GPIO_D(W) (W >= C5_GPIO_D(2) && W <= C5_GPIO_D(4))
|
||||
#define C5_IS_GPIO_DV(W) (W >= C5_GPIO_DV(1) && W <= C5_GPIO_DV(2))
|
||||
#define C5_IS_GPIO_H(W) (W >= C5_GPIO_H(4) && W <= C5_GPIO_H(5))
|
||||
#define C5_IS_GPIO_X(W) (W >= C5_GPIO_X(0) && W <= C5_GPIO_X(18) && W != C5_GPIO_X(16))
|
||||
#define C5_IS_GPIO_X_EXT(W) (W >= C5_GPIO_X(16) && W <= C5_GPIO_X(18))
|
||||
|
||||
#define C5_PIN_MUX_REG2_OFFSET 0x02
|
||||
#define C5_PIN_MUX_REG3_OFFSET 0x03
|
||||
#define C5_PIN_MUX_REG4_OFFSET 0x04
|
||||
#define C5_PIN_MUX_REG5_OFFSET 0x05
|
||||
#define C5_PIN_MUX_REGB_OFFSET 0x0b
|
||||
#define C5_PIN_MUX_REGG_OFFSET 0x10
|
||||
|
||||
#define C5_GPIO_X_OFFSET 0x40
|
||||
#define C5_GPIO_H_OFFSET 0x50
|
||||
#define C5_GPIO_D_OFFSET 0x60
|
||||
#define C5_GPIO_DV_OFFSET 0xa0
|
||||
|
||||
#define C5_GPIO_I_OFFSET 0x00
|
||||
#define C5_GPIO_O_OFFSET 0x01
|
||||
#define C5_GPIO_OEN_OFFSET 0x02
|
||||
#define C5_GPIO_PULL_EN_OFFSET 0x03
|
||||
#define C5_GPIO_PULL_UP_OFFSET 0x04
|
||||
#define C5_GPIO_DS_OFFSET 0x07
|
||||
#define C5_GPIO_DS_EXT_OFFSET 0x08
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void init_odroidc5 (struct libodroid *libwiring);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
#endif /* __ODROID_C5_H__ */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "odroidc4.h"
|
||||
#include "odroidm1.h"
|
||||
#include "odroidm2.h"
|
||||
#include "odroidc5.h"
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
// Const string define
|
||||
@@ -67,6 +68,7 @@ const char *piModelNames [16] =
|
||||
"ODROID-M1",
|
||||
"ODROID-M1S",
|
||||
"ODROID-M2",
|
||||
"ODROID-C5",
|
||||
};
|
||||
|
||||
const char *piRevisionNames [16] =
|
||||
@@ -551,6 +553,11 @@ int piGpioLayout (void) {
|
||||
libwiring.mem = 5;
|
||||
libwiring.rev = 1;
|
||||
break;
|
||||
case MODEL_ODROID_C5:
|
||||
libwiring.maker = MAKER_AMLOGIC;
|
||||
libwiring.mem = 4;
|
||||
libwiring.rev = 1;
|
||||
break;
|
||||
case MODEL_UNKNOWN:
|
||||
default:
|
||||
libwiring.model = MAKER_UNKNOWN;
|
||||
@@ -1279,6 +1286,9 @@ int wiringPiSetup (void)
|
||||
case MODEL_ODROID_M2:
|
||||
init_odroidm2(&libwiring);
|
||||
break;
|
||||
case MODEL_ODROID_C5:
|
||||
init_odroidc5(&libwiring);
|
||||
break;
|
||||
default:
|
||||
return wiringPiFailure (WPI_ALMOST,
|
||||
"wiringPiSetup: Unknown model\n");
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
#define MODEL_ODROID_M1 8
|
||||
#define MODEL_ODROID_M1S 9
|
||||
#define MODEL_ODROID_M2 10
|
||||
#define MODEL_ODROID_C5 11
|
||||
|
||||
#define MAKER_UNKNOWN 0
|
||||
#define MAKER_AMLOGIC 1
|
||||
|
||||
@@ -270,6 +270,8 @@ int wiringPiI2CSetup (const int devId)
|
||||
case MODEL_ODROID_M1S:
|
||||
case MODEL_ODROID_M2:
|
||||
device = "/dev/i2c-0";
|
||||
case MODEL_ODROID_C5:
|
||||
device = "/dev/i2c-0";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -151,6 +151,7 @@ int wiringPiSPISetupMode (int channel, int speed, int mode)
|
||||
case MODEL_ODROID_M1:
|
||||
case MODEL_ODROID_M1S:
|
||||
case MODEL_ODROID_M2:
|
||||
case MODEL_ODROID_C5:
|
||||
sprintf(device, "%s%d", spiDevType0, channel);
|
||||
break;
|
||||
case MODEL_ODROID_XU3:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
sbin_PROGRAMS = wiringPiD
|
||||
bin_PROGRAMS = wiringPiD
|
||||
|
||||
wiringPiD_SOURCES = \
|
||||
daemonise.c \
|
||||
|
||||
Reference in New Issue
Block a user