RK3288如何开机GPIO为高或者为低
来源:互联网 发布:pc端软件界面设计 编辑:程序博客网 时间:2024/05/16 08:29
1,修改/kernel/arch/arm/boot/dts/rk3288-box.dts
- usb_control {
- compatible = "rockchip,rk3288-usb-control";
- host_drv_gpio = <&gpio0 GPIO_B6 GPIO_ACTIVE_LOW>;//modify by jiangdou
- otg_drv_gpio = <&gpio0 GPIO_B4 GPIO_ACTIVE_LOW>;
- ++ 3G_VCC_33_POWER = <&gpio7 GPIO_A5 GPIO_ACTIVE_HIGH>;//modify by jiangdou for 3G_POWER
2,修改/kernel/drivers/usb/dwc_otg_310/usbdev_rk32.c
- ++#define INVALID_GPIO -1 //add for 3G_power by jiangdou
- ++int power_3g_en = INVALID_GPIO;//add for 3G_power by jiangdou
- static int rk_usb_control_probe(struct platform_device *pdev)
- {
- int gpio, err;
- struct device_node *np = pdev->dev.of_node;
- int ret = 0;
- control_usb =
- devm_kzalloc(&pdev->dev, sizeof(*control_usb), GFP_KERNEL);
- if (!control_usb) {
- dev_err(&pdev->dev, "unable to alloc memory for control usb\n");
- ret = -ENOMEM;
- goto out;
- }
- control_usb->chip_id = RK3288_USB_CTLR;
- control_usb->remote_wakeup = of_property_read_bool(np,
- "rockchip,remote_wakeup");
- control_usb->usb_irq_wakeup = of_property_read_bool(np,
- "rockchip,usb_irq_wakeup");
- INIT_DELAYED_WORK(&control_usb->usb_charger_det_work,
- usb_battery_charger_detect_work);
- control_usb->host_gpios =
- devm_kzalloc(&pdev->dev, sizeof(struct gpio), GFP_KERNEL);
- if (!control_usb->host_gpios) {
- dev_err(&pdev->dev, "unable to alloc memory for host_gpios\n");
- ret = -ENOMEM;
- goto out;
- }
- ++/*------------------------------我是分割线----------------------------------*/
- ++//add for 3G_power by jiangdou start
- ++ power_3g_en = of_get_named_gpio(np, "3G_VCC_33_POWER", 0);
- ++ if (!gpio_is_valid(power_3g_en)) {
- ++ dev_err(&pdev->dev, "invalid host gpio%d\n", power_3g_en);
- ++ } else {
- ++ err = devm_gpio_request(&pdev->dev, power_3g_en, "3G_VCC_33_POWER");
- ++ if (err) {
- ++ dev_err(&pdev->dev,
- ++ "failed to request GPIO%d for host_drv\n",
- ++ power_3g_en);
- ++ ret = err;
- ++ //goto out;
- ++ }
- ++ gpio_direction_output(power_3g_en, 1);
- ++ }
- ++
- ++//add for 3G_power by jiangdou end
- ++/*------------------------------我是分割线----------------------------------*/
- gpio = of_get_named_gpio(np, "host_drv_gpio", 0);
0 0
- RK3288如何开机GPIO为高或者为低
- RK3288如何开机GPIO为高或者为低
- 如何将数据库由高版本降为低版本
- [RK3288][Android6.0] 调试笔记 --- 开机语言默认为简体中文
- gpio在输入模式下一直为低电平解决方法
- 较低类型转换为较高类型
- 如何判断字符为数字或者字母
- RK3288 GPIO 输出问题
- RK3288的gpio设置
- rk3288 gpio控制
- 分享一段shell脚本--su权限下自动读取某个GPIO电平,判断为低即自动关机的功能
- sql server如何将高版本的数据迁移到低版本中。解决数据库 'XX' 的版本为 655,无法打开。此服务器支持 611 版及...
- sql server如何将高版本的数据迁移到低版本中。解决数据库 'XX' 的版本为 655,无法打开。此服务器支持 611 版及...
- OllyDbg如何获取低16为的值,并扩展为32位
- 如何判断ipad或者iphone是否为横屏或者竖屏 - portrait或者landsc
- 高内聚,低耦合 为何物?
- 高内聚,低耦合 为何物?
- wince如何开机自动旋转LCD为竖屏?
- GYM 101102 F.Exchange(水~)
- 微信公众号分享
- springMVC 实现ehcache 缓存 demo
- Linux中安装svn服务版
- Gradle
- RK3288如何开机GPIO为高或者为低
- [我眼中的C#]String和StringBuilder
- 使用Shiro入门
- MYSQL的常用命令和增删改查语句和数据类型
- ubuntu下libpcap的安装
- opencv 判断点相对于轮廓的位置关系
- 高并发解决方案——提升高并发量服务器性能解决思路
- ES6(四) 变量的解构赋值
- Hrbust 2171 最佳工厂【贪心+优先队列】经典题型