@@ -1389,6 +1389,63 @@ static void bonew1_gpio_init(int evm_id, int profile )
13891389 pr_info ("w1-gpio connected to P8_6\n" );
13901390}
13911391
1392+ /* Nano init */
1393+
1394+ #define NANO_FRAM_CS 0
1395+
1396+ /* Pin mux for nano module */
1397+ static struct pinmux_config nano_pin_mux [] = {
1398+ {"gpmc_ad0.gpmc_ad0" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1399+ {"gpmc_ad1.gpmc_ad1" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1400+ {"gpmc_ad2.gpmc_ad2" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1401+ {"gpmc_ad3.gpmc_ad3" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1402+ {"gpmc_ad4.gpmc_ad4" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1403+ {"gpmc_ad5.gpmc_ad5" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1404+ {"gpmc_ad6.gpmc_ad6" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1405+ {"gpmc_ad7.gpmc_ad7" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1406+ {"gpmc_ad8.gpmc_ad8" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1407+ {"gpmc_ad9.gpmc_ad9" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1408+ {"gpmc_ad10.gpmc_ad10" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1409+ {"gpmc_ad11.gpmc_ad11" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1410+ {"gpmc_ad12.gpmc_ad12" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1411+ {"gpmc_ad13.gpmc_ad13" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1412+ {"gpmc_ad14.gpmc_ad14" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1413+ {"gpmc_ad15.gpmc_ad15" , OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP },
1414+
1415+ //{"lcd_data1.gpmc_a1", OMAP_MUX_MODE1 | AM33XX_PULL_DISA},
1416+ {"lcd_data2.gpmc_a2" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1417+ {"lcd_data3.gpmc_a3" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1418+ {"lcd_data4.gpmc_a4" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1419+ {"lcd_data5.gpmc_a5" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1420+ {"lcd_data6.gpmc_a6" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1421+ {"lcd_data7.gpmc_a7" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1422+ {"lcd_vsync.gpmc_a8" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1423+ {"lcd_hsync.gpmc_a9" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1424+ {"lcd_pclk.gpmc_a10" , OMAP_MUX_MODE1 | AM33XX_PULL_DISA },
1425+
1426+ {"gpmc_csn0.gpmc_csn0" , OMAP_MUX_MODE0 | AM33XX_PULL_DISA },
1427+ {"gpmc_csn1.gpmc_csn1" , OMAP_MUX_MODE0 | AM33XX_PULL_DISA },
1428+ {"gpmc_advn_ale.gpmc_advn_ale" , OMAP_MUX_MODE0 | AM33XX_PULL_DISA },
1429+ {"gpmc_oen_ren.gpmc_oen_ren" , OMAP_MUX_MODE0 | AM33XX_PULL_DISA },
1430+ {"gpmc_wen.gpmc_wen" , OMAP_MUX_MODE0 | AM33XX_PULL_DISA },
1431+ {NULL , 0 },
1432+ };
1433+
1434+ static void nano_init (int evm_id , int profile )
1435+ {
1436+ unsigned long fram_base ;
1437+
1438+ setup_pin_mux (nano_pin_mux );
1439+ printk (KERN_INFO "Nano Pin Mux Complete\n" );
1440+
1441+ if (gpmc_cs_request (NANO_FRAM_CS , SZ_16M , & fram_base ) < 0 )
1442+ printk (KERN_ERR "Failed to request GPMC mem for FRAM\n" );
1443+ else
1444+ printk (KERN_INFO "GPMC mem for FRAM @ %lu\n" , fram_base );
1445+ }
1446+
1447+ /* Nano init - end */
1448+
13921449static void rgmii1_init (int evm_id , int profile )
13931450{
13941451 setup_pin_mux (rgmii1_pin_mux );
@@ -2311,6 +2368,7 @@ static struct evm_dev_cfg beaglebone_dev_cfg[] = {
23112368 {mmc0_init , DEV_ON_BASEBOARD , PROFILE_NONE },
23122369 {boneleds_init , DEV_ON_BASEBOARD , PROFILE_ALL },
23132370 {bonew1_gpio_init , DEV_ON_BASEBOARD , PROFILE_ALL },
2371+ {nano_init , DEV_ON_BASEBOARD , PROFILE_ALL },
23142372 {NULL , 0 , 0 },
23152373};
23162374
0 commit comments