// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2023 Renesas Electronics Corporation */ #include #include #include #include #include #define RAA215300_REG_COUNT 0x80 static int raa215300_reg_count(struct udevice *dev) { return RAA215300_REG_COUNT; } static struct dm_pmic_ops raa215300_ops = { .reg_count = raa215300_reg_count, .read = dm_i2c_read, .write = dm_i2c_write, }; static const struct udevice_id raa215300_ids[] = { { .compatible = "renesas,raa215300" }, { /* sentinel */ } }; static int raa215300_bind(struct udevice *dev) { if (IS_ENABLED(CONFIG_SYSRESET_RAA215300)) { struct driver *drv = lists_driver_lookup_name("raa215300_sysreset"); if (!drv) return -ENOENT; return device_bind(dev, drv, dev->name, NULL, dev_ofnode(dev), NULL); } return 0; } U_BOOT_DRIVER(raa215300_pmic) = { .name = "raa215300_pmic", .id = UCLASS_PMIC, .of_match = raa215300_ids, .bind = raa215300_bind, .ops = &raa215300_ops, };