diff --git a/utils/osmo-arfcn.c b/utils/osmo-arfcn.c
index b88db5a..2be3958 100644
--- a/utils/osmo-arfcn.c
+++ b/utils/osmo-arfcn.c
@@ -58,6 +58,27 @@
 	return 0;
 }
 
+static int freq2arfcn(int freq10, int uplink)
+{
+	uint16_t arfcn;
+
+	if (uplink != 0 && uplink != 1) {
+		fprintf(stderr, "Need to specify uplink or downlink\n");
+		return -EINVAL;
+	}
+
+	arfcn = gsm_freq102arfcn(freq10, uplink);
+
+	if (arfcn == 0xffff) {
+		fprintf(stderr, "Unable to find matching ARFCN\n");
+		return -EINVAL;
+	}
+
+	printf("%s: ARFCN %4d\n",
+		gsm_band_name(gsm_arfcn2band(arfcn)),
+		arfcn & ~ARFCN_FLAG_MASK);
+}
+
 static void help(const char *progname)
 {
 	printf("Usage: %s [-h] [-p] [-a arfcn] [-f freq] [-u|-d]\n",
@@ -66,7 +87,7 @@
 
 int main(int argc, char **argv)
 {
-	int arfcn, pcs = 0;
+	int arfcn, freq, pcs = 0, uplink = -1;
 	int opt;
 	char *param;
 	enum program_mode mode = MODE_NONE;
@@ -84,6 +105,12 @@
 			mode = MODE_F2A;
 			param = optarg;
 			break;
+		case 'u':
+			uplink = 1;
+			break;
+		case 'd':
+			uplink = 0;
+			break;
 		case 'h':
 			help(argv[0]);
 			exit(0);
@@ -104,6 +131,10 @@
 			arfcn |= ARFCN_PCS;
 		arfcn2freq(arfcn);
 		break;
+	case MODE_F2A:
+		freq = (int)(atof(param) * 10.0f);
+		freq2arfcn(freq, uplink);
+		break;
 	}
 
 	exit(0);
