Lines Matching +full:otp +full:- +full:1
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
9 * 1. Redistributions of source code must retain the above copyright
48 #define SBPI_ENABLE 1
59 #define OTPC_USER 1
64 #define OTPC_USER_FSM_ENABLE 1
75 {"rockchip,rk3568-otp", 1},
89 while (!(bus_read_4(sc->mem, OTPC_SBPI_INT_STATUS) & status)) { in rk_otp_wait()
91 if (--retry == 0) in rk_otp_wait()
96 bus_write_4(sc->mem, OTPC_SBPI_INT_STATUS, status); in rk_otp_wait()
104 bus_write_4(sc->mem, OTPC_SBPI_CTRL, in rk_otp_ecc()
106 bus_write_4(sc->mem, OTPC_SBPI_CMD_VALID_PRE, in rk_otp_ecc()
108 bus_write_4(sc->mem, OTPC_SBPI_CMD0_OFFSET, in rk_otp_ecc()
111 bus_write_4(sc->mem, OTPC_SBPI_CMD1_OFFSET, SBPI_ECC_ENABLE); in rk_otp_ecc()
113 bus_write_4(sc->mem, OTPC_SBPI_CMD1_OFFSET, SBPI_ECC_DISABLE); in rk_otp_ecc()
114 bus_write_4(sc->mem, OTPC_SBPI_CTRL, SBPI_ENABLE_MASK | SBPI_ENABLE); in rk_otp_ecc()
126 if (!sc->mem) in rk_otp_read()
129 if ((error = rk_otp_ecc(sc, 1))) { in rk_otp_read()
130 device_printf(dev, "timeout waiting for OTP ECC status\n"); in rk_otp_read()
134 bus_write_4(sc->mem, OTPC_USER_CTRL, OTPC_USER | OTPC_USER_MASK); in rk_otp_read()
136 while (size--) { in rk_otp_read()
137 bus_write_4(sc->mem, OTPC_USER_ADDR, in rk_otp_read()
139 bus_write_4(sc->mem, OTPC_USER_ENABLE, in rk_otp_read()
143 device_printf(dev, "timeout waiting for OTP data\n"); in rk_otp_read()
146 *buffer++ = bus_read_4(sc->mem, OTPC_USER_Q); in rk_otp_read()
148 bus_write_4(sc->mem, OTPC_USER_CTRL, OTPC_USER_MASK); in rk_otp_read()
159 if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) in rk_otp_probe()
161 device_set_desc(dev, "RockChip OTP"); in rk_otp_probe()
171 sc->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); in rk_otp_attach()
172 if (!sc->mem) { in rk_otp_attach()