summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2016-12-30 20:18:50 +0000
committerloos <loos@FreeBSD.org>2016-12-30 20:18:50 +0000
commit61528a9f2e3a38f9daaf1542d9185276ea6ca492 (patch)
tree40270734e4821049e2468114f120da5cd1a0ff3b /sys/arm
parent35ffcf6e171e537d673bb496db2e6d4ba08181ef (diff)
downloadFreeBSD-src-61528a9f2e3a38f9daaf1542d9185276ea6ca492.zip
FreeBSD-src-61528a9f2e3a38f9daaf1542d9185276ea6ca492.tar.gz
MFC of r305112, r305113, r305119, r305141 and r305432:
Replace magic numbers with the proper register names. Fix the build, revert r305119, move the control module register data to am335x_scm.h and fix if_cpsw.c to include the correct header. Sponsored by: Rubicon Communications, LLC (Netgate)
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/ti/am335x/am335x_prcm.c9
-rw-r--r--sys/arm/ti/am335x/am335x_scm.h3
-rw-r--r--sys/arm/ti/cpsw/if_cpsw.c9
3 files changed, 13 insertions, 8 deletions
diff --git a/sys/arm/ti/am335x/am335x_prcm.c b/sys/arm/ti/am335x/am335x_prcm.c
index f72bb54..f793432 100644
--- a/sys/arm/ti/am335x/am335x_prcm.c
+++ b/sys/arm/ti/am335x/am335x_prcm.c
@@ -52,6 +52,8 @@ __FBSDID("$FreeBSD$");
#include <machine/bus.h>
+#include "am335x_scm.h"
+
#define CM_PER 0
#define CM_PER_L4LS_CLKSTCTRL (CM_PER + 0x000)
#define CM_PER_L3S_CLKSTCTRL (CM_PER + 0x004)
@@ -619,10 +621,9 @@ am335x_clk_get_sysclk_freq(struct ti_clock_dev *clkdev, unsigned int *freq)
{
uint32_t ctrl_status;
- /* Read the input clock freq from the control module */
- /* control_status reg (0x40) */
- if (ti_scm_reg_read_4(0x40, &ctrl_status))
- return ENXIO;
+ /* Read the input clock freq from the control module. */
+ if (ti_scm_reg_read_4(SCM_CTRL_STATUS, &ctrl_status))
+ return (ENXIO);
switch ((ctrl_status>>22) & 0x3) {
case 0x0:
diff --git a/sys/arm/ti/am335x/am335x_scm.h b/sys/arm/ti/am335x/am335x_scm.h
index bfb4cd2..4a01f82 100644
--- a/sys/arm/ti/am335x/am335x_scm.h
+++ b/sys/arm/ti/am335x/am335x_scm.h
@@ -29,10 +29,13 @@
#define __AM335X_SCM_H__
/* AM335x-specific registers for control module (scm) */
+#define SCM_CTRL_STATUS 0x40
#define SCM_USB_CTRL0 0x620
#define SCM_USB_STS0 0x624
#define SCM_USB_CTRL1 0x628
#define SCM_USB_STS1 0x62C
+#define SCM_MAC_ID0_LO 0x630
+#define SCM_MAC_ID0_HI 0x634
#define SCM_PWMSS_CTRL 0x664
#endif /* __AM335X_SCM_H__ */
diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c
index 70204c0..27f187c 100644
--- a/sys/arm/ti/cpsw/if_cpsw.c
+++ b/sys/arm/ti/cpsw/if_cpsw.c
@@ -78,6 +78,9 @@ __FBSDID("$FreeBSD$");
#include <sys/rman.h>
#include <machine/resource.h>
+#include <arm/ti/ti_scm.h>
+#include <arm/ti/am335x/am335x_scm.h>
+
#include <dev/mii/mii.h>
#include <dev/mii/miivar.h>
@@ -87,8 +90,6 @@ __FBSDID("$FreeBSD$");
#include "if_cpswreg.h"
#include "if_cpswvar.h"
-
-#include <arm/ti/ti_scm.h>
#include "miibus_if.h"
@@ -1019,14 +1020,14 @@ cpswp_attach(device_t dev)
IFQ_SET_READY(&ifp->if_snd);
/* Get high part of MAC address from control module (mac_id[0|1]_hi) */
- ti_scm_reg_read_4(0x634 + sc->unit * 8, &reg);
+ ti_scm_reg_read_4(SCM_MAC_ID0_HI + sc->unit * 8, &reg);
mac_addr[0] = reg & 0xFF;
mac_addr[1] = (reg >> 8) & 0xFF;
mac_addr[2] = (reg >> 16) & 0xFF;
mac_addr[3] = (reg >> 24) & 0xFF;
/* Get low part of MAC address from control module (mac_id[0|1]_lo) */
- ti_scm_reg_read_4(0x630 + sc->unit * 8, &reg);
+ ti_scm_reg_read_4(SCM_MAC_ID0_LO + sc->unit * 8, &reg);
mac_addr[4] = reg & 0xFF;
mac_addr[5] = (reg >> 8) & 0xFF;
OpenPOWER on IntegriCloud