It turns out Freescale cleverly made the ocotp device compatible across
several different families of SoCs, so move it to the freescale directory and prefix everything with fsl rather than imx6.
This commit is contained in:
parent
b2b116ed42
commit
2be94cb523
@ -43,9 +43,8 @@ __FBSDID("$FreeBSD$");
|
|||||||
|
|
||||||
#include <machine/bus.h>
|
#include <machine/bus.h>
|
||||||
|
|
||||||
#include <arm/freescale/imx/imx6_ocotpreg.h>
|
#include <arm/freescale/fsl_ocotpreg.h>
|
||||||
#include <arm/freescale/imx/imx6_ocotpvar.h>
|
#include <arm/freescale/fsl_ocotpvar.h>
|
||||||
#include <arm/freescale/imx/imx_machdep.h>
|
|
||||||
|
|
||||||
struct ocotp_softc {
|
struct ocotp_softc {
|
||||||
device_t dev;
|
device_t dev;
|
||||||
@ -112,7 +111,7 @@ ocotp_probe(device_t dev)
|
|||||||
if (!ofw_bus_status_okay(dev))
|
if (!ofw_bus_status_okay(dev))
|
||||||
return (ENXIO);
|
return (ENXIO);
|
||||||
|
|
||||||
if (ofw_bus_is_compatible(dev, "fsl,imx6q-ocotp") == 0)
|
if (ofw_bus_is_compatible(dev, "fsl,fslq-ocotp") == 0)
|
||||||
return (ENXIO);
|
return (ENXIO);
|
||||||
|
|
||||||
device_set_desc(dev,
|
device_set_desc(dev,
|
||||||
@ -122,14 +121,14 @@ ocotp_probe(device_t dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint32_t
|
uint32_t
|
||||||
imx6_ocotp_read_4(bus_size_t off)
|
fsl_ocotp_read_4(bus_size_t off)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (ocotp_sc == NULL)
|
if (ocotp_sc == NULL)
|
||||||
panic("imx6_ocotp_read_4: softc not set!");
|
panic("fsl_ocotp_read_4: softc not set!");
|
||||||
|
|
||||||
if (off > IMX6_OCOTP_LAST_REG)
|
if (off > FSL_OCOTP_LAST_REG)
|
||||||
panic("imx6_ocotp_read_4: offset out of range");
|
panic("fsl_ocotp_read_4: offset out of range");
|
||||||
|
|
||||||
return (RD4(ocotp_sc, off));
|
return (RD4(ocotp_sc, off));
|
||||||
}
|
}
|
81
sys/arm/freescale/fsl_ocotpreg.h
Normal file
81
sys/arm/freescale/fsl_ocotpreg.h
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/*-
|
||||||
|
* Copyright (c) 2014 Steven Lawrance <stl@koffein.net>
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* $FreeBSD$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef FSL_OCOTPREG_H
|
||||||
|
#define FSL_OCOTPREG_H
|
||||||
|
|
||||||
|
#define FSL_OCOTP_CTRL 0x000
|
||||||
|
#define FSL_OCOTP_CTRL_SET 0x004
|
||||||
|
#define FSL_OCOTP_CTRL_CLR 0x008
|
||||||
|
#define FSL_OCOTP_CTRL_TOG 0x00C
|
||||||
|
#define FSL_OCOTP_TIMING 0x010
|
||||||
|
#define FSL_OCOTP_DATA 0x020
|
||||||
|
#define FSL_OCOTP_READ_CTRL 0x030
|
||||||
|
#define FSL_OCOTP_READ_FUSE_DATA 0x040
|
||||||
|
#define FSL_OCOTP_SW_STICKY 0x050
|
||||||
|
#define FSL_OCOTP_SCS 0x060
|
||||||
|
#define FSL_OCOTP_SCS_SET 0x064
|
||||||
|
#define FSL_OCOTP_SCS_CLR 0x068
|
||||||
|
#define FSL_OCOTP_SCS_TOG 0x06C
|
||||||
|
#define FSL_OCOTP_VERSION 0x090
|
||||||
|
#define FSL_OCOTP_LOCK 0x400
|
||||||
|
#define FSL_OCOTP_CFG0 0x410
|
||||||
|
#define FSL_OCOTP_CFG1 0x420
|
||||||
|
#define FSL_OCOTP_CFG2 0x430
|
||||||
|
#define FSL_OCOTP_CFG3 0x440
|
||||||
|
#define FSL_OCOTP_CFG4 0x450
|
||||||
|
#define FSL_OCOTP_CFG5 0x460
|
||||||
|
#define FSL_OCOTP_CFG6 0x470
|
||||||
|
#define FSL_OCOTP_MEM0 0x480
|
||||||
|
#define FSL_OCOTP_MEM1 0x490
|
||||||
|
#define FSL_OCOTP_MEM2 0x4A0
|
||||||
|
#define FSL_OCOTP_MEM3 0x4B0
|
||||||
|
#define FSL_OCOTP_ANA0 0x4D0
|
||||||
|
#define FSL_OCOTP_ANA1 0x4E0
|
||||||
|
#define FSL_OCOTP_ANA2 0x4F0
|
||||||
|
#define FSL_OCOTP_SRK0 0x580
|
||||||
|
#define FSL_OCOTP_SRK1 0x590
|
||||||
|
#define FSL_OCOTP_SRK2 0x5A0
|
||||||
|
#define FSL_OCOTP_SRK3 0x5B0
|
||||||
|
#define FSL_OCOTP_SRK4 0x5C0
|
||||||
|
#define FSL_OCOTP_SRK5 0x5D0
|
||||||
|
#define FSL_OCOTP_SRK6 0x5E0
|
||||||
|
#define FSL_OCOTP_SRK7 0x5F0
|
||||||
|
#define FSL_OCOTP_HSJC_RESP0 0x600
|
||||||
|
#define FSL_OCOTP_HSJC_RESP1 0x610
|
||||||
|
#define FSL_OCOTP_MAC0 0x620
|
||||||
|
#define FSL_OCOTP_MAC1 0x630
|
||||||
|
#define FSL_OCOTP_GP1 0x660
|
||||||
|
#define FSL_OCOTP_GP2 0x670
|
||||||
|
#define FSL_OCOTP_MISC_CONF 0x6D0
|
||||||
|
#define FSL_OCOTP_FIELD_RETURN 0x6E0
|
||||||
|
#define FSL_OCOTP_SRK_REVOKE 0x6F0
|
||||||
|
|
||||||
|
#define FSL_OCOTP_LAST_REG FSL_OCOTP_SRK_REVOKE
|
||||||
|
|
||||||
|
#endif
|
@ -26,9 +26,9 @@
|
|||||||
* $FreeBSD$
|
* $FreeBSD$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef IMX6_OCOTPVAR_H
|
#ifndef FSL_OCOTPVAR_H
|
||||||
#define IMX6_OCOTPVAR_H
|
#define FSL_OCOTPVAR_H
|
||||||
|
|
||||||
uint32_t imx6_ocotp_read_4(bus_size_t _offset);
|
uint32_t fsl_ocotp_read_4(bus_size_t _offset);
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -17,13 +17,12 @@ kern/kern_clocksource.c standard
|
|||||||
arm/arm/gic.c standard
|
arm/arm/gic.c standard
|
||||||
arm/arm/pl310.c standard
|
arm/arm/pl310.c standard
|
||||||
arm/arm/bus_space-v6.c standard
|
arm/arm/bus_space-v6.c standard
|
||||||
|
arm/freescale/fsl_ocotp.c standard
|
||||||
arm/freescale/imx/common.c standard
|
arm/freescale/imx/common.c standard
|
||||||
arm/freescale/imx/imx6_anatop.c standard
|
arm/freescale/imx/imx6_anatop.c standard
|
||||||
arm/freescale/imx/imx6_ccm.c standard
|
arm/freescale/imx/imx6_ccm.c standard
|
||||||
arm/freescale/imx/imx6_machdep.c standard
|
arm/freescale/imx/imx6_machdep.c standard
|
||||||
arm/freescale/imx/imx6_pl310.c standard
|
arm/freescale/imx/imx6_pl310.c standard
|
||||||
arm/freescale/imx/imx6_ocotp.c standard
|
|
||||||
arm/freescale/imx/imx6_tempmon.c standard
|
|
||||||
arm/freescale/imx/imx_machdep.c standard
|
arm/freescale/imx/imx_machdep.c standard
|
||||||
arm/freescale/imx/imx_gpt.c standard
|
arm/freescale/imx/imx_gpt.c standard
|
||||||
|
|
||||||
|
@ -1,81 +0,0 @@
|
|||||||
/*-
|
|
||||||
* Copyright (c) 2014 Steven Lawrance <stl@koffein.net>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
* SUCH DAMAGE.
|
|
||||||
*
|
|
||||||
* $FreeBSD$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef IMX6_OCOTPREG_H
|
|
||||||
#define IMX6_OCOTPREG_H
|
|
||||||
|
|
||||||
#define IMX6_OCOTP_CTRL 0x000
|
|
||||||
#define IMX6_OCOTP_CTRL_SET 0x004
|
|
||||||
#define IMX6_OCOTP_CTRL_CLR 0x008
|
|
||||||
#define IMX6_OCOTP_CTRL_TOG 0x00C
|
|
||||||
#define IMX6_OCOTP_TIMING 0x010
|
|
||||||
#define IMX6_OCOTP_DATA 0x020
|
|
||||||
#define IMX6_OCOTP_READ_CTRL 0x030
|
|
||||||
#define IMX6_OCOTP_READ_FUSE_DATA 0x040
|
|
||||||
#define IMX6_OCOTP_SW_STICKY 0x050
|
|
||||||
#define IMX6_OCOTP_SCS 0x060
|
|
||||||
#define IMX6_OCOTP_SCS_SET 0x064
|
|
||||||
#define IMX6_OCOTP_SCS_CLR 0x068
|
|
||||||
#define IMX6_OCOTP_SCS_TOG 0x06C
|
|
||||||
#define IMX6_OCOTP_VERSION 0x090
|
|
||||||
#define IMX6_OCOTP_LOCK 0x400
|
|
||||||
#define IMX6_OCOTP_CFG0 0x410
|
|
||||||
#define IMX6_OCOTP_CFG1 0x420
|
|
||||||
#define IMX6_OCOTP_CFG2 0x430
|
|
||||||
#define IMX6_OCOTP_CFG3 0x440
|
|
||||||
#define IMX6_OCOTP_CFG4 0x450
|
|
||||||
#define IMX6_OCOTP_CFG5 0x460
|
|
||||||
#define IMX6_OCOTP_CFG6 0x470
|
|
||||||
#define IMX6_OCOTP_MEM0 0x480
|
|
||||||
#define IMX6_OCOTP_MEM1 0x490
|
|
||||||
#define IMX6_OCOTP_MEM2 0x4A0
|
|
||||||
#define IMX6_OCOTP_MEM3 0x4B0
|
|
||||||
#define IMX6_OCOTP_ANA0 0x4D0
|
|
||||||
#define IMX6_OCOTP_ANA1 0x4E0
|
|
||||||
#define IMX6_OCOTP_ANA2 0x4F0
|
|
||||||
#define IMX6_OCOTP_SRK0 0x580
|
|
||||||
#define IMX6_OCOTP_SRK1 0x590
|
|
||||||
#define IMX6_OCOTP_SRK2 0x5A0
|
|
||||||
#define IMX6_OCOTP_SRK3 0x5B0
|
|
||||||
#define IMX6_OCOTP_SRK4 0x5C0
|
|
||||||
#define IMX6_OCOTP_SRK5 0x5D0
|
|
||||||
#define IMX6_OCOTP_SRK6 0x5E0
|
|
||||||
#define IMX6_OCOTP_SRK7 0x5F0
|
|
||||||
#define IMX6_OCOTP_HSJC_RESP0 0x600
|
|
||||||
#define IMX6_OCOTP_HSJC_RESP1 0x610
|
|
||||||
#define IMX6_OCOTP_MAC0 0x620
|
|
||||||
#define IMX6_OCOTP_MAC1 0x630
|
|
||||||
#define IMX6_OCOTP_GP1 0x660
|
|
||||||
#define IMX6_OCOTP_GP2 0x670
|
|
||||||
#define IMX6_OCOTP_MISC_CONF 0x6D0
|
|
||||||
#define IMX6_OCOTP_FIELD_RETURN 0x6E0
|
|
||||||
#define IMX6_OCOTP_SRK_REVOKE 0x6F0
|
|
||||||
|
|
||||||
#define IMX6_OCOTP_LAST_REG IMX6_OCOTP_SRK_REVOKE
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue
Block a user