Lines Matching +full:0 +full:- +full:inch
1 // SPDX-License-Identifier: GPL-2.0
22 #define REG_ID 0x80
23 #define REG_PORTA 0x81
26 #define REG_PORTB 0x82
27 #define REG_POWERON 0x85
28 #define REG_PWM 0x86
41 regmap_write(rdev->regmap, REG_POWERON, 1); in attiny_lcd_power_enable()
43 regmap_read_poll_timeout(rdev->regmap, REG_PORTB, data, in attiny_lcd_power_enable()
44 data & BIT(0), 10, 1000000); in attiny_lcd_power_enable()
51 regmap_write(rdev->regmap, REG_PORTA, BIT(2)); in attiny_lcd_power_enable()
53 return 0; in attiny_lcd_power_enable()
58 regmap_write(rdev->regmap, REG_PWM, 0); in attiny_lcd_power_disable()
59 regmap_write(rdev->regmap, REG_POWERON, 0); in attiny_lcd_power_disable()
61 return 0; in attiny_lcd_power_disable()
69 ret = regmap_read(rdev->regmap, REG_POWERON, &data); in attiny_lcd_power_is_enabled()
70 if (ret < 0) in attiny_lcd_power_is_enabled()
73 if (!(data & BIT(0))) in attiny_lcd_power_is_enabled()
74 return 0; in attiny_lcd_power_is_enabled()
76 ret = regmap_read(rdev->regmap, REG_PORTB, &data); in attiny_lcd_power_is_enabled()
77 if (ret < 0) in attiny_lcd_power_is_enabled()
80 return data & BIT(0); in attiny_lcd_power_is_enabled()
96 .name = "tc358762-power",
105 int brightness = bl->props.brightness; in attiny_update_status()
107 if (bl->props.power != FB_BLANK_UNBLANK || in attiny_update_status()
108 bl->props.fb_blank != FB_BLANK_UNBLANK) in attiny_update_status()
109 brightness = 0; in attiny_update_status()
148 dev_err(&i2c->dev, "Failed to allocate register map: %d\n", in attiny_i2c_probe()
154 if (ret < 0) { in attiny_i2c_probe()
155 dev_err(&i2c->dev, "Failed to read REG_ID reg: %d\n", ret); in attiny_i2c_probe()
160 case 0xde: /* ver 1 */ in attiny_i2c_probe()
161 case 0xc3: /* ver 2 */ in attiny_i2c_probe()
164 dev_err(&i2c->dev, "Unknown Atmel firmware revision: 0x%02x\n", data); in attiny_i2c_probe()
165 return -ENODEV; in attiny_i2c_probe()
168 regmap_write(regmap, REG_POWERON, 0); in attiny_i2c_probe()
171 config.dev = &i2c->dev; in attiny_i2c_probe()
173 config.of_node = i2c->dev.of_node; in attiny_i2c_probe()
176 rdev = devm_regulator_register(&i2c->dev, &attiny_regulator, &config); in attiny_i2c_probe()
178 dev_err(&i2c->dev, "Failed to register ATTINY regulator\n"); in attiny_i2c_probe()
183 props.max_brightness = 0xff; in attiny_i2c_probe()
184 bl = devm_backlight_device_register(&i2c->dev, in attiny_i2c_probe()
185 "7inch-touchscreen-panel-bl", in attiny_i2c_probe()
186 &i2c->dev, regmap, &attiny_bl, in attiny_i2c_probe()
191 bl->props.brightness = 0xff; in attiny_i2c_probe()
193 return 0; in attiny_i2c_probe()
197 { .compatible = "raspberrypi,7inch-touchscreen-panel-regulator" },
213 MODULE_DESCRIPTION("Regulator device driver for Raspberry Pi 7-inch touchscreen");