修改源码格式
This commit is contained in:
parent
d6e6b3b2d2
commit
e95a874564
@ -25,8 +25,7 @@
|
|||||||
#ifdef CONFIG_ORANGEPI
|
#ifdef CONFIG_ORANGEPI
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_2G_IOT
|
#ifdef CONFIG_ORANGEPI_2G_IOT
|
||||||
int pinToGpioOrangePi[64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
70, 37, // 0, 1
|
70, 37, // 0, 1
|
||||||
14, 15, // 2, 3
|
14, 15, // 2, 3
|
||||||
69, 89, // 4 5
|
69, 89, // 4 5
|
||||||
@ -117,8 +116,7 @@ int ORANGEPI_PIN_MASK[4][32] = //[BANK] [INDEX]
|
|||||||
#endif /* CONFIG_ORANGEPI_2G_IOT */
|
#endif /* CONFIG_ORANGEPI_2G_IOT */
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_PRIME
|
#ifdef CONFIG_ORANGEPI_PRIME
|
||||||
int pinToGpioOrangePi[64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
12, 11, // 0, 1
|
12, 11, // 0, 1
|
||||||
6, 69, // 2, 3
|
6, 69, // 2, 3
|
||||||
70, 1, // 4 5
|
70, 1, // 4 5
|
||||||
@ -212,8 +210,7 @@ int ORANGEPI_PIN_MASK[9][32] = //[BANK] [INDEX]
|
|||||||
#endif /* PRIME */
|
#endif /* PRIME */
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_PC2
|
#ifdef CONFIG_ORANGEPI_PC2
|
||||||
int pinToGpioOrangePi[64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
12, 11, // 0, 1
|
12, 11, // 0, 1
|
||||||
6, 69, // 2, 3
|
6, 69, // 2, 3
|
||||||
70, 1, // 4 5
|
70, 1, // 4 5
|
||||||
@ -306,10 +303,8 @@ int ORANGEPI_PIN_MASK[9][32] = //[BANK] [INDEX]
|
|||||||
};
|
};
|
||||||
#endif /* PC2 */
|
#endif /* PC2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_ZEROPLUS
|
#ifdef CONFIG_ORANGEPI_ZEROPLUS
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
12, 11, 6, 198, 199, 1, 7, 0, 3, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
12, 11, 6, 198, 199, 1, 7, 0, 3, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
||||||
19, 18, // I2C - SDA0, SCL0 wpi 8 - 9
|
19, 18, // I2C - SDA0, SCL0 wpi 8 - 9
|
||||||
15, 16, // SPI - CE1, CE0 wpi 10 - 11
|
15, 16, // SPI - CE1, CE0 wpi 10 - 11
|
||||||
@ -328,8 +323,7 @@ int pinToGpioOrangePi [64] =
|
|||||||
-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, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToGpioOrangePi [64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
12, -1,
|
12, -1,
|
||||||
@ -408,8 +402,7 @@ int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
|
|||||||
#endif /* ZEROPLUS */
|
#endif /* ZEROPLUS */
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_WIN
|
#ifdef CONFIG_ORANGEPI_WIN
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
227, 226, // 0, 1
|
227, 226, // 0, 1
|
||||||
362, 354, // 2, 3
|
362, 354, // 2, 3
|
||||||
355, 229, // 4 5
|
355, 229, // 4 5
|
||||||
@ -431,8 +424,7 @@ int pinToGpioOrangePi [64] =
|
|||||||
-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, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToGpioOrangePi[64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
227, -1, // 3, 4
|
227, -1, // 3, 4
|
||||||
@ -458,8 +450,7 @@ int physToGpioOrangePi[64] =
|
|||||||
-1, -1, -1, -1, -1, -1, -1, -1 // 56-> 63
|
-1, -1, -1, -1, -1, -1, -1, -1 // 56-> 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToPinOrangePi [64] =
|
int physToPinOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
0, -1, // 3, 4
|
0, -1, // 3, 4
|
||||||
@ -504,8 +495,7 @@ int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_H3
|
#ifdef CONFIG_ORANGEPI_H3
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
12, 11, 6, 13, 14, 1, 110, 0, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
12, 11, 6, 13, 14, 1, 110, 0, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
||||||
3, 68, // I2C - SDA0, SCL0 wpi 8 - 9
|
3, 68, // I2C - SDA0, SCL0 wpi 8 - 9
|
||||||
71, 64, // SPI - CE1, CE0 wpi 10 - 11
|
71, 64, // SPI - CE1, CE0 wpi 10 - 11
|
||||||
@ -524,8 +514,7 @@ int pinToGpioOrangePi [64] =
|
|||||||
-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, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToGpioOrangePi [64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
12, -1,
|
12, -1,
|
||||||
@ -601,8 +590,7 @@ int ORANGEPI_PIN_MASK[9][32] = //[BANK] [INDEX]
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H5
|
#if CONFIG_ORANGEPI_ZEROPLUS2_H3 || CONFIG_ORANGEPI_ZEROPLUS2_H5
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
12, 11, 6, 0, 1, 352, 107, 353, 3, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
12, 11, 6, 0, 1, 352, 107, 353, 3, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
||||||
19, 18, // I2C - SDA0, SCL0 wpi 8 - 9
|
19, 18, // I2C - SDA0, SCL0 wpi 8 - 9
|
||||||
15, 16, // SPI - CE1, CE0 wpi 10 - 11
|
15, 16, // SPI - CE1, CE0 wpi 10 - 11
|
||||||
@ -619,8 +607,7 @@ int pinToGpioOrangePi [64] =
|
|||||||
-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, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToGpioOrangePi [64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
12, -1,
|
12, -1,
|
||||||
@ -699,8 +686,7 @@ int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_ZERO
|
#ifdef CONFIG_ORANGEPI_ZERO
|
||||||
int pinToGpioOrangePi[64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
12, 11, 6, 198, 199, 1, 7, 0, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
12, 11, 6, 198, 199, 1, 7, 0, // From the Original Wiki - GPIO 0 through 7: wpi 0 - 7
|
||||||
3, 19, // I2C - SDA0, SCL0 wpi 8 - 9
|
3, 19, // I2C - SDA0, SCL0 wpi 8 - 9
|
||||||
18, 15, // SPI - CE1, CE0 wpi 10 - 11
|
18, 15, // SPI - CE1, CE0 wpi 10 - 11
|
||||||
@ -717,8 +703,7 @@ int pinToGpioOrangePi[64] =
|
|||||||
-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, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToGpioOrangePi[64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
12, -1,
|
12, -1,
|
||||||
@ -747,8 +732,7 @@ int physToGpioOrangePi[64] =
|
|||||||
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToPinOrangePi[64] =
|
int physToPinOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
0, -1, //3, 4
|
0, -1, //3, 4
|
||||||
@ -797,8 +781,7 @@ int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
|
|||||||
#ifdef CONFIG_ORANGEPI_LITE2
|
#ifdef CONFIG_ORANGEPI_LITE2
|
||||||
|
|
||||||
//pinToGpioR3 is for OrangePi H6 Lite2/OnePlus
|
//pinToGpioR3 is for OrangePi H6 Lite2/OnePlus
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
230, 229,
|
230, 229,
|
||||||
228, 117, 118,
|
228, 117, 118,
|
||||||
120, 73, 119, 122, 72, 71,
|
120, 73, 119, 122, 72, 71,
|
||||||
@ -817,8 +800,7 @@ int pinToGpioOrangePi [64] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
//physToGpioR3 is for OrangePi H6 Lite2/OnePlus
|
//physToGpioR3 is for OrangePi H6 Lite2/OnePlus
|
||||||
int physToGpioOrangePi [64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
|
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
@ -839,8 +821,7 @@ int physToGpioOrangePi [64] =
|
|||||||
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToPinOrangePi [64] =
|
int physToPinOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
0, -1,
|
0, -1,
|
||||||
@ -876,8 +857,7 @@ int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
|
|||||||
#ifdef CONFIG_ORANGEPI_3
|
#ifdef CONFIG_ORANGEPI_3
|
||||||
|
|
||||||
//pinToGpioR3 is for OrangePi H6 Pi 3
|
//pinToGpioR3 is for OrangePi H6 Pi 3
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
122, 121,
|
122, 121,
|
||||||
118, 354, 355,
|
118, 354, 355,
|
||||||
120, 114, 119, 362, 111, 112,
|
120, 114, 119, 362, 111, 112,
|
||||||
@ -896,8 +876,7 @@ int pinToGpioOrangePi [64] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
//physToGpioR3 is for OrangePi H6 Lite2/OnePlus
|
//physToGpioR3 is for OrangePi H6 Lite2/OnePlus
|
||||||
int physToGpioOrangePi [64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
|
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
@ -918,8 +897,7 @@ int physToGpioOrangePi [64] =
|
|||||||
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToPinOrangePi [64] =
|
int physToPinOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
0, -1,
|
0, -1,
|
||||||
@ -958,8 +936,7 @@ int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_ZERO2
|
#ifdef CONFIG_ORANGEPI_ZERO2
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1,
|
-1, -1,
|
||||||
264, -1,
|
264, -1,
|
||||||
@ -985,8 +962,7 @@ int pinToGpioOrangePi [64] =
|
|||||||
-1, -1, -1, -1, -1, // 63
|
-1, -1, -1, -1, -1, // 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToGpioOrangePi [64] =
|
int physToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1,
|
-1, -1,
|
||||||
264, -1,
|
264, -1,
|
||||||
@ -1012,8 +988,7 @@ int physToGpioOrangePi [64] =
|
|||||||
-1, -1, -1, -1, -1, // 63
|
-1, -1, -1, -1, -1, // 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int physToPinOrangePi [64] =
|
int physToPinOrangePi[64] = {
|
||||||
{
|
|
||||||
-1, // 0
|
-1, // 0
|
||||||
-1, -1, // 1, 2
|
-1, -1, // 1, 2
|
||||||
3, -1, //3, 4
|
3, -1, //3, 4
|
||||||
@ -1058,8 +1033,7 @@ int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_RK3399
|
#ifdef CONFIG_ORANGEPI_RK3399
|
||||||
int pinToGpioOrangePi[64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
43, 44, // 0, 1
|
43, 44, // 0, 1
|
||||||
64, 148, // 2, 3
|
64, 148, // 2, 3
|
||||||
147, 80, // 4 5
|
147, 80, // 4 5
|
||||||
@ -1139,6 +1113,7 @@ int physToPinOrangePi[64] = //return wiringPI pin
|
|||||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 56
|
-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, -1, -1, -1, // ... 63
|
||||||
};
|
};
|
||||||
|
|
||||||
int ORANGEPI_PIN_MASK[5][32] = //[BANK] [INDEX]
|
int ORANGEPI_PIN_MASK[5][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, }, //PA
|
||||||
@ -1159,8 +1134,7 @@ volatile uint32_t *gpio4_base;
|
|||||||
// add 2019.1.8
|
// add 2019.1.8
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_800
|
#ifdef CONFIG_ORANGEPI_800
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
43, 44, //0,1
|
43, 44, //0,1
|
||||||
150, 39, //2,3
|
150, 39, //2,3
|
||||||
40, 148, //4,5
|
40, 148, //4,5
|
||||||
@ -1258,8 +1232,7 @@ volatile uint32_t *gpio4_base;
|
|||||||
#endif /* CONFIG_ORANGEPI_800 */
|
#endif /* CONFIG_ORANGEPI_800 */
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_4
|
#ifdef CONFIG_ORANGEPI_4
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
64, 65, // 0, 1
|
64, 65, // 0, 1
|
||||||
150, 145, // 2, 3
|
150, 145, // 2, 3
|
||||||
144, 33, // 4 5
|
144, 33, // 4 5
|
||||||
@ -1276,7 +1249,6 @@ int pinToGpioOrangePi [64] =
|
|||||||
-1, -1, //22,23
|
-1, -1, //22,23
|
||||||
-1, -1, //24,25
|
-1, -1, //24,25
|
||||||
|
|
||||||
|
|
||||||
-1, -1, //26,27
|
-1, -1, //26,27
|
||||||
|
|
||||||
-1, -1, //28,29
|
-1, -1, //28,29
|
||||||
@ -1345,6 +1317,7 @@ int physToPinOrangePi[64] = //return wiringPI pin
|
|||||||
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int ORANGEPI_PIN_MASK[5][32] = //[BANK] [INDEX]
|
int ORANGEPI_PIN_MASK[5][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, }, //PA
|
||||||
@ -1365,8 +1338,7 @@ volatile uint32_t *gpio4_base;
|
|||||||
// add 2019.1.8
|
// add 2019.1.8
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_4_LTS
|
#ifdef CONFIG_ORANGEPI_4_LTS
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
52, 53, // 0, 1
|
52, 53, // 0, 1
|
||||||
150, 145, // 2, 3
|
150, 145, // 2, 3
|
||||||
144, 33, // 4 5
|
144, 33, // 4 5
|
||||||
@ -1447,6 +1419,7 @@ int physToPinOrangePi[64] = //return wiringPI pin
|
|||||||
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
-1, -1, -1, -1, -1, -1, -1, // ... 63
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int ORANGEPI_PIN_MASK[5][32] = //[BANK] [INDEX]
|
int ORANGEPI_PIN_MASK[5][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, }, //PA
|
||||||
@ -1466,8 +1439,7 @@ volatile uint32_t *gpio4_base;
|
|||||||
#endif /* CONFIG_ORANGEPI_4_LTS */
|
#endif /* CONFIG_ORANGEPI_4_LTS */
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI_R1PLUS
|
#ifdef CONFIG_ORANGEPI_R1PLUS
|
||||||
int pinToGpioOrangePi [64] =
|
int pinToGpioOrangePi[64] = {
|
||||||
{
|
|
||||||
89, 88, // 0, 1
|
89, 88, // 0, 1
|
||||||
100, 102, // 2, 3
|
100, 102, // 2, 3
|
||||||
112, 103, // 4 5
|
112, 103, // 4 5
|
||||||
@ -1562,12 +1534,9 @@ volatile uint32_t *gpio3_base;
|
|||||||
volatile uint32_t *cru_base;
|
volatile uint32_t *cru_base;
|
||||||
volatile uint32_t *grf_base;
|
volatile uint32_t *grf_base;
|
||||||
|
|
||||||
|
|
||||||
#endif /* CONFIG_ORANGEPI_R1PLUS */
|
#endif /* CONFIG_ORANGEPI_R1PLUS */
|
||||||
// add 2020.11.26
|
// add 2020.11.26
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Data for use with the boardId functions.
|
* Data for use with the boardId functions.
|
||||||
* The order of entries here to correspond with the PI_MODEL_X
|
* The order of entries here to correspond with the PI_MODEL_X
|
||||||
@ -1575,8 +1544,7 @@ volatile uint32_t *grf_base;
|
|||||||
* Only intended for the gpio command - use at your own risk!
|
* Only intended for the gpio command - use at your own risk!
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const char *piModelNames[6] =
|
const char *piModelNames[6] = {
|
||||||
{
|
|
||||||
"Unknown",
|
"Unknown",
|
||||||
"Model A",
|
"Model A",
|
||||||
"Model B",
|
"Model B",
|
||||||
@ -1599,7 +1567,8 @@ volatile uint32_t *OrangePi_gpio;
|
|||||||
volatile uint32_t *OrangePi_gpioC;
|
volatile uint32_t *OrangePi_gpioC;
|
||||||
int pwmmode = 1;
|
int pwmmode = 1;
|
||||||
|
|
||||||
const char * int2bin(uint32_t param) {
|
const char *int2bin(uint32_t param)
|
||||||
|
{
|
||||||
int bits = sizeof(uint32_t) * CHAR_BIT;
|
int bits = sizeof(uint32_t) * CHAR_BIT;
|
||||||
static char buffer[sizeof(uint32_t) * CHAR_BIT + 1];
|
static char buffer[sizeof(uint32_t) * CHAR_BIT + 1];
|
||||||
char chars[2] = { '0', '1' };
|
char chars[2] = { '0', '1' };
|
||||||
@ -1732,7 +1701,8 @@ void writeR(unsigned int val, unsigned int addr)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_pwm_reg() {
|
void print_pwm_reg()
|
||||||
|
{
|
||||||
uint32_t val = readR(SUNXI_PWM_CTRL_REG);
|
uint32_t val = readR(SUNXI_PWM_CTRL_REG);
|
||||||
uint32_t val2 = readR(SUNXI_PWM_CH0_PERIOD);
|
uint32_t val2 = readR(SUNXI_PWM_CH0_PERIOD);
|
||||||
if (wiringPiDebug) {
|
if (wiringPiDebug) {
|
||||||
@ -1741,13 +1711,13 @@ void print_pwm_reg() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sunxi_pwm_set_enable(int en) {
|
void sunxi_pwm_set_enable(int en)
|
||||||
|
{
|
||||||
int val = 0;
|
int val = 0;
|
||||||
val = readR(SUNXI_PWM_CTRL_REG);
|
val = readR(SUNXI_PWM_CTRL_REG);
|
||||||
if (en) {
|
if (en) {
|
||||||
val |= (SUNXI_PWM_CH0_EN | SUNXI_PWM_SCLK_CH0_GATING);
|
val |= (SUNXI_PWM_CH0_EN | SUNXI_PWM_SCLK_CH0_GATING);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
val &= ~(SUNXI_PWM_CH0_EN | SUNXI_PWM_SCLK_CH0_GATING);
|
val &= ~(SUNXI_PWM_CH0_EN | SUNXI_PWM_SCLK_CH0_GATING);
|
||||||
}
|
}
|
||||||
if (wiringPiDebug)
|
if (wiringPiDebug)
|
||||||
@ -1757,7 +1727,8 @@ void sunxi_pwm_set_enable(int en) {
|
|||||||
print_pwm_reg();
|
print_pwm_reg();
|
||||||
}
|
}
|
||||||
|
|
||||||
void sunxi_pwm_set_mode(int mode) {
|
void sunxi_pwm_set_mode(int mode)
|
||||||
|
{
|
||||||
int val = 0;
|
int val = 0;
|
||||||
val = readR(SUNXI_PWM_CTRL_REG);
|
val = readR(SUNXI_PWM_CTRL_REG);
|
||||||
mode &= 1; //cover the mode to 0 or 1
|
mode &= 1; //cover the mode to 0 or 1
|
||||||
@ -1776,7 +1747,8 @@ void sunxi_pwm_set_mode(int mode) {
|
|||||||
print_pwm_reg();
|
print_pwm_reg();
|
||||||
}
|
}
|
||||||
|
|
||||||
void sunxi_pwm_set_clk(int clk) {
|
void sunxi_pwm_set_clk(int clk)
|
||||||
|
{
|
||||||
int val = 0;
|
int val = 0;
|
||||||
if (wiringPiDebug)
|
if (wiringPiDebug)
|
||||||
printf(">>function%s,no:%d\n", __func__, __LINE__);
|
printf(">>function%s,no:%d\n", __func__, __LINE__);
|
||||||
@ -1798,7 +1770,8 @@ void sunxi_pwm_set_clk(int clk) {
|
|||||||
/**
|
/**
|
||||||
* ch0 and ch1 set the same,16 bit period and 16 bit act
|
* ch0 and ch1 set the same,16 bit period and 16 bit act
|
||||||
*/
|
*/
|
||||||
int sunxi_pwm_get_period(void) {
|
int sunxi_pwm_get_period(void)
|
||||||
|
{
|
||||||
uint32_t period_cys = 0;
|
uint32_t period_cys = 0;
|
||||||
period_cys = readR(SUNXI_PWM_CH0_PERIOD); //get ch1 period_cys
|
period_cys = readR(SUNXI_PWM_CH0_PERIOD); //get ch1 period_cys
|
||||||
if (wiringPiDebug) {
|
if (wiringPiDebug) {
|
||||||
@ -1812,7 +1785,8 @@ int sunxi_pwm_get_period(void) {
|
|||||||
return period_cys;
|
return period_cys;
|
||||||
}
|
}
|
||||||
|
|
||||||
int sunxi_pwm_get_act(void) {
|
int sunxi_pwm_get_act(void)
|
||||||
|
{
|
||||||
uint32_t period_act = 0;
|
uint32_t period_act = 0;
|
||||||
period_act = readR(SUNXI_PWM_CH0_PERIOD); //get ch1 period_cys
|
period_act = readR(SUNXI_PWM_CH0_PERIOD); //get ch1 period_cys
|
||||||
period_act &= 0xffff; //get period_act
|
period_act &= 0xffff; //get period_act
|
||||||
@ -1822,7 +1796,8 @@ int sunxi_pwm_get_act(void) {
|
|||||||
return period_act;
|
return period_act;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sunxi_pwm_set_period(int period_cys) {
|
void sunxi_pwm_set_period(int period_cys)
|
||||||
|
{
|
||||||
uint32_t val = 0;
|
uint32_t val = 0;
|
||||||
//all clear to 0
|
//all clear to 0
|
||||||
if (wiringPiDebug)
|
if (wiringPiDebug)
|
||||||
@ -1844,7 +1819,8 @@ void sunxi_pwm_set_period(int period_cys) {
|
|||||||
print_pwm_reg();
|
print_pwm_reg();
|
||||||
}
|
}
|
||||||
|
|
||||||
void sunxi_pwm_set_act(int act_cys) {
|
void sunxi_pwm_set_act(int act_cys)
|
||||||
|
{
|
||||||
uint32_t per0 = 0;
|
uint32_t per0 = 0;
|
||||||
//keep period the same, clear act_cys to 0 first
|
//keep period the same, clear act_cys to 0 first
|
||||||
if (wiringPiDebug)
|
if (wiringPiDebug)
|
||||||
@ -1862,7 +1838,6 @@ void sunxi_pwm_set_act(int act_cys) {
|
|||||||
print_pwm_reg();
|
print_pwm_reg();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int OrangePi_get_gpio_mode(int pin)
|
int OrangePi_get_gpio_mode(int pin)
|
||||||
{
|
{
|
||||||
unsigned int regval = 0;
|
unsigned int regval = 0;
|
||||||
@ -1877,16 +1852,13 @@ int OrangePi_get_gpio_mode(int pin)
|
|||||||
if (bank == 1) {
|
if (bank == 1) {
|
||||||
grf_phyaddr = PMUGRF_BASE + ((index >> 3) << 2) + 0x10;
|
grf_phyaddr = PMUGRF_BASE + ((index >> 3) << 2) + 0x10;
|
||||||
ddr_phyaddr = GPIO1_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
ddr_phyaddr = GPIO1_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
||||||
}
|
} else if (bank == 2) {
|
||||||
else if(bank == 2){
|
|
||||||
grf_phyaddr = GRF_BASE + ((index >> 3) << 2);
|
grf_phyaddr = GRF_BASE + ((index >> 3) << 2);
|
||||||
ddr_phyaddr = GPIO2_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
ddr_phyaddr = GPIO2_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
||||||
}
|
} else if (bank == 4) {
|
||||||
else if(bank == 4){
|
|
||||||
grf_phyaddr = GRF_BASE + ((index >> 3) << 2) + 0x20;
|
grf_phyaddr = GRF_BASE + ((index >> 3) << 2) + 0x20;
|
||||||
ddr_phyaddr = GPIO4_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
ddr_phyaddr = GPIO4_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
||||||
}
|
} else;
|
||||||
else ;
|
|
||||||
if (ORANGEPI_PIN_MASK[bank - 1][index] != -1) {
|
if (ORANGEPI_PIN_MASK[bank - 1][index] != -1) {
|
||||||
regval = readR(grf_phyaddr);
|
regval = readR(grf_phyaddr);
|
||||||
mode = (regval >> (offset << 1)) & 0x3; //获取控制模式的那两位的值
|
mode = (regval >> (offset << 1)) & 0x3; //获取控制模式的那两位的值
|
||||||
@ -1907,32 +1879,26 @@ int OrangePi_get_gpio_mode(int pin)
|
|||||||
if (0 == (index >> 3)) //gpio2_ax
|
if (0 == (index >> 3)) //gpio2_ax
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x20;
|
grf_phyaddr = GRF_BASE + 0x20;
|
||||||
}
|
} else if (3 == (index >> 3)) //gpio2_dx
|
||||||
else if(3 == (index >> 3))//gpio2_dx
|
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x34;
|
grf_phyaddr = GRF_BASE + 0x34;
|
||||||
}
|
}
|
||||||
}
|
} else if (bank == 3) {
|
||||||
else if(bank == 3){
|
|
||||||
//grf_phyaddr = GRF_BASE + ((index >> 3) << 2) +0x20;
|
//grf_phyaddr = GRF_BASE + ((index >> 3) << 2) +0x20;
|
||||||
ddr_phyaddr = GPIO3_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
ddr_phyaddr = GPIO3_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
||||||
if (0 == (index >> 3))
|
if (0 == (index >> 3)) {
|
||||||
{
|
|
||||||
if (4 == offset) //gpio3_a4
|
if (4 == offset) //gpio3_a4
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x38;
|
grf_phyaddr = GRF_BASE + 0x38;
|
||||||
}
|
} else //gpio3_a567
|
||||||
else//gpio3_a567
|
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x3c;
|
grf_phyaddr = GRF_BASE + 0x3c;
|
||||||
}
|
}
|
||||||
}
|
} else if (2 == (index >> 3)) //gpio3_c
|
||||||
else if(2 == (index >> 3)) //gpio3_c
|
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x48;
|
grf_phyaddr = GRF_BASE + 0x48;
|
||||||
}
|
}
|
||||||
}
|
} else;
|
||||||
else;
|
|
||||||
if (ORANGEPI_PIN_MASK[bank - 1][index] != -1) {
|
if (ORANGEPI_PIN_MASK[bank - 1][index] != -1) {
|
||||||
regval = readR(grf_phyaddr);
|
regval = readR(grf_phyaddr);
|
||||||
writeR(0xffff9877, 0xff440240);
|
writeR(0xffff9877, 0xff440240);
|
||||||
@ -1940,9 +1906,7 @@ int OrangePi_get_gpio_mode(int pin)
|
|||||||
if (3 == bank && (0 == (index >> 3))) //gpio3_ax需要写3位
|
if (3 == bank && (0 == (index >> 3))) //gpio3_ax需要写3位
|
||||||
{
|
{
|
||||||
mode = (regval >> ((offset % 5) * 3)) & 0x7;
|
mode = (regval >> ((offset % 5) * 3)) & 0x7;
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
mode = (regval >> (offset << 1)) & 0x3;
|
mode = (regval >> (offset << 1)) & 0x3;
|
||||||
}
|
}
|
||||||
if (mode == 0) {
|
if (mode == 0) {
|
||||||
@ -1957,8 +1921,7 @@ int OrangePi_get_gpio_mode(int pin)
|
|||||||
|
|
||||||
if (bank == 11) {
|
if (bank == 11) {
|
||||||
phyaddr = GPIOL_BASE + ((index >> 3) << 2);
|
phyaddr = GPIOL_BASE + ((index >> 3) << 2);
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
phyaddr = GPIO_BASE_MAP + (bank * 36) + ((index >> 3) << 2);
|
phyaddr = GPIO_BASE_MAP + (bank * 36) + ((index >> 3) << 2);
|
||||||
|
|
||||||
/* Ignore unused gpio */
|
/* Ignore unused gpio */
|
||||||
@ -1991,8 +1954,7 @@ int OrangePi_set_gpio_mode(int pin, int mode)
|
|||||||
|
|
||||||
if (bank == 11) {
|
if (bank == 11) {
|
||||||
phyaddr = GPIOL_BASE + ((index >> 3) << 2);
|
phyaddr = GPIOL_BASE + ((index >> 3) << 2);
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
phyaddr = GPIO_BASE_MAP + (bank * 36) + ((index >> 3) << 2);
|
phyaddr = GPIO_BASE_MAP + (bank * 36) + ((index >> 3) << 2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2026,13 +1988,11 @@ int OrangePi_set_gpio_mode(int pin, int mode)
|
|||||||
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
||||||
grf_phyaddr = GRF_BASE + ((index >> 3) << 2);
|
grf_phyaddr = GRF_BASE + ((index >> 3) << 2);
|
||||||
gpio_phyaddr = GPIO2_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
gpio_phyaddr = GPIO2_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
||||||
}
|
} else if (bank == 4) {
|
||||||
else if(bank == 4){
|
|
||||||
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
||||||
grf_phyaddr = GRF_BASE + ((index >> 3) << 2) + 0x20;
|
grf_phyaddr = GRF_BASE + ((index >> 3) << 2) + 0x20;
|
||||||
gpio_phyaddr = GPIO4_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
gpio_phyaddr = GPIO4_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
||||||
}
|
} else;
|
||||||
else;
|
|
||||||
|
|
||||||
#elif (defined CONFIG_ORANGEPI_R1PLUS)
|
#elif (defined CONFIG_ORANGEPI_R1PLUS)
|
||||||
if (bank == 2) { //gpio2
|
if (bank == 2) { //gpio2
|
||||||
@ -2042,33 +2002,27 @@ int OrangePi_set_gpio_mode(int pin, int mode)
|
|||||||
if (0 == (index >> 3)) //gpio2_ax
|
if (0 == (index >> 3)) //gpio2_ax
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x20;
|
grf_phyaddr = GRF_BASE + 0x20;
|
||||||
}
|
} else if (3 == (index >> 3)) //gpio2_dx
|
||||||
else if(3 == (index >> 3))//gpio2_dx
|
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x34;
|
grf_phyaddr = GRF_BASE + 0x34;
|
||||||
}
|
}
|
||||||
}
|
} else if (bank == 3) {
|
||||||
else if(bank == 3){
|
|
||||||
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON16_OFFSET;
|
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON16_OFFSET;
|
||||||
//grf_phyaddr = GRF_BASE + ((index >> 3) << 2) +0x20;
|
//grf_phyaddr = GRF_BASE + ((index >> 3) << 2) +0x20;
|
||||||
gpio_phyaddr = GPIO3_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
gpio_phyaddr = GPIO3_BASE + GPIO_SWPORTA_DDR_OFFSET;
|
||||||
if (0 == (index >> 3))
|
if (0 == (index >> 3)) {
|
||||||
{
|
|
||||||
if (4 == offset) //gpio3_a4
|
if (4 == offset) //gpio3_a4
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x38;
|
grf_phyaddr = GRF_BASE + 0x38;
|
||||||
}
|
} else //gpio3_a567
|
||||||
else//gpio3_a567
|
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x3c;
|
grf_phyaddr = GRF_BASE + 0x3c;
|
||||||
}
|
}
|
||||||
}
|
} else if (2 == (index >> 3)) //gpio3_c
|
||||||
else if(2 == (index >> 3)) //gpio3_c
|
|
||||||
{
|
{
|
||||||
grf_phyaddr = GRF_BASE + 0x48;
|
grf_phyaddr = GRF_BASE + 0x48;
|
||||||
}
|
}
|
||||||
}
|
} else;
|
||||||
else;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Ignore unused gpio */
|
/* Ignore unused gpio */
|
||||||
@ -2108,8 +2062,7 @@ int OrangePi_set_gpio_mode(int pin, int mode)
|
|||||||
{
|
{
|
||||||
regval |= 0xffff0000;
|
regval |= 0xffff0000;
|
||||||
regval &= ~(0x7 << ((offset % 5) * 3));
|
regval &= ~(0x7 << ((offset % 5) * 3));
|
||||||
}
|
} else //其他的写两位
|
||||||
else //其他的写两位
|
|
||||||
{
|
{
|
||||||
regval |= 0xffff0000;
|
regval |= 0xffff0000;
|
||||||
regval &= ~(0x3 << (offset << 1));
|
regval &= ~(0x3 << (offset << 1));
|
||||||
@ -2157,8 +2110,7 @@ int OrangePi_set_gpio_mode(int pin, int mode)
|
|||||||
{
|
{
|
||||||
regval |= 0xffff0000;
|
regval |= 0xffff0000;
|
||||||
regval &= ~(0x7 << ((offset % 5) * 3));
|
regval &= ~(0x7 << ((offset % 5) * 3));
|
||||||
}
|
} else //其他的写两位
|
||||||
else //其他的写两位
|
|
||||||
{
|
{
|
||||||
regval |= 0xffff0000;
|
regval |= 0xffff0000;
|
||||||
regval &= ~(0x3 << (offset << 1));
|
regval &= ~(0x3 << (offset << 1));
|
||||||
@ -2204,8 +2156,7 @@ int OrangePi_set_gpio_mode(int pin, int mode)
|
|||||||
pwmSetMode(PWM_MODE_MS);
|
pwmSetMode(PWM_MODE_MS);
|
||||||
sunxi_pwm_set_clk(PWM_CLK_DIV_120); //default clk:24M/120
|
sunxi_pwm_set_clk(PWM_CLK_DIV_120); //default clk:24M/120
|
||||||
delayMicroseconds(200);
|
delayMicroseconds(200);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
printf("Unknow mode\n");
|
printf("Unknow mode\n");
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
@ -2245,20 +2196,17 @@ int OrangePi_set_gpio_pullUpDnControl(int pin, int pud)
|
|||||||
bit_value = 3;
|
bit_value = 3;
|
||||||
else
|
else
|
||||||
bit_value = 1;
|
bit_value = 1;
|
||||||
}
|
} else if (PUD_DOWN == pud) {
|
||||||
else if (PUD_DOWN == pud) {
|
|
||||||
if (pin < 8 || (bank == 2 && index > 15)) /* gpio0a, gpio2c, gpio2d */
|
if (pin < 8 || (bank == 2 && index > 15)) /* gpio0a, gpio2c, gpio2d */
|
||||||
bit_value = 1;
|
bit_value = 1;
|
||||||
else
|
else
|
||||||
bit_value = 2;
|
bit_value = 2;
|
||||||
}
|
} else if (PUD_OFF == pud) {
|
||||||
else if (PUD_OFF == pud) {
|
|
||||||
bit_value = 0;
|
bit_value = 0;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
unsigned int pullOffset = 0x1C;
|
unsigned int pullOffset = 0x1C;
|
||||||
switch (pud)
|
switch (pud) {
|
||||||
{
|
|
||||||
case PUD_OFF:
|
case PUD_OFF:
|
||||||
bit_value = SUNXI_PUD_OFF;
|
bit_value = SUNXI_PUD_OFF;
|
||||||
break;
|
break;
|
||||||
@ -2275,16 +2223,13 @@ int OrangePi_set_gpio_pullUpDnControl(int pin, int pud)
|
|||||||
offset = ((index - ((index >> 4) << 4)) << 1);
|
offset = ((index - ((index >> 4) << 4)) << 1);
|
||||||
pullOffset = 0x1C;
|
pullOffset = 0x1C;
|
||||||
|
|
||||||
if (bank == 11)
|
if (bank == 11) {
|
||||||
{
|
|
||||||
phyaddr = pullOffset + GPIOL_BASE + ((index >> 4) << 2);
|
phyaddr = pullOffset + GPIOL_BASE + ((index >> 4) << 2);
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
phyaddr = pullOffset + GPIO_BASE_MAP + (bank * 36) + ((index >> 4) << 2);
|
phyaddr = pullOffset + GPIO_BASE_MAP + (bank * 36) + ((index >> 4) << 2);
|
||||||
#endif
|
#endif
|
||||||
/* Ignore unused gpio */
|
/* Ignore unused gpio */
|
||||||
if (ORANGEPI_PIN_MASK[bank][index] != -1)
|
if (ORANGEPI_PIN_MASK[bank][index] != -1) {
|
||||||
{
|
|
||||||
if (wiringPiDebug)
|
if (wiringPiDebug)
|
||||||
printf("bank: %d, index: %d\n", bank, index);
|
printf("bank: %d, index: %d\n", bank, index);
|
||||||
|
|
||||||
@ -2309,8 +2254,7 @@ int OrangePi_set_gpio_pullUpDnControl(int pin, int pud)
|
|||||||
|
|
||||||
if (wiringPiDebug)
|
if (wiringPiDebug)
|
||||||
printf("over reg val: %#x\n", regval);
|
printf("over reg val: %#x\n", regval);
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
printf("Pin pull control failed!\n");
|
printf("Pin pull control failed!\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -2366,8 +2310,7 @@ int OrangePi_digitalWrite(int pin, int value)
|
|||||||
|
|
||||||
if (bank == 11) {
|
if (bank == 11) {
|
||||||
phyaddr = GPIOL_BASE + 0x10;
|
phyaddr = GPIOL_BASE + 0x10;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
phyaddr = GPIO_BASE_MAP + (bank * 36) + 0x10;
|
phyaddr = GPIO_BASE_MAP + (bank * 36) + 0x10;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2419,27 +2362,22 @@ int OrangePi_digitalWrite(int pin, int value)
|
|||||||
if (bank == 1) {
|
if (bank == 1) {
|
||||||
phyaddr = GPIO1_BASE + GPIO_SWPORTA_DR_OFFSET;
|
phyaddr = GPIO1_BASE + GPIO_SWPORTA_DR_OFFSET;
|
||||||
cru_phyaddr = PMUCRU_BASE + PMUCRU_CLKGATE_CON1_OFFSET;
|
cru_phyaddr = PMUCRU_BASE + PMUCRU_CLKGATE_CON1_OFFSET;
|
||||||
}
|
} else if (bank == 2) {
|
||||||
else if(bank == 2){
|
|
||||||
phyaddr = GPIO2_BASE + GPIO_SWPORTA_DR_OFFSET;
|
phyaddr = GPIO2_BASE + GPIO_SWPORTA_DR_OFFSET;
|
||||||
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
||||||
}
|
} else if (bank == 4) {
|
||||||
else if(bank == 4){
|
|
||||||
phyaddr = GPIO4_BASE + GPIO_SWPORTA_DR_OFFSET;
|
phyaddr = GPIO4_BASE + GPIO_SWPORTA_DR_OFFSET;
|
||||||
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON31_OFFSET;
|
||||||
}
|
} else;
|
||||||
else;
|
|
||||||
|
|
||||||
#elif (defined CONFIG_ORANGEPI_R1PLUS)
|
#elif (defined CONFIG_ORANGEPI_R1PLUS)
|
||||||
if (bank == 2) {
|
if (bank == 2) {
|
||||||
phyaddr = GPIO2_BASE + GPIO_SWPORTA_DR_OFFSET;
|
phyaddr = GPIO2_BASE + GPIO_SWPORTA_DR_OFFSET;
|
||||||
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON16_OFFSET;
|
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON16_OFFSET;
|
||||||
}
|
} else if (bank == 3) {
|
||||||
else if(bank == 3){
|
|
||||||
phyaddr = GPIO3_BASE + GPIO_SWPORTA_DR_OFFSET;
|
phyaddr = GPIO3_BASE + GPIO_SWPORTA_DR_OFFSET;
|
||||||
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON16_OFFSET;
|
cru_phyaddr = CRU_BASE + CRU_CLKGATE_CON16_OFFSET;
|
||||||
}
|
} else;
|
||||||
else;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/* Ignore unused gpio */
|
/* Ignore unused gpio */
|
||||||
@ -2490,8 +2428,7 @@ int OrangePi_digitalRead(int pin)
|
|||||||
|
|
||||||
if (bank == 11) {
|
if (bank == 11) {
|
||||||
phyaddr = GPIOL_BASE + 0x10;
|
phyaddr = GPIOL_BASE + 0x10;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
phyaddr = GPIO_BASE_MAP + (bank * 36) + 0x10;
|
phyaddr = GPIO_BASE_MAP + (bank * 36) + 0x10;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2596,7 +2533,6 @@ int isOrangePi(void)
|
|||||||
/* Support: OrangePi R1plus */
|
/* Support: OrangePi R1plus */
|
||||||
char *OrangePi_string = "rk3328";
|
char *OrangePi_string = "rk3328";
|
||||||
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Non-support */
|
/* Non-support */
|
||||||
char *OrangePi_string = "none";
|
char *OrangePi_string = "none";
|
||||||
|
@ -122,7 +122,6 @@
|
|||||||
#define GRF_GPIO4C_IOMUX_OFFSET 0x28
|
#define GRF_GPIO4C_IOMUX_OFFSET 0x28
|
||||||
#define GRF_GPIO4D_IOMUX_OFFSET 0x2c
|
#define GRF_GPIO4D_IOMUX_OFFSET 0x2c
|
||||||
|
|
||||||
|
|
||||||
#define CRU_BASE 0xff760000
|
#define CRU_BASE 0xff760000
|
||||||
#define PMUCRU_BASE 0xff750000
|
#define PMUCRU_BASE 0xff750000
|
||||||
#define CRU_CLKGATE_CON31_OFFSET 0x037c //bit 3 4 5
|
#define CRU_CLKGATE_CON31_OFFSET 0x037c //bit 3 4 5
|
||||||
@ -142,7 +141,6 @@ extern volatile unsigned int *gpio4_base;
|
|||||||
#endif /* CONFIG_ORANGEPI_RK3399 */
|
#endif /* CONFIG_ORANGEPI_RK3399 */
|
||||||
//csy 2019.1.8
|
//csy 2019.1.8
|
||||||
|
|
||||||
|
|
||||||
/*********** OrangePi R1PLUS *************/
|
/*********** OrangePi R1PLUS *************/
|
||||||
#if CONFIG_ORANGEPI_R1PLUS
|
#if CONFIG_ORANGEPI_R1PLUS
|
||||||
|
|
||||||
@ -180,12 +178,9 @@ extern volatile unsigned int *gpio3_base;
|
|||||||
extern volatile unsigned int *cru_base;
|
extern volatile unsigned int *cru_base;
|
||||||
extern volatile unsigned int *grf_base;
|
extern volatile unsigned int *grf_base;
|
||||||
|
|
||||||
|
|
||||||
#endif /* CONFIG_ORANGEPI_R1PLUS */
|
#endif /* CONFIG_ORANGEPI_R1PLUS */
|
||||||
//FG 2020.11.26
|
//FG 2020.11.26
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/****************** Global data *********************/
|
/****************** Global data *********************/
|
||||||
/* Current version */
|
/* Current version */
|
||||||
#define PI_MAKER_ORANGEPI 4
|
#define PI_MAKER_ORANGEPI 4
|
||||||
@ -197,7 +192,6 @@ extern volatile unsigned int *grf_base;
|
|||||||
#define ORANGEPI_MEM_INFO MEM_INFO
|
#define ORANGEPI_MEM_INFO MEM_INFO
|
||||||
#define GPIO_PWM GPIO_PWM_OP
|
#define GPIO_PWM GPIO_PWM_OP
|
||||||
|
|
||||||
|
|
||||||
//sunxi_pwm
|
//sunxi_pwm
|
||||||
#define SUNXI_PWM_BASE (0x01c21400)
|
#define SUNXI_PWM_BASE (0x01c21400)
|
||||||
#define SUNXI_PWM_CTRL_REG (SUNXI_PWM_BASE)
|
#define SUNXI_PWM_CTRL_REG (SUNXI_PWM_BASE)
|
||||||
@ -261,7 +255,6 @@ extern int sunxi_pwm_get_act(void);
|
|||||||
extern void sunxi_pwm_set_period(int period_cys);
|
extern void sunxi_pwm_set_period(int period_cys);
|
||||||
extern void sunxi_pwm_set_act(int act_cys);
|
extern void sunxi_pwm_set_act(int act_cys);
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_ORANGEPI
|
#ifdef CONFIG_ORANGEPI
|
||||||
extern const char *piModelNames[6];
|
extern const char *piModelNames[6];
|
||||||
#endif
|
#endif
|
||||||
@ -281,6 +274,5 @@ extern int ORANGEPI_PIN_MASK[5][32];
|
|||||||
#elif CONFIG_ORANGEPI_R1PLUS
|
#elif CONFIG_ORANGEPI_R1PLUS
|
||||||
extern int ORANGEPI_PIN_MASK[5][32];
|
extern int ORANGEPI_PIN_MASK[5][32];
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user