This commit is contained in:
28
gpio/gpio.c
28
gpio/gpio.c
@@ -1358,38 +1358,44 @@ static void doVersion (char *argv [])
|
||||
printf ("\n") ;
|
||||
piBoardId (&model, &rev, &mem, &maker, &warranty) ;
|
||||
|
||||
printf ("Raspberry Pi Details:\n") ;
|
||||
printf ("Hardware details:\n") ;
|
||||
printf (" Type: %s, Revision: %s, Memory: %dMB, Maker: %s %s\n",
|
||||
piModelNames [model], piRevisionNames [rev], piMemorySize [mem], piMakerNames [maker], warranty ? "[Out of Warranty]" : "") ;
|
||||
|
||||
// Check for device tree
|
||||
|
||||
if (stat ("/proc/device-tree", &statBuf) == 0) // We're on a devtree system ...
|
||||
printf (" * Device tree is enabled.\n") ;
|
||||
|
||||
printf ("System details:\n") ;
|
||||
if (stat ("/proc/device-tree", &statBuf) == 0) { // We're on a devtree system ...
|
||||
printf (" * Device tree present.\n") ;
|
||||
}
|
||||
if (stat ("/proc/device-tree/model", &statBuf) == 0) // Output Kernel idea of board type
|
||||
{
|
||||
if ((fd = fopen ("/proc/device-tree/model", "r")) != NULL)
|
||||
{
|
||||
fgets (name, 80, fd) ;
|
||||
fclose (fd) ;
|
||||
printf (" *--> %s\n", name) ;
|
||||
printf (" Model: %s\n", name) ;
|
||||
}
|
||||
}
|
||||
|
||||
int bGlobalAccess = wiringPiGlobalMemoryAccess(); // User level GPIO is GO
|
||||
switch(bGlobalAccess) {
|
||||
case 0:
|
||||
printf (" * Does not support basic user-level GPIO access via memory.\n") ;
|
||||
break;
|
||||
case 1:
|
||||
printf (" * This system supports basic user-level GPIO access via /dev/mem.\n") ;
|
||||
printf (" * Supports basic user-level GPIO access via /dev/mem.\n") ;
|
||||
break;
|
||||
case 2:
|
||||
printf (" * This system supports full user-level GPIO access via /dev/mem.\n") ;
|
||||
printf (" * Supports full user-level GPIO access via memory.\n") ;
|
||||
break;
|
||||
}
|
||||
if (wiringPiUserLevelAccess()) {
|
||||
printf (" * This system supports basic user-level GPIO access via /dev/gpiomem.\n") ;
|
||||
} else if(0==bGlobalAccess) {
|
||||
printf (" * This system may require root or sudo for GPIO access.\n") ;
|
||||
printf (" * Supports basic user-level GPIO access via /dev/gpiomem.\n") ;
|
||||
} else {
|
||||
printf (" * Does not support basic user-level GPIO access via /dev/gpiomem.\n") ;
|
||||
if(0==bGlobalAccess) {
|
||||
printf (" * root or sudo may be required for GPIO access.\n") ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2548,8 +2548,8 @@ int wiringPiGlobalMemoryAccess(void)
|
||||
if (PI_MODEL_5 == RaspberryPiModel) {
|
||||
gpiomemGlobal = pciemem_RP1;
|
||||
MMAP_size = pciemem_RP1_Size;
|
||||
BaseAddr = (RP1_IO0_Addr-RP1_BASE_Addr) ;
|
||||
PWMAddr = RP1_PWM0_Addr-RP1_BASE_Addr;
|
||||
BaseAddr = 0x00000000;
|
||||
PWMAddr = 0x00000000; //not supported so far
|
||||
} else {
|
||||
gpiomemGlobal = gpiomem_global;
|
||||
MMAP_size = BLOCK_SIZE;
|
||||
|
||||
Reference in New Issue
Block a user