19 """docstring for PC059Shell"""
24 0xd880395e720b: kFMCRev1,
25 0xd880395e501a: kFMCRev1,
26 0xd880395e50b8: kFMCRev1,
27 0xd880395e501b: kFMCRev1,
28 0xd880395e7201: kFMCRev1,
29 0xd880395e4fcc: kFMCRev1,
30 0xd880395e5069: kFMCRev1,
31 0xd880395e7206: kFMCRev1,
32 0xd880395e1c86: kFMCRev2,
33 0xd880395e2630: kFMCRev2,
34 0xd880395e262b: kFMCRev2,
35 0xd880395e2b38: kFMCRev2,
36 0xd880395e1a6a: kFMCRev2,
37 0xd880395e36ae: kFMCRev2,
38 0xd880395e2b2e: kFMCRev2,
39 0xd880395e2b33: kFMCRev2,
40 0xd880395e1c81: kFMCRev2,
44 kFMCRev1:
"SI5344/PDTS0000.txt",
45 kFMCRev2:
"SI5344/PDTS0003.txt",
56 lIO = self.device.getNode(
'io')
57 return lIO.getNode(
'uid_i2c').get_slave(
'AX3_Switch')
62 lIO = self.device.getNode(
'io')
63 return lIO.getNode(
'uid_i2c').get_slave(
'FMC_UID_PROM')
68 lIO = self.device.getNode(
'io')
69 return lIO.getNode(
'pll_i2c')
75 lIO = self.device.getNode(
'io')
80 lIO.getNode(
'csr.ctrl.pll_rst').write(0x1)
81 lIO.getClient().dispatch()
83 lIO.getNode(
'csr.ctrl.pll_rst').write(0x0)
84 lIO.getClient().dispatch()
89 if self.info.carrierType == kCarrierEnclustraA35:
94 def reset(self, soft, forcepllcfg):
96 Perform a hard reset on the timing master, including
101 - pll and pll configuration
109 echo(
'Resetting ' + click.style(self.device.id(), fg=
'blue'))
111 lDevice = self.device
112 lBoardType = self.info.boardType
113 lCarrierType = self.info.carrierType
114 lDesignType = self.info.designType
116 lIO = lDevice.getNode(
'io')
137 raise click.ClickException(
"No revision associated to UID "+hex(lUniqueID))
143 if forcepllcfg
is not None:
144 lFullClockConfigPath = forcepllcfg
145 echo(
"Using PLL Clock configuration file: "+style(basename(lFullClockConfigPath), fg=
'green') )
151 raise ClickException(
"Board revision " << lRevision <<
" has no associated clock configuration")
154 echo(
"PLL Clock configuration file: "+style(lClockConfigPath, fg=
'green') )
157 lFullClockConfigPath = expandvars(join(
'${TIMING_SHARE}/config/etc/clock', lClockConfigPath))
159 lSIChip.configure(lFullClockConfigPath)
160 echo(
"SI354x configuration id: {}".format(style(lSIChip.read_config_id(), fg=
'green')))
164ShellFactory.registerBoard(kBoardSim, FMCShell)
165ShellFactory.registerBoard(kBoardFMC, FMCShell)